Dokumentasi REST API & Webhooks
Standar integrasi resmi WhatsApp Business API untuk backend Laravel, NodeJS, sistem ERP, e-commerce, dan portal billing enterprise.
Simpan seluruh API Token di environment variable backend (.env).
Dilarang keras menaruh token API di client-side code (frontend JavaScript / aplikasi mobile publik) untuk mencegah kebocoran kredensial.
1. Base URL & Protokol Komunikasi
Seluruh panggilan API ke Texa Flow wajib menggunakan protokol aman HTTPS.
2. Otentikasi Bearer Token (Sanctum)
Setiap permintaan API wajib menyertakan header Authorization: Bearer YOUR_API_TOKEN dan header Content-Type: application/json.
3. Kirim Pesan Notifikasi Teks WhatsApp
Mengirimkan pesan teks instan resmi ke nomor WhatsApp pelanggan. Otomatis membuat atau menghubungkan sesi obrolan di Inbox CRM.
{
"phone": "6281234567890",
"message": "Halo Budi, pembayaran invoice #INV-20261016 sebesar Rp 150.000 telah kami terima. Terima kasih!"
}
{
"success": true,
"status": 200,
"message": "Pesan WhatsApp berhasil dikirim.",
"data": {
"message_id": "wamid.HBgLMTYyODEyMzQ1Njc4OTA...",
"conversation_id": 142,
"customer_id": 89,
"phone": "6281234567890",
"type": "text",
"status": "sent",
"created_at": "2026-10-16T00:50:00Z"
}
}
4. Kirim Template OTP & Transaksi Meta Resmi
Pesan template Meta resmi berstatus APPROVED dapat dikirim kapan pun (termasuk di luar jendela layanan 24 jam) untuk kode OTP, verifikasi akun, atau resi otomatis.
{
"phone": "6281234567890",
"template": "otp_verification",
"language": "id",
"parameters": [
{ "type": "text", "text": "892104" }
]
}
5. Kirim Dokumen PDF / Resi Pembayaran
Kirimkan tautan faktur invoice resmi PDF atau resi transfer langsung ke ruang chat WhatsApp pelanggan.
{
"phone": "6281234567890",
"document_url": "https://bisnisanda.com/invoices/INV-9021.pdf",
"caption": "Berikut faktur invoice resmi pesanan Anda."
}
6. Single Sign-On (SSO) One-Click Login Enterprise
Integrasikan fitur bypass login langsung dari aplikasi mitra ke dashboard Texa Flow menggunakan token SSO berdurasi maksimal 10 detik demi standar keamanan perbankan (anti-replay attack).
A. Response Token SSO dari Endpoint Login Partner
{
"status": 200,
"message": "Login successfully",
"token_sso": "sso_a1b2c3d4e5f67890abcdef...",
"sso_url": "https://flow.texamanagement.com/api/sso?token=sso_a1b2c3d4e5f67890abcdef...",
"expires_in": 10
}
B. Redirect Browser Pengguna ke URL SSO
* Token diverifikasi sekali pakai (*single-use*) lalu otomatis dimusnahkan dari Redis/Cache server untuk mencegah pembajakan sesi.
7. Webhook Callback Meta Cloud API Resmi
Texa Flow memproses webhook resmi Meta secara real-time untuk pembaruan status pesan pelanggan (sent → delivered → read).
Seluruh payload webhook diverifikasi menggunakan tanda tangan kriptografi X-Hub-Signature-256 Meta.
8. Contoh Kode Pemanggilan API (Laravel & cURL)
use Illuminate\Support\Facades\Http; // Panggil API dari Laravel Controller / Service $response = Http::withToken(config('services.texaflow.key')) ->timeout(10) ->post('https://flow.texamanagement.com/api/v1/messages/send', [ 'phone' => '6281234567890', 'message' => 'Pesanan #INV-9021 Anda telah diproses.', ]); if ($response->successful()) { // Pesan sukses dikirim via Meta Cloud API $data = $response->json(); }
curl -X POST "https://flow.texamanagement.com/api/v1/messages/send" \
-H "Authorization: Bearer tf_live_token_xxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"phone": "6281234567890",
"message": "Halo, ini notifikasi otomatis dari backend sistem."
}'
9. Standar Status Code & Penanganan Error
Texa Flow menggunakan konvensi kode status HTTP standar untuk menandakan keberhasilan atau kegagalan request.
| Status Code | Arti / Keterangan | Solusi Penanganan |
|---|---|---|
| 200 OK | Pesan WhatsApp berhasil dikirim dan diterima oleh gateway Meta. | - |
| 400 Bad Request | Format body JSON tidak valid atau parameter tidak sesuai skema. | Periksa sintaks JSON dan parameter wajib. |
| 401 Unauthorized | API Token tidak valid, kedaluwarsa, atau header Authorization kosong. | Sertakan Bearer token aktif yang valid. |
| 403 Forbidden | Paket SaaS tenant nonaktif atau masa aktif langganan habis. | Perpanjang paket layanan di menu Billing. |
| 422 Unprocessable | Nomor WA tujuan salah format atau template belum di-approve Meta. | Gunakan format internasional (628...) dan template APPROVED. |
| 429 Rate Limited | Melebihi batas kuota request per detik yang ditentukan. | Terapkan jeda (sleep / queue) antar pengiriman. |