Skip to Content
API ReferenceWhatsAppMessage Analytics

Message Analytics

Returns the number of messages sent and delivered by the phone numbers on a WABA, at the granularity you ask for (half-hour, day, or month).

GET /api/v25.0/{WABA_ID}?fields=analytics.start(<unix>).end(<unix>).granularity(<granularity>) Authorization: Bearer pk_live_<your-key>

Customer-scoped alias

GET /api/v1/partner/customers/{customer_id}/whatsapp/analytics/messages?fields=…

Query parameters

Pass them inline as a single fields= blob using the nested-function syntax:

fields=analytics.start(<unix>).end(<unix>).granularity(<HALF_HOUR|DAY|MONTH>) [.phone_numbers([...])] [.product_types([0,2])] [.country_codes([...])]
FieldRequiredNotes
startyesUNIX timestamp — start of window
endyesUNIX timestamp — end of window
granularityyesHALF_HOUR / DAY / MONTH
phone_numbersnoArray of E.164 phone numbers; omit to include all on the WABA
product_typesno0 = notification, 2 = customer-support; omit for both
country_codesnoArray of 2-letter country codes; omit for all

Response — 200

{ "analytics": { "phone_numbers": ["912240289385"], "granularity": "MONTH", "data_points": [ { "start": 1693506600, "end": 1696098600, "sent": 2497742, "delivered": 2395663 }, { "start": 1696098600, "end": 1698777000, "sent": 4366872, "delivered": 4171084 } ] }, "id": "115344761664057" }

Errors

StatusExample
401{ "success": false, "message": "unauthorized" }
403{ "success": false, "message": "id does not belong to your account" }
404{ "success": false, "message": "id not found" }
502{ "success": false, "message": "WhatsApp request failed. Try again shortly." }

cURL

curl -X GET \ "https://api.splashifypro.com/api/v25.0/$WABA_ID?fields=analytics.start(1693506600).end(1706725800).granularity(MONTH)" \ -H "Authorization: Bearer $SPLASHIFY_API_KEY"

Notes

  • The fields= query string is the Meta-side nested syntax — we forward it verbatim.
  • Analytics data is approximate and may differ slightly from invoiced totals due to internal aggregation rounding.