List WhatsApp conversation events
/v1/whatsapp/conversations/{conversation_id}/eventsconst events = await bird.whatsapp.conversations.listEvents("wacv_01krdgeqcxet5s7t44vh8rt9mg");
for (const event of events.data ?? []) {
console.log(event.created_at, event.type, event.summary);
}events = client.whatsapp.conversations.list_events("wacv_01krdgeqcxet5s7t44vh8rt9mg")
for event in events.data or []:
print(event.created_at, event.type, event.summary)for event, err := range client.Whatsapp.Conversations.ListEvents(context.Background(), "wacv_01krdgeqcxet5s7t44vh8rt9mg", bird.WhatsappConversationsListEventsParams{}) {
if err != nil {
log.Fatal(err)
}
fmt.Println(event.CreatedAt, event.Type, event.Summary)
}foreach ($bird->whatsapp->conversations->listEvents('wacv_01krdgeqcxet5s7t44vh8rt9mg') as $event) {
echo $event->getCreatedAt()?->format(DATE_ATOM), ' ', $event->getType(), ' ', $event->getSummary(), PHP_EOL;
}bird whatsapp conversations list-events <conversation-id>curl -X GET "https://us1.platform.bird.com/v1/whatsapp/conversations/{conversation_id}/events" \
-H "Authorization: Bearer $TOKEN" \
--url-query "type=whatsapp_conversation.control_changed" \
--url-query "limit=25"{
"data": [
{
"id": "wace_01krdgeqcxet5s7t44vh8rt9mg",
"type": "whatsapp_conversation.control_changed",
"summary": "Handed to your application by the agent.",
"metadata": {
"from": "meta_business_agent",
"to": "bird",
"initiator": "meta_business_agent",
"reason": "Customer asked for a person"
}
}
],
"next_cursor": "eyJ2IjoxLCJzIjoiXCIyMDI2LTA1LTI1VDE0OjAzOjEwWlwiIiwiaSI6IjAxOTJmM2IxLTRjN2UtN2EyYi05ZDYxLThmM2E1YzJlN2I0MCJ9",
"prev_cursor": null,
"refresh_cursor": "eyJ2IjoxLCJzIjoiXCIyMDI2LTA1LTI1VDE2OjQyOjAxWlwiIiwiaSI6IjAxOTJmM2IxLTllMDQtN2NkMy1iODE3LTJhNmY0ZDFjOGUwOSJ9"
}
Returns the conversation's activity history, newest first:
- A move of control between the Meta Business Agent and your application.
- An assignment, reassignment or unassignment.
- A notification sent to the agent about this contact.
Messages are listed separately, by listing the conversation's messages.
Pass type to keep only events of one type.
Events are retained for 30 days from when they were recorded, so a long-running conversation lists only its recent history. When the conversation's last message passes its own 30-day retention, the conversation is deleted with its remaining events, and this returns 404.
Parameters
conversation_idstringConversation identifier. Starts with wacv_.
Query Parameters
typestringKeep only events of this exact type (for example whatsapp_conversation.control_changed). Omit for every type.
Possible values (may grow over time): whatsapp_conversation.control_changed, whatsapp_conversation.assigned, whatsapp_conversation.agent_notified
limitintegerMaximum number of items to return per page.
starting_afterstringCursor from the next_cursor field of a previous list response. Returns items immediately after the cursor position in the current sort order.
ending_beforestringCursor from the prev_cursor or refresh_cursor field of a previous list response. Returns items immediately before the cursor position in the current sort order. prev_cursor returns the preceding page. refresh_cursor anchors at the first row of that response, which on a newest-first sort is how to fetch the items that have appeared since.
Response Payload
next_cursorCursor for the next page. Pass back as starting_after to advance forward. null when no next page exists.
prev_cursorCursor for the previous page. Pass back as ending_before to step backward. null when no previous page exists.
refresh_cursorRefresh anchor, the first row of this response. Pass back as ending_before to fetch what precedes it in the current sort order. On a newest-first sort those are the items that have appeared since; on any other sort they are the items that sort earlier, so refreshing such a list means re-fetching it instead. Non-null whenever data is non-empty; null only on an empty page. Distinct from prev_cursor.
Related resources
Continue with the documentation, guides and examples for this topic.