Lewati ke konten utama

Referensi API

Tujuan

Memilih kontrak API yang tersedia tanpa menganggap Custelio sudah setara Chatwoot atau siap produksi.

Prasyarat

  • Tenant dan akun pengguna telah dibuat.
  • Kredensial API diberikan administrator platform.
  • Akses jaringan ke service API tersedia.

Autentikasi dan batas tenant

  1. Kirim kredensial pada mekanisme autentikasi yang dikonfigurasi deployment.
  2. Sertakan tenant/account context sesuai kontrak aplikasi.
  3. Jangan memakai kredensial tenant lain atau membagikan token ke browser publik.

Authorization harus diuji server-side. Endpoint bisnis tidak boleh dianggap aman hanya karena UI menyembunyikan tombolnya.

Request ID dan idempotensi

Catat request ID dari setiap respons untuk korelasi log dan dukungan. Untuk setiap perubahan data outbound, gunakan idempotency key unik per operasi; retry hanya dengan key sama. Jangan mengirim ulang dengan key baru ketika hasil pertama belum diketahui.

OpenAPI dan parity

Dokumen OpenAPI adalah referensi terbatas, bukan bukti semua endpoint tersedia. Drift yang diketahui meliputi:

  • operasi yang tercantum tetapi belum terhubung ke jalur runtime;
  • status implemented/planned pada artefak yang tidak sama dengan kode;
  • skema atau respons yang belum dibuktikan melalui integrasi provider;
  • API parity Chatwoot (Dashboard, Application, Platform, Client) yang belum lengkap.

Tidak ada klaim parity penuh. Verifikasi endpoint pada deployment dan status fitur sebelum integrasi.

Tanda berhasil

Respons sukses, request ID, dan perubahan resource dapat dikorelasikan di log tenant yang sama.

Jika terjadi masalah

  • 400: perbaiki payload/Content-Type.
  • 401/403: periksa token, tenant, dan role; jangan menonaktifkan kontrol akses.
  • 404: periksa path, tenant, dan status fitur.
  • 409: gunakan state terbaru atau idempotency key yang sama.
  • 429: hormati Retry-After dan backoff.
  • 501: operasi belum tersedia; jangan fallback diam-diam.

Batasan

Delivery WhatsApp, API parity, dan sebagian kemampuan provider masih limited atau configuration-required. Jangan menganggap HTTP 201 sebagai bukti pesan sampai ke pelanggan.

Tugas terkait