API WhatsApp Gateway
Integrasikan pengiriman WhatsApp, template message, webhook, dan callback pembayaran lewat REST API Wasolusi.
Gunakan API Key
Buat API key dari dashboard member. Kirim key lewat salah satu header berikut:
Authorization: Bearer YOUR_API_KEY # atau X-API-Key: YOUR_API_KEY Content-Type: application/json
Key disimpan hashed SHA-256.
Permission per endpoint.
Opsional batasi IP integrasi.
Endpoint Reference
/api/v1/messages/send
messages.send
Kirim pesan teks WhatsApp via queue.
/api/v1/messages/send-template
messages.send-template
Kirim pesan template dengan variables.
/api/v1/payments/callback/{provider}
-
Callback pembayaran provider.
/api/v1/webhooks/baileys
internal
Receiver internal bridge Baileys.
/api/v1/messages/send
Mengantrekan pesan teks WhatsApp. Response 202 berarti pesan masuk queue, bukan jaminan sudah terkirim.
curl -X POST https://www.wasolusi.net/api/v1/messages/send \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"to": "628123456789",
"message": "Halo dari Wasolusi",
"device_id": null,
"meta": {
"source": "crm",
"external_id": "ORD-001"
}
}'
| Field | Required | Type | Note |
|---|---|---|---|
| to | Ya | string | Nomor tujuan, contoh 628123456789. |
| message | Ya | string | Isi pesan teks, maksimal 4096 karakter. |
| device_id | Tidak | integer/null | Pilih device tertentu jika diperlukan. |
| meta | Tidak | object | Metadata integrasi/tracking. |
Send Template
curl -X POST https://www.wasolusi.net/api/v1/messages/send-template \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"to": "628123456789",
"template_name": "order_update",
"device_id": null,
"variables": {
"name": "Fandy",
"order_id": "INV-001"
}
}'
Success Response
HTTP 202
{
"success": true,
"message_id": "uuid",
"status": "queued"
}
Cek dashboard Message Log untuk melihat status final: queued, sent, delivered, read, atau failed.
Incoming Message Payload
Incoming message dari bridge dicatat oleh sistem, memicu autoresponder/plugin, dan dapat diteruskan ke webhook URL yang dikonfigurasi user/device.
{
"event": "messages.upsert",
"session_id": "session_xxx",
"messages": [
{
"key": {
"remoteJid": "628123456789@s.whatsapp.net",
"fromMe": false,
"id": "MESSAGE_ID"
},
"pushName": "Customer",
"message": {
"conversation": "Halo"
}
}
]
}
Error Response
401 {"message":"API key required"}
401 {"message":"Invalid API key"}
401 {"message":"API key revoked"}
403 {"message":"API key not allowed from this IP"}
403 {"message":"API key does not have permission: messages.send"}
422 Validation error payload
429 Too Many Requests