Skip to main content
For the exhaustive schema-derived catalog, see all examples.

What it is

Understand WhatsApp template review webhook events and payloads.

Before you begin

  • Create a public HTTPS endpoint in your application.
  • Configure a YCloud webhook endpoint for the event types you need.
  • Store the endpoint signing secret securely.
  • Make event processing idempotent.

How it works

YCloud sends an HTTP POST request when the event occurs. Verify the signature, durably record the event, return a 2xx response, and process slow work asynchronously.

Request

The scenarios below show requests delivered to your webhook URL. Treat the event id as the delivery identifier and use type to route the payload.

Response

Return a 2xx status after accepting the event.
For endpoint setup, signature validation, and retry behavior, see Configure webhooks.

Template Approved

In this case, your webhook endpoint received a template APPROVED event:
  • The template statusUpdateEvent is APPROVED.
  • The template status is now APPROVED.

Request

Response

Acknowledge the delivery after durably accepting the event.

Explanation

  • Use wabaId, name, and language to identify the template in your system.
  • The statusUpdateEvent describes what happened on this template status, while the status is the current status of the template. They are not always the same.
  • This event occurs when a template is approved by Meta. The template can be the one you created or edited before. This also happens when a paused template changes to approved automatically.
  • Once a template is approved, you can use it to send template messages.

Template Rejected

In this case, your webhook endpoint received a template REJECTED event:
  • The template statusUpdateEvent is REJECTED.
  • The template status is now REJECTED.

Request

Response

Acknowledge the delivery after durably accepting the event.

Explanation

  • This event occurs when a template is rejected. The template can be the one you created or edited before.
  • Once a template is rejected, you cannot use it to send template messages. You can edit this template to start a new review.

Template Paused

In this case, your webhook endpoint received a template PAUSED event:
  • The template statusUpdateEvent is PAUSED.
  • The template status is now PAUSED.
  • The reason why the template is paused.

Request

Response

Acknowledge the delivery after durably accepting the event.

Explanation

  • This event occurs when a template is paused. You cannot use it to send messages.
  • Pausing durations are as follows:
    • 1st Instance: Paused for 3 hours
    • 2nd Instance: Paused for 6 hours
    • 3rd Instance: Disabled
  • A APPROVED event occurs when a paused template changes to normal status.
  • See also Template Pausing.

Template Flagged

In this case, your webhook endpoint received a template FLAGGED event:
  • The template statusUpdateEvent is FLAGGED.
  • The template status is now APPROVED.
  • Contains the date when the template will be disabled.

Request

Response

Acknowledge the delivery after durably accepting the event.

Explanation

  • The statusUpdateEvent describes what happened on this template status, while the status is the current status of the template. They are not always the same.

Template Disabled

In this case, your webhook endpoint received a template DISABLED event:
  • The template statusUpdateEvent is DISABLED.
  • The template status is now DISABLED.

Request

Response

Acknowledge the delivery after durably accepting the event.

Explanation

  • A template status changes to DISABLED at its 3rd pausing.
  • See also Template Pausing.

Template Pending Deletion

In this case, your webhook endpoint received a template PENDING_DELETION event:
  • The template statusUpdateEvent is PENDING_DELETION.
  • The template status is now DELETED.

Request

Response

Acknowledge the delivery after durably accepting the event.

Explanation

  • Occurs when you delete a template.
  • The message template is being deleted. Remember that the name of this template can’t be used again for 30 days. You’ll need to use a different name to create new message templates.

Template Archived

In this case, your webhook endpoint received a template ARCHIVED event:
  • The template statusUpdateEvent is ARCHIVED.
  • The template status is now ARCHIVED.

Request

Response

Acknowledge the delivery after durably accepting the event.

Explanation

  • This event occurs when a template is archived.
  • Archived templates cannot be sent or edited.

Template Unarchived

In this case, your webhook endpoint received a template UNARCHIVED event:
  • The template statusUpdateEvent is UNARCHIVED.
  • The template status is the current status returned by Meta, for example APPROVED.

Request

Response

Acknowledge the delivery after durably accepting the event.

Explanation

  • This event occurs when a template is unarchived.
  • The status may be APPROVED, but this event does not mean the template was newly approved by Meta.
  • Use statusUpdateEvent to distinguish UNARCHIVED from a real APPROVED review event.