Owner External Integration API Docs

Dokumentasi owner external integration — termasuk Kirim Pesan (semua channel), Webhook Events, WA Accounts, WA Templates, AI Agent Settings, Team CRUD, Conversations, Contacts, dan Campaigns.

Postman Files

Gunakan file Postman terbaru untuk owner external integration.

Auth Mode

Semua request menggunakan header Authorization: Bearer <token>.

Authorization: Bearer <api_key | owner_jwt_token>

Gunakan API Key

Untuk endpoint tenant-level yang tidak memerlukan role guard atau identitas user.

Gunakan JWT Owner/Admin/Agent

Untuk AI Agent Settings, Team CRUD, serta action conversation seperti resolve, takeover, release, AI toggle, dan manual re-engagement trigger.

Base URL REST: https://api.talky.id/v1
Environment Variables
base_urlapi_keyowner_jwt_tokenwa_account_idtemplate_iduser_idcontact_idwa_conversation_idthread_idwa_campaign_idapi_key_idwebhook_endpoint_idmessage_id

Auth & API Keys

Login owner/admin dan manajemen API key tenant untuk external integration.

Kirim Pesan

Kirim pesan ke semua channel dengan satu endpoint. Tentukan channel secara eksplisit — mudah dikembangkan saat ada channel baru.

WA Accounts

List akun WhatsApp Official, detail akun, health, onboarding status, dan verification status.

WA Templates

Create draft, create re-engagement draft, update, submit, list, dan sync template WhatsApp Official.

AI Agent Settings

Get/update AI Agent settings, list re-engagement template options, dan toggle AI Agent. Wajib JWT untuk endpoint guarded.

Team CRUD

List, create, update, dan delete user tenant. Wajib JWT owner/admin.

Conversations

WA Official conversation flow untuk owner dan agent, termasuk AI Agent conversation actions.

Contacts

Create, list, lookup, detail, update, dan delete contact tenant.

Campaigns

WA Campaigns untuk owner external integration.

Webhook

Daftarkan endpoint webhook untuk menerima event real-time dari semua channel. Event utama: message.inbound (pesan masuk dari WhatsApp, Messenger, Instagram, Threads, Custom), message.status (status pengiriman). Payload message.inbound: { id, type: "message.inbound", tenant_id, device_id, timestamp, data: { channel: "whatsapp|messenger|instagram|threads|custom", message: { id, from, type, text, media_url, created_at } } }. Catatan: media_url bisa null untuk WhatsApp Device (Baileys) — gunakan GET /media/:message_id untuk mengunduh media on-demand.