Menarik Data Analitik (Analytics)
API Analitik Kirem memfasilitasi penarikan log historis pengiriman pesan dan status pengantaran webhook secara berkala ke sistem pelaporan internal Anda. API ini sangat berguna untuk melakukan rekonsiliasi data, audit kepatuhan, dan pembuatan dasbor pemantauan kustom.
📬 1. Mengakses Log Historis Pesan
Endpoint ini mengembalikan daftar pesan WhatsApp yang dikirim atau diterima beserta status dan waktunya.
Endpoint:
GET /v1/analytics/messages
Query Parameters (Opsional untuk filter):
status(String): Filter berdasarkan status pesan (sent,delivered,read,failed).direction(String): Arah pesan (inbounduntuk pesan masuk dari pelanggan,outbounduntuk pesan keluar dari Anda).type(String): Jenis pesan (text,image,video,template, dll).recipient(String): Nomor telepon penerima (format internasional, misal:62812345678).limit(Integer - Default:100): Jumlah maksimal log yang dikembalikan.offset(Integer - Default:0): Offset untuk paginasi data.
Contoh cURL Request:
curl -X GET "https://api.kirem.id/v1/analytics/messages?status=failed&limit=10" \
-H "Authorization: Bearer kirem_live_xxx"
Respons Sukses (200 OK):
{
"status": 200,
"message": "Message logs retrieved successfully",
"data": {
"total": 1,
"limit": 10,
"offset": 0,
"logs": [
{
"id": "msg-12345",
"message_id": "wamid.HBgLNjI4MTIzND...",
"project_id": "proj-123",
"channel_id": "chan-123",
"recipient": "62812345678",
"direction": "outbound",
"type": "template",
"status": "failed",
"error_message": "(#131026) Message Undeliverable",
"created_at": "2026-06-26T00:20:00Z"
}
]
}
}
🛜 2. Mengakses Log Pengiriman Webhook
Endpoint ini digunakan untuk memantau status pengiriman webhook dari Kirem ke server tujuan Anda (destination URL), termasuk respons kode status HTTP yang dikembalikan oleh server Anda.
Endpoint:
GET /v1/analytics/webhooks
Query Parameters (Opsional untuk filter):
is_success(Boolean/Integer): Status sukses pengiriman (true/1jika server Anda membalas HTTP2xx,false/0jika gagal/timeout).status_code(Integer): Kode HTTP yang dikembalikan oleh server Anda (misalnya200,500,404).limit(Integer - Default:100): Jumlah maksimal log yang dikembalikan.offset(Integer - Default:0): Offset untuk paginasi data.
Contoh cURL Request:
curl -X GET "https://api.kirem.id/v1/analytics/webhooks?is_success=false&limit=5" \
-H "Authorization: Bearer kirem_live_xxx"
Respons Sukses (200 OK):
{
"status": 200,
"message": "Webhook logs retrieved successfully",
"data": {
"total": 1,
"limit": 5,
"offset": 0,
"logs": [
{
"id": "del-889922",
"project_id": "proj-123",
"url": "https://api.yourdomain.com/webhooks/kirem",
"payload": "{\"event\":\"messages.received\",...}",
"response_headers": "Content-Type: application/json\r\n...",
"response_body": "Internal Server Error",
"status_code": 500,
"duration_ms": 245,
"is_success": false,
"error_log": "HTTP status 500",
"retry_count": 2,
"created_at": "2026-06-26T00:15:30Z"
}
]
}
}