PMP Events

Inbound v2 events post the per message based pricing roll out on 1st July 2025

Billing Event

Key changes for billing event
  1. Removal of conversation_id and conversation_type key
  2. Addition of new key category
  3. Value of model key to change from CBP to PMP
  4. type key inside deductions object to take up new values (refer table below for supported values)
{
	"app": "xxxxxxx23d31f949e98869bc9a1xxxxxx",
	"timestamp": 1739354482884,
	"version": 2,
	"type": "billing-event",
	"payload": 
  {
		"deductions": 
    {
			"type": "regular",
			"model": "PMP",
			"source": "whatsapp",
			"billable": true,
			"category": "marketing"
		},
			"references": 
    {
			"id": "d04cc3a7-18f0-4571-831e-xxxxxxxx",
			"gsId": "7bf06899-5f0f-4cca-be3b-xxxxxxxxxx",
			"destination": "79507xxxxxxxx"
		}
	}
}

KeyDescriptionExample
typebilling-eventbilling-event
category
  • marketing
  • marketing_lite
  • utility
  • authentication
  • authentication_international
  • service
  • referral_conversion
marketing
modelPMPPMP
sourceOrigin source of the conversationgupshup/whatsapp
billableThe value is either true or false depending on whether a conversation is billable or not.false
gsIdUnique Gupshup identifier for a message7bf06899-5f0f-4cca-be3b-xxxxxxxxxx
destinationPhone number of the user engaged in the conversation.79507xxxxxxxx

References - Object Description

KeyDescriptionExample
idUnique WhatsApp identifier for a messaged04cc3a7-18f0-4571-831e-xxxxxxxx
gsIdUnique Gupshup identifier for a message7bf06899-5f0f-4cca-be3b-xxxxxxxxxx
destinationPhone number of the user engaged in the conversation.79507xxxxxxxx

Sent

Key changes for sent event
  • conversation object may not be available depedning on webhook version
    • Addition of new key type inside pricing object
    • Value of policy key to change from CBP to PMP
    • type key inside conversation object to take up new values (refer table below for supported values)
    • category key inside pricing object to take up new values (refer table below for supported values)
{
  "app": "{{xxxxxxx23d31f949e98869bc9a1xxxxxx}}",
  "phone": "{{APP_PHONE}}",
  "timestamp": {{1739354482884}},
  "version": 2,
  "type": "message-event",
  "payload": 
	{
    "id": "{{d04cc3a7-18f0-4571-831e-xxxxxxxx}}",
    "gsId": "{{7bf06899-5f0f-4cca-be3b-xxxxxxxxxx}}",
    "type": "sent",
    "destination": "{{79507xxxxxxxx}}",
    "payload": 
    {
      "ts": {{1739354482}}
    },
    "conversation": 
		{
      "id": "0f957b88cfb1558f6199exxxxxxxx",
      "expiresAt": 1747048500,
      "type": "marketing"
    },
    "pricing": 
		{
      "policy": "PMP",
      "category": "service",
      "type": "regular"
    }
  }
}

The sent event is received when the message is sent to the end-user.

conversation object description. Please note the conversation object is optional, and will be forwarded based on if Meta sends it to us.

KeyDescriptionExample
idUnique ID for a conversation.d04cc3a7-18f0-4571-831e-xxxxxxxx
gsIdUnique Gupshup identifier for a message7bf06899-5f0f-4cca-be3b-xxxxxxxxxx
destinationPhone number of the user engaged in the conversation.79507xxxxxxxx
conversation_idconversation id0f957b88cfb1558f6199exxxxxxxx
expiresAtConversation expiration timestamp in seconds1747048500
typeThe type of conversation. Possible values:
  • marketing
  • marketing_lite
  • utility
  • authentication
  • authentication_international
  • service
  • referral_conversion
Marketing

pricing object description

KeyDescriptionExample
policyThe pricing policy applied for this message. Possible values of policy:
  • CBP
  • PMP
PMP
categoryThe pricing category. Possible values:
  • marketing
  • marketing_lite
  • utility
  • authentication
  • authentication_international
  • service
  • referral_conversion
service

Delivered

📘

No change in delivered event payload


Did this page help you?