API-ja
Nuk ka endpoint privat. As për ndërfaqen.
Shumica e produkteve kanë dy API: atë të dokumentuar që ju ofrohet, dhe atë interesantin që përdorin ekranet e tyre. I dyti është gjithmonë më i mirë, dhe ju nuk lejoheni kurrë pranë tij. Këtu ka vetëm një, dhe ndërfaqja është një klient i tij si çdo gjë tjetër — që është një kufizim për ne, dhe arsyeja pse gjithçka që dëshironi të ndërtoni është e mundur.
Çfarë kushton në të vërtetë kjo rregull
Do të thotë që një ekran ndonjëherë duhet të presë që API-ja të bëhet e saktë, në vend që ta anashkalojë për një fushë të përshtatshme. Dita kur një ekran ka nevojë për diçka që API-ja publike nuk mund t'i japë është dita kur API-ja është e gabuar, dhe zgjidhja është API-ja.
Përfitimi është që tre klientë shumë të ndryshëm kushtojnë gati asgjë shtesë. Serveri MCP është një klient. Një pllakë dash-b është një klient. Skripti juaj është një klient. Asnjëri nuk është qytetar i dorës së dytë që anashkalon një sipërfaqe të dizajnuar për dikë tjetër, sepse nuk ka sipërfaqe tjetër para së cilës të jesh i dyti.
I dokumentuar, dhe i ushtruar
OpenAPI gjenerohet te /docs dhe çdo rrugë ka një test që është shembulli në dokumentacion. Dokumentacioni që shkruhet veçmas nga kodi devijon brenda një muaji; dokumentacioni që e dështon ndërtimin kur është i gabuar, jo.
Hyrja
Llogaria juaj castomo, përmes rrjedhës së kodit të autorizimit me PKCE — e njëjta llogari që përdorni për dash-b dhe pjesën tjetër të familjes. Një faqe pa server të vetin e kryen atë rrjedhë shumë mirë; pikërisht për këtë ishte dizajnuar rrjedha. Për punë makinë-me-makinë, një çelës API i kufizuar në projekt.
- 1Personat
/v1/contacts·/lists·/segments·/tags·/imports - 2Përmbajtja
/v1/creatives, me validim, parapamje dhe render për çdo objektiv - 3Automatizim
/v1/funnels·/funnels/:id/versions·/runs·/simulate - 4Transmetim
/v1/campaigns, me audiencë, materializim, planifikim dhe dërgim si hapa të veçantë - 5Ngjarjet hyrëse
/v1/events— ngjarjet e aplikacionit tuaj, si shkaktarë - 6Dërgesa
/sender-identities·/domains·/apps·/webhooks - 7Numrat
/v1/reports/*, dhe/track/*te hosti i ndjekjes
OpenAPI te /docs/mcp në të njëjtin proces
Konventat
E njëjta formë si çdo shërbim tjetër castomo
Çka ka më rëndësi sesa tingëllon. Nëse tashmë thirrni një nga këto, tashmë e dini si përgjigjet, dështon dhe faqoset ky.
Një zarf i vetëm gabimesh
Çdo dështim ka të njëjtën formë, një kod të qëndrueshëm dhe një mesazh të menduar për një person. Asnjë rrugë nuk shpik mënyrën e vet të pakënaqësisë.
Faqosje me kursor
Jo me ofsete. Një listë që ndryshon ndërsa e ecni nuk anashkalon apo përsërit rreshta në heshtje, gjë që faqosja me ofset e bën në heshtje dhe vazhdimisht.
Çelësa idempotencie
Në çdo rrugë që ndryshon gjendjen. Provoni përsëri një kërkesë për të cilën nuk jeni të sigurt nëse ka arritur dhe merrni të njëjtin përgjigje, jo një kontakt të dytë, një fushatë të dytë ose një dërgesë të dytë.
E kufizuar në një projekt
Një token i drejtohet një qiraje dhe një projekti njëkohësisht. Siguria në nivel rreshti zbatohet vetë në bazën e të dhënave, jo duke mbajtur mend të shtoni një kusht.
Webhooks dalëse
Të nënshkruara, të riprovuara me backoff dhe të dorëzuara të paktën një herë — ndaj edhe pika juaj e fundit duhet të jetë idempotente. Ngjarjet përdorin të njëjtin fjalor si raportet.
Fshirja dhe eksportimi
Një kontakt mund të eksportohet ose fshihet përmes API-së, dhe një fshirje arrin në çdo shërbim vëlla që mban një kopje, përmes kanalit të brendshëm të familjes.

Çdo gjë që mund të bëjë ndërfaqja, mund ta bëjë një POST.
Ngjarjet janë pjesa interesante
Çdo gjë tjetër në këtë faqe është infrastrukturë që do ta prisnit. POST /v1/events është rruga që ndryshon qëllimin e produktit.
Aplikacioni juaj tashmë di gjëra që asnjë mjet marketingu nuk mund t'i vërejë: kush përfundoi mirëseardhjen, kush ftoi një koleg, kush goditi një kufi, kush eksportoi të dhënat e veta një të dielë pasdite. Publikojini ato si ngjarje me tokenin tuaj, dhe secila bëhet një trigger, një kusht dhe një segment.
Pjesa tjetër rrjedh nga modeli i kontaktit. Ngjarjet shtohen, kurrë nuk redaktohen; ato janë regjistri mbi të cilin mbështetet i gjithë produkti. Një funnel që aktivizohet nga një ngjarje që ju keni përcaktuar nuk është një integrim — është i njëjti mekanizëm që përdor message_opened, me një emër tjetër brenda.
- 1Ju e publikoni
POST /v1/events— një emër, një kontakt, një payload, një çelës idempotencie. - 2Ajo mbërrinShtohet në regjistrin e kontaktit. Askush tjetër nuk ka nevojë ta dijë se ekziston.
- 3Nis një funnelÇdo funnel hyrja e të cilit përmend atë ngjarje, për çdo kontakt të përshtatshëm sipas specifikës së hyrjes së tij.
- 4Funnele të tjera degëzohen mbi të"A ka ndodhur kjo ngjarje në 14 ditët e fundit" është një predikat i zakonshëm segmenti.
- iDhe i ndalon ekzekutimetNjë nyje qëllimi që përmend të njëjtën ngjarje ndalon një sekuencë në momentin që personi e bën atë gjë.
Fjalori juajTokeni juaj
Kufij që ia vlen t'i dini para se të ndërtoni
ClickSomo ruan tre identifikues për ju — një qiraje, një projekt dhe një përdorues, si id të errëta — dhe asgjë tjetër. Asnjë fjalëkalim, asnjë profil, asnjë kartë, asnjë faturë. Kufijtë e planit arrijnë si numra: sa kontakte, sa dërgesa, sa gjenerime. Fjalori i pagesave nuk kalon atë kufi në asnjë drejtim.
Kontaktet tuaja janë tuajat. Ju jeni kontrolluesi i të dhënave; ne jemi përpunuesi. Nuk ekziston asnjë rrugë me të cilën një produkt tjetër i familjes mund të lexojë ose shkruajë listën tuaj të kontakteve, dhe asnjë kanal marrjeje për t'u përdorur.
Nëse e vlerësoni këtë seriozisht: lexoni /docs përpara se të lexoni më shumë nga kjo faqe. API-ja është përshkrimi i sinqertë i asaj që bën produkti, dhe çdo pretendim në këto faqe i korrespondon një rruge ose një lloji nyjeje që mund t'i gjeni aty. Kur skema ndryshon, këto faqe ndryshojnë.