PMP Events
Inbound v2 events post the per message based pricing roll out on 1st July 2025
Billing Event
Key changes for billing event
- Removal of conversation_id and conversation_type key
- Addition of new key category
- Value of model key to change from CBP to PMP
- 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"
}
}
}
Key | Description | Example |
---|---|---|
type | billing-event | billing-event |
category |
| marketing |
model | PMP | PMP |
source | Origin source of the conversation | gupshup/whatsapp |
billable | The value is either | false |
gsId | Unique Gupshup identifier for a message | 7bf06899-5f0f-4cca-be3b-xxxxxxxxxx |
destination | Phone number of the user engaged in the conversation. | 79507xxxxxxxx |
References - Object Description
Key | Description | Example |
---|---|---|
id | Unique WhatsApp identifier for a message | d04cc3a7-18f0-4571-831e-xxxxxxxx |
gsId | Unique Gupshup identifier for a message | 7bf06899-5f0f-4cca-be3b-xxxxxxxxxx |
destination | Phone 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.
Key | Description | Example |
---|---|---|
id | Unique ID for a conversation. | d04cc3a7-18f0-4571-831e-xxxxxxxx |
gsId | Unique Gupshup identifier for a message | 7bf06899-5f0f-4cca-be3b-xxxxxxxxxx |
destination | Phone number of the user engaged in the conversation. | 79507xxxxxxxx |
conversation_id | conversation id | 0f957b88cfb1558f6199exxxxxxxx |
expiresAt | Conversation expiration timestamp in seconds | 1747048500 |
type | The type of conversation. Possible values:
| Marketing |
pricing object description
Key | Description | Example |
---|---|---|
policy | The pricing policy applied for this message. Possible values of policy:
| PMP |
category | The pricing category. Possible values:
| service |
Delivered
No change in delivered event payload
Updated about 2 months ago