clickSomo
Отворете ClickSomo

API-то

Нема приватна крајна точка. Дури ни за интерфејсот.

Повеќето производи имаат две API: документираното што ви го нудат, и интересното што го користат нивните сопствени екрани. Второто е секогаш подобро, и никогаш не ви се дозволува до него. Тука има само едно, а интерфејсот е негов клиент како било што друго — што е ограничување за нас, и причината сè што сакате да изградите да е можно.

Што всушност чини тоа правило

Значи екран понекогаш мора да чека API-то да биде точно, наместо да заобиколи заради едно погодно поле. Денот кога екранот ќе има потреба од нешто што јавното API не може да го даде е денот кога API-то е погрешно, и поправката е самото API.

Добивката е дека три сосема различни клиенти не чинат речиси ништо дополнително. MCP-серверот е клиент. Плочка во dash-b е клиент. Вашиот сопствен скрипт е клиент. Ниту еден не е граѓанин од втор ред што заобиколува површина дизајнирана за некој друг, бидејќи нема друга површина на која би бил втор.

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

OpenAPI се генерира на /docs и секоја рута има тест што е примерот во документацијата. Документација напишана одделно од кодот отстапува во рок од месец; документација што го расипува build-от кога е погрешна — не.

Најавување

Вашиот castomo сметка, преку authorization code тек со 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 и еден проект, двете. Безбедноста на ниво на редови се спроведува во самата база, не со потсетување да се додаде клаузула.

Webhooks надвор

Потпишани, повторувани со backoff, и доставувани најмалку еднаш — па вашиот endpoint треба да е идемпотентен. Настаните го користат истиот речник како извештаите.

Бришење и извезување

Контакт може да се извезе или избрише преку API, а бришењето стигнува до секоја сестринска услуга што имала копија, преку сопствениот внатрешен канал на семејството.

Сè што интерфејсот може да направи, еден POST може да направи.

Настани се интересниот дел

Сè друго на оваа страница е инфраструктура што ја очекувате. POST /v1/events е рутата што го менува тоа за што служи производот.

Вашата апликација веќе знае работи што ниеден маркетинг алат не може да ги набљудува: кој го заврши запознавањето, кој покани колега, кој удри во лимит, кој ги извезе своите податоци во недела попладне. Објавете ги како настани со вашиот токен, и секој од нив станува тригер, услов и сегмент.

Останатото следи од моделот на контакт. Настаните се додаваат, никогаш не се уредуваат; тие се логорот на кој целиот производ се потпира. Инфункција што се активира на настан што вие го дефинирате не е интеграција — тоа е истиот механизам што го користи message_opened, само со друго име во него.

Вашиот настан станува инфункцијаapi_event
  • 1Вие го објавуватеPOST /v1/events — име, контакт, товар и клуч за идемпотентност.
  • 2СтигаСе додава во логорот на контактот. Ништо друго не треба да знае дека постои.
  • 3Инфункција започнуваСекоја инфункција чиј влез го именува тој настан, за секој контакт подобен според нејзината спецификација за влез.
  • 4Други инфункции се разгрануваат на него„Дали овој настан се случил во последните 14 дена“ е обичен предикат за сегмент.
  • иИ ги завршува тековитеЈазол-цел што го именува истиот настан го запира низата во моментот кога лицето го прави тоа.

Вашиот речникВашиот токен

Граници што вреди да ги знаете пред да градите

ClickSomo чува три идентификатори за вас — станар (tenant), проект и корисник, како непроѕирни id-иња — и ништо друго. Ниту лозинка, ниту профил, ниту картичка, ниту фактура. Лимитите на планот пристигнуваат како бројки: колку контакти, колку испраќања, колку генерации. Плаќањето не ја преминува таа линија во ниеден правец.

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

Ако ова го оценувате сериозно: прочитајте /docs пред да прочитате било што друго на оваа веб-страница. API е честниот опис на тоа што производот прави, и секоја тврдење на овие страници се поврзува со рути или вид на јазол што можете да ги најдете таму. Кога шемата се менува, овие страници се менуваат.