clickSomo
Отворете ClickSomo

API

Няма частна крайна точка. Дори за интерфейса.

Повечето продукти имат два API: документирания, който ви предлагат, и интересния, който техните собствени екрани използват. Вторият винаги е по-добър и никога не ви пускат до него. Тук има само един, а интерфейсът е клиент на него като всичко останало — това е ограничение за нас и причината всичко, което искате да изградите, да е възможно.

Какво наистина струва това правило

Означава, че екран понякога трябва да изчака API да стане правилен, вместо да заобиколи него заради едно удобно поле. Денят, в който екран се нуждае от нещо, което публичният API не може да му даде, е денят, в който API е грешен, а поправката е в API.

Печалбата е, че три много различни клиента струват почти нищо допълнително. MCP сървърът е клиент. Плочка в dash-b е клиент. Вашият собствен скрипт е клиент. Нито един от тях не е гражданин втора класа, който заобикаля повърхност, проектирана за някой друг, защото няма друга повърхност, на която да бъде втори.

Документиран и изпробван

OpenAPI се генерира на /docs и всеки маршрут има тест, който е примерът в документацията. Документация, написана отделно от кода, се разминава с реалността в рамките на месец; документация, която чупи build-а, когато е грешна — не.

Вход

Вашият castomo акаунт, чрез authorization code flow с PKCE — същият акаунт, който използвате за dash-b и останалите от семейството. Страница без собствен сървър изпълнява този поток съвсем добре; точно за това е проектиран. За комуникация машина-машина — API ключ, обхванат от проекта.

Повърхносттаapi.clicksomo.com
  • 1Хора/v1/contacts · /lists · /segments · /tags · /imports
  • 2Съдържание/v1/creatives, с валидация, преглед и рендиране за всеки целеви канал
  • 3Автоматизация/v1/funnels · /funnels/:id/versions · /runs · /simulate
  • 4Излъчване/v1/campaigns, с аудитория, материализиране, планиране и изпращане като отделни стъпки
  • 5Входящи събития/v1/events — събитията на вашето собствено приложение, като тригери
  • 6Доставка/sender-identities · /domains · /apps · /webhooks
  • 7Числа/v1/reports/* и /track/* на хоста за проследяване

OpenAPI на /docs/mcp на същия процес

Конвенции

Същата форма като всеки друг castomo сервис

Това има значение повече, отколкото звучи. Ако вече извиквате един от тези сервиси, вече знаете как този отговаря, се проваля и постранира.

Единен конверт за грешки

Всеки провал има една и съща форма, стабилен код и съобщение, предназначено за човек. Нито един маршрут не си измисля собствен начин да е недоволен.

Постраниране с курсор

Не с отмествания. Списък, който се променя, докато го обхождате, не прескача и не повтаря редове тихо — каквото постранирането с отмествания прави постоянно и незабелязано.

Ключове за идемпотентност

На всеки маршрут, който променя данни. Повторете заявка, за която не сте сигурни, че е пристигнала, и ще получите същия отговор, а не втори контакт, втора кампания или второ изпращане.

Обхванати от проект

Токенът адресира един tenant и един проект — и двете. Сигурността на ниво ред се налага от самата база данни, а не от това да не забравите да добавите клауза.

Изходящи уебкукове

Подписани, с повторни опити с нарастваща пауза и доставка поне веднъж — така че и вашата крайна точка трябва да е идемпотентна. Събитията използват същия речник като отчетите.

Изтриване и експортиране

Контакт може да бъде експортиран или изтрит чрез API, а изтриването достига до всяка сестринска услуга, съхранявала копие, през собствения вътрешен канал на семейството.

Всичко, което интерфейсът може да прави, може да прави и един POST.

Събитията са интересната част

Всичко останало на тази страница е инфраструктура, която бихте очаквали. POST /v1/events е маршрутът, който променя за какво служи продуктът.

Вашето приложение вече знае неща, които никой маркетингов инструмент не може да наблюдава: кой е завършил въведението, кой е поканил колега, кой е ударил лимит, кой е експортирал данните си в неделен следобед. Публикувайте ги като събития с вашия токен и всяко едно става тригер, условие и сегмент.

Останалото следва от модела на контакта. Събитията се добавят, никога не се редактират; те са журналът, върху който виси целият продукт. Фуния, задействана от събитие, което Вие сте дефинирали, не е интеграция — това е същият механизъм, който използва message_opened, само с друго име вътре.

Вашето събитие става фунияapi_event
  • 1Вие го публикуватеPOST /v1/events — име, контакт, полезен товар и ключ за идемпотентност.
  • 2То пристигаДобавя се към журнала на контакта. Нищо друго не трябва да знае, че съществува.
  • 3Фуния тръгваВсяка фуния, чието начало назовава това събитие, за всеки контакт, отговарящ на условията по нейния входен критерий.
  • 4Други фунии се разклоняват по него„Случвало ли се е това събитие през последните 14 дни“ е обикновен предикат за сегмент.
  • iИ прекратява изпълненияВъзел-цел, назоваващ същото събитие, спира последователността в момента, в който човекът направи нещото.

Вашата терминологияВашият токен

Граници, които си струва да знаете, преди да започнете да строите

ClickSomo съхранява три идентификатора за Вас — наемател, проект и потребител, като непрозрачни идентификатори — и нищо друго. Няма парола, профил, карта или фактура. Лимитите на плана пристигат като числа: колко контакта, колко изпращания, колко генерации. Платежната терминология не пресича тази граница в нито една посока.

Вашите контакти са Ваши. Вие сте администраторът на данните; ние сме обработващият. Няма маршрут, по който друг продукт от семейството може да чете или записва Вашия списък с контакти, и няма канал за поглъщане, който той да използва.

Ако оценявате това сериозно: прочетете /docs, преди да прочетете още нещо от този сайт. API е честното описание на това, което продуктът прави, и всяко твърдение на тези страници съответства на маршрут или вид възел, които можете да намерите там. Когато схемата се променя, тези страници се променят.