For the complete documentation index, see llms.txt. This page is also available as Markdown.

Group Webhook events

This section covers event callbacks related to Group. To receive notifications of group metadata changes, enable the following fields in your WebHook subscription (each corresponds to the event types in the subsections below):group_lifecycle_update(group creation / deletion);group_participants_update(group member changes: join via invite link / request to join / cancel request / join request approved / removed / leave voluntarily);group_settings_update(group settings: topic / description / profile picture update);group_status_update(group suspended / suspension cleared). The events in this section all use the InnoPaas public envelope (id、type、eventTime、body) and the 5 InnoPaas event types in this section:whatsapp_group_lifecycle_update、whatsapp_group_participants_update、whatsapp_group_settings_update、whatsapp_group_status_update、whatsapp_group_message_status_updated。

The public fields below apply to all events in this section (consistent with the common parameters above; only fields unique to group events or easily confused are listed here):

Field

Data type

Required

Description

group_id

String

Yes

Group ID, the group_id returned by the Groups API

type

String

Yes

Sub-event type, see each subsection

timestamp

String

Yes

Event trigger time, UTC format yyyy-MM-dd'T'HH:mm:ss.SSS'Z'

request_id

String

No

Request ID, used for troubleshooting and correlating API calls

Group lifecycle (whatsapp_group_lifecycle_update)

This event is triggered when a group is created or deleted:whatsapp_group_lifecycle_update, corresponding subscription field group_lifecycle_update。type The fields distinguish sub-events:group_create(success / failure),group_delete(success / failure).

Field

Data type

Required

Description

group_id

String

Yes

Group ID

type

String

Yes

Sub-event type, possible values:group_create、group_delete

subject

String

No

Group topic;returned when type=group_createis returned;returned when type=group_createTopic used on failure

invite_link

String

No

Group invite link,returned when type=group_createand returned on success

join_approval_mode

String

No

Group join approval mode:auto_approve(no approval required) /approval_required(approval required),returned when type=group_createand returned on success

request_id

String

No

Request ID

timestamp

String

Yes

Event trigger time

errors

Array

No

Error array returned on failure (structure same as the errors in the upstream message)

group_create success: Response example

group_create failed: Response example

group_delete failed: Response example

group_delete succeeded JSON payload example: data to be added (the successful create/delete payloads are missing key fields for verification; they will be completed after alignment with upstream; see above for the successful create payload).

Group participant changes (whatsapp_group_participants_update)

This event is triggered when group members undergo the following changes:whatsapp_group_participants_update, corresponding subscription field group_participants_updateCommon sub-events: users join the group via invite link (reason=invite_link); users submit a join request (reason=join_request,group_request_type=group_join_request_created); users revoke a join request (group_request_type=group_join_request_revoked); one or more join requests approved (reason=invite_link,type=group_participants_add,added_participants[]); remove group members:type=group_participants_remove, may partially succeed / fully succeed / fully fail; group members leave voluntarily:initiated_by and removed_participants[].wa_id point to the departing member.

Field

Data type

Required

Description

group_id

String

Yes

Group ID

type

String

Yes

Sub-event type, possible values:group_participants_add、group_participants_removeetc.

reason

String

No

Trigger reason, for exampleinvite_link(join via invite link / join request approved)

group_request_type

String

No

Join request type:group_join_request_created(requested),group_join_request_revoked(revoked)

added_participants

Array

No

List of added members, each item{"input": "phone_or_id", "wa_id": "WHATSAPP_USER_ID"}

removed_participants

Array

No

List of removed members, each item{"input": "phone_or_id", "wa_id": "WHATSAPP_USER_ID"}; when leaving voluntarilyinitiated_byand thewa_idboth point to the departing member

initiated_by

String

No

WhatsApp user ID that initiated this change (removal / leave scenario)

request_id

String

No

Request ID

timestamp

String

Yes

Event trigger time

errors

Array

No

Error array returned on failure

Join request approved (bulk multiple members): Response example

JSON payload example for other sub-events (users joining via invite link, join/cancel request, member removal success / partial failure / failure, member leaving voluntarily): data to be added (type The values and field order follow the mirrored source documentation; the complete JSON will be added after alignment with upstream; the trigger conditions and field definitions are based on the table above).

