API
Tidak ada endpoint privat. Bahkan untuk antarmuka sendiri.
Sebagian besar produk memiliki dua API: yang terdokumentasi dan ditawarkan kepada Anda, dan yang menarik yang digunakan layar mereka sendiri. Yang kedua selalu lebih baik, dan Anda tidak pernah diizinkan mendekatinya. Di sini hanya ada satu, dan antarmuka adalah kliennya seperti halnya apa pun — itu adalah kendala bagi kami, dan alasan mengapa semua yang ingin Anda bangun itu mungkin.
Apa yang sebenarnya dikeluarkan aturan itu
Artinya sebuah layar sesekali harus menunggu API menjadi benar, alih-alih mengakalinnya demi satu field yang praktis. Hari ketika sebuah layar membutuhkan sesuatu yang tidak bisa diberikan API publik adalah hari ketika API-nya salah, dan perbaikannya adalah API-nya.
Imbalannya adalah tiga klien yang sangat berbeda hampir tidak menelan biaya tambahan. Server MCP adalah klien. Tile dash-b adalah klien. Skrip Anda sendiri adalah klien. Tak satu pun dari mereka adalah warga kelas dua yang mengakali permukaan yang dirancang untuk orang lain, karena tidak ada permukaan lain untuk dijadikan tempat kelas dua.
Terdokumentasi, dan diuji
OpenAPI dihasilkan di /docs dan setiap rute memiliki tes yang merupakan contoh dalam dokumentasinya. Dokumentasi yang ditulis terpisah dari kode akan menyimpang dalam sebulan; dokumentasi yang menggagalkan build ketika salah tidak akan.
Masuk
Akun castomo Anda, melalui alur kode otorisasi dengan PKCE — akun yang sama yang Anda gunakan untuk dash-b dan seluruh keluarganya. Halaman tanpa server sendiri menjalankan alur itu dengan sempurna; memang untuk itulah alur itu dirancang. Untuk pekerjaan mesin-ke-mesin, kunci API terbatas per proyek.
- 1Orang
/v1/contacts·/lists·/segments·/tags·/imports - 2Isi
/v1/creatives, dengan validasi, pratinjau, dan render per target - 3Otomatisasi
/v1/funnels·/funnels/:id/versions·/runs·/simulate - 4Siaran
/v1/campaigns, dengan audiens, materialisasi, penjadwalan, dan pengiriman sebagai langkah yang terpisah - 5Peristiwa masuk
/v1/events— peristiwa aplikasi Anda sendiri, sebagai pemicu - 6Pengiriman
/sender-identities·/domains·/apps·/webhooks - 7Angka
/v1/reports/*, dan/track/*di host pelacakan
OpenAPI di /docs/mcp pada proses yang sama
Konvensi
Bentuk yang sama seperti setiap layanan castomo lainnya
Yang lebih penting daripada kelihatannya. Jika Anda sudah memanggil salah satu dari ini, Anda sudah tahu cara yang ini menjawab, gagal, dan mempaginasi.
Satu amplop kesalahan
Setiap kegagalan memiliki bentuk yang sama, kode yang stabil, dan pesan yang ditujukan untuk manusia. Tidak ada rute yang mengarang cara sendiri untuk tidak senang.
Paginasi kursor
Bukan offset. Daftar yang berubah saat Anda menelusurinya tidak diam-diam melewatkan atau mengulang baris, yang secara diam-diam dan terus-menerus dilakukan paginasi offset.
Kunci idempotensi
Pada setiap rute yang mengubah data. Coba ulang permintaan yang Anda tidak yakin sudah sampai, dan dapatkan jawaban yang sama, bukan kontak kedua, kampanye kedua, atau pengiriman kedua.
Terbatas pada satu proyek
Sebuah token mengarah ke satu tenant dan satu proyek, keduanya. Keamanan tingkat baris ditegakkan di dalam basis data itu sendiri, bukan dengan mengingat untuk menambahkan klausa.
Webhook keluar
Ditandatangani, dicoba ulang dengan backoff, dan dikirimkan setidaknya sekali — jadi endpoint Anda juga harus idempoten. Peristiwanya memakai kosakata yang sama dengan yang dipakai laporan.
Penghapusan dan ekspor
Sebuah kontak dapat diekspor atau dihapus melalui API, dan penghapusan menjangkau setiap layanan saudara yang menyimpan salinannya melalui jalur internal keluarga itu sendiri.

Segala hal yang bisa dilakukan antarmuka, bisa dilakukan oleh sebuah POST.
Peristiwa adalah bagian yang menarik
Segala hal lain di halaman ini hanyalah perpipaan yang sudah Anda duga. POST /v1/events adalah rute yang mengubah tujuan produk ini.
Aplikasi Anda sudah mengetahui hal-hal yang tidak bisa diamati oleh alat pemasaran mana pun: siapa yang menyelesaikan onboarding, siapa yang mengundang rekan, siapa yang menabrak batas, siapa yang mengekspor datanya pada Minggu sore. Kirimkan hal itu sebagai peristiwa dengan token Anda sendiri, dan masing-masing menjadi pemicu, kondisi, dan segmen.
Sisanya mengikuti dari model kontak. Peristiwa ditambahkan, tidak pernah diedit; itulah log tempat seluruh produk ini bergantung. Corong yang terpicu oleh peristiwa yang Anda definisikan bukanlah sebuah integrasi — itu adalah mekanisme yang sama yang dipakai message_opened, hanya dengan nama berbeda di dalamnya.
- 1Anda mengirimkannya
POST /v1/events— sebuah nama, sebuah kontak, sebuah payload, sebuah kunci idempotensi. - 2Peristiwa itu masukDitambahkan ke log kontak tersebut. Tak ada yang lain perlu mengetahui keberadaannya.
- 3Sebuah corong dimulaiSetiap corong yang entriannya menyebut peristiwa itu, untuk setiap kontak yang memenuhi syarat menurut spesifikasi entrinya.
- 4Corong lain bercabang berdasarkannya"Apakah peristiwa ini terjadi dalam 14 hari terakhir" adalah predikat segmen biasa.
- iDan peristiwa itu mengakhiri runSebuah node tujuan yang menyebut peristiwa yang sama menghentikan sebuah sekuens begitu orang tersebut melakukan hal itu.
Kosakata AndaToken Anda
Batasan yang perlu diketahui sebelum Anda membangun
ClickSomo menyimpan tiga pengenal tentang Anda — sebuah tenant, sebuah proyek, dan sebuah pengguna, sebagai id buram — dan tidak ada yang lain. Tanpa kata sandi, tanpa profil, tanpa kartu, tanpa faktur. Batas paket datang sebagai angka: berapa banyak kontak, berapa banyak pengiriman, berapa banyak generasi. Kosakata pembayaran tidak melintasi garis itu ke arah mana pun.
Kontak Anda adalah milik Anda. Anda adalah pengendali data; kami adalah pemrosesnya. Tidak ada rute di mana produk lain dalam keluarga ini dapat membaca atau menulis daftar kontak Anda, dan tidak ada jalur masuk untuk mereka gunakan.
Jika Anda mengevaluasi ini dengan serius: baca /docs sebelum membaca bagian lain dari situs web ini. API adalah deskripsi jujur tentang apa yang dilakukan produk ini, dan setiap klaim di halaman-halaman ini dipetakan ke sebuah rute atau jenis node yang dapat Anda temukan di sana. Ketika skema berubah, halaman-halaman ini berubah.