Group settings update (whatsapp_group_settings_update)

This event is triggered when group settings (topic / description / profile picture) are updated:whatsapp_group_settings_update, corresponding subscription field group_settings_update。update_successful This field indicates whether this update was successful; on failure it is accompanied by the errors array. The overall update may succeed / partially fail / completely fail.

Field

Data type

Required

Description

group_id

String

Yes

Group ID

type

String

Yes

Fixed value:group_settings_update

profile_picture

Object

No

Profile picture update result:mime_type(e.g. image/jpeg),sha256(returned on success),update_successful(Boolean),errors(returned only on failure)

group_subject

Object

No

Topic update result:text、update_successful(Boolean),errors(returned only on failure)

group_description

Object

No

Description update result:text、update_successful(Boolean),errors(returned only on failure)

request_id

String

No

Request ID

timestamp

String

Yes

Event trigger time

errors

Array

No

Top-level error array returned when the update overall fails / partially fails

All successful: Response example

Partial failure: Response example

Complete failure: Response example

Group status changes (whatsapp_group_status_update)

This event is triggered when a group you manage is suspended or unsuspended:whatsapp_group_status_update, corresponding subscription field group_status_update。type The fields distinguish sub-events:group_suspend(suspended),group_suspend_cleared(suspension cleared).

Field

Data type

Required

Description

group_id

String

Yes

Group ID

type

String

Yes

Sub-event type, possible values:group_suspend、group_suspend_cleared

timestamp

String

Yes

Event trigger time

group_suspend: Response example

group_suspend_cleared: Response example

Group message status (whatsapp_group_message_status_updated)

When sending a group message, this event is triggered according to the message lifecycle (sent / send failed / delivered / read):whatsapp_group_message_status_updated, corresponding to whatsapp_message_status_updated under the event recipient_type=group subset. This event is also used foraggregationreceipts: receipts of the same message and same status type within a close time window are merged; each receipt only relates tosingle message + single group + single status type. Billing categories are group_marketing / group_utility / group_service,PRICING_MODEL is PMP,IS_BILLABLE indicates whether it is billable.

Note: inbound receipts for receiving group user messages still go through whatsapp_mo_message_received, only in message object does it additionally carry the group_id field, and from points to the sending participant.

Field

Data type

Required

Description

id

String

Yes

Message Id

accountName

String

Yes

API account

wabaId

String

Yes

Waba Id

wamid

String

Yes

Group message ID

status

String

Yes

Sending status:sent、failed、delivered、read

recipient_id

String

Yes

Group ID (distinguished from one-to-one receiptssendPhone)

recipient_type

String

Yes

Fixed value:group

recipient_participant_id

String

No

The WhatsApp number of the group member corresponding to a single receipt (when aggregated, the same receipt may include multiple members; see the note in the field table for recipient_participant_ids)

conversation

JSON

No

Conversation info, present when status=delivered; includesid、initiateType、expireAt

errorData

JSON

No

Error info, present when status=failed; includeserrorCode、errorMessage

billable

Boolean

Yes

Whether billable: true / false

category

String

Yes

Group message type:group_marketing、group_utility、group_service

price

String

Yes

Unit price, keep 5 decimal places

currency

String

Yes

Currency

pricing_model

String

No

Fixed value:PMP

is_billable

Boolean

No

Whether billable (synonymous withbillableand the naming follows the upstream field)

conversation_category

String

No

Billing category (withcategoryand the naming follows the upstream field)

uid

String

No

customer batch number

sent: Response example

failed: Response example

JSON payload example for aggregated delivered / read receipts for group messages: data to be added (statuses[] array, billing category group_marketing / group_utility / group_service、PRICING_MODEL=PMP、IS_BILLABLE etc. The field arrangement follows the mirrored source documentation; the aggregation rules for multiple participants for one message or multiple messages for one participant are described in the table; the complete JSON will be added after alignment with upstream).

Receiving group user message (inbound): Response example

Receiving unsupported group message (inbound): Response example

最后更新于