> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ycloud.com/llms.txt
> Use this file to discover all available pages before exploring further.

# whatsapp.template.reviewed

> Происходит, когда шаблон WhatsApp получает обновление статуса рассмотрения или жизненного цикла, включая одобрение, отклонение, приостановку, отключение, архивацию и разархивацию.

Используйте `whatsapp.template.reviewed` для обработки этого события на вашей конечной точке Webhook.

## Триггеры

Происходит, когда шаблон WhatsApp получает обновление статуса рассмотрения или жизненного цикла, включая одобрение, отклонение, приостановку, отключение, архивацию и разархивацию.

Подпишитесь на `whatsapp.template.reviewed`, когда будете [настраивать конечную точку Webhook](https://docs.ycloud.com/ru/api-reference/guides/api-fundamentals/configure-webhooks.md).

Используйте `wabaId`, `name` и `language` для идентификации шаблона. `statusUpdateEvent` описывает изменение, вызвавшее событие; `status` описывает текущее состояние. Например, `UNARCHIVED` может передавать `status: APPROVED` без повторного процесса одобрения.

## Синтаксис

YCloud отправляет HTTP-запрос `POST` на ваш настроенный URL Webhook. Ниже показан один из вариантов структуры полезной нагрузки. Значения в угловых скобках являются заполнителями; их типы перечислены в разделе **Параметры**. Необязательные поля и другие варианты описаны ниже.

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "id": "<ID>",
  "type": "whatsapp.template.reviewed",
  "apiVersion": "<API_VERSION>",
  "createTime": "<CREATE_TIME>",
  "whatsappTemplate": {
    "officialTemplateId": "<OFFICIAL_TEMPLATE_ID>",
    "wabaId": "<WABA_ID>",
    "name": "<NAME>",
    "language": "<LANGUAGE>",
    "category": "<CATEGORY>",
    "status": "<STATUS>",
    "statusUpdateEvent": "<STATUS_UPDATE_EVENT>",
    "createTime": "<CREATE_TIME>",
    "updateTime": "<UPDATE_TIME>"
  }
}
```

## Параметры

Проверяйте HTTP-заголовок `YCloud-Signature` перед обработкой тела JSON. См. раздел [проверка подписи](https://docs.ycloud.com/ru/api-reference/guides/api-fundamentals/configure-webhooks.md).

### Оболочка события

| Параметр | Тип | Обязательный | Описание |
| - | - | - | - |
| `id` | string | Да | Уникальный идентификатор события. Минимальная длина: `6`. Максимальная длина: `128`. |
| `type` | string | Да | Всегда `whatsapp.template.reviewed`. |
| `apiVersion` | string | Да | Версия API, используемая для формирования этого события. |
| `createTime` | string (date-time) | Да | Время создания события в формате [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339), например `2022-06-01T12:00:00.000Z`. |

### Полезная нагрузка события

| Параметр | Тип | Обязательный | Описание |
| - | - | - | - |
| `whatsappTemplate` | object | Нет | Полезная нагрузка конкретного события `whatsappTemplate`. |

Четыре общих поля оболочки являются обязательными. Поля полезной нагрузки зависят от варианта события. В каждой таблице объекта атрибут **Обязательный** применяется при наличии родительского объекта. Необязательные поля могут быть опущены; пример не делает поле обязательным.

#### whatsappTemplate

| Параметр | Тип | Обязательный | Описание |
| - | - | - | - |
| `officialTemplateId` | string | Нет | Официальный идентификатор шаблона, присвоенный WhatsApp. Используется для идентификации шаблона в системе WhatsApp. |
| `wabaId` | string | Да | Идентификатор WhatsApp Business Account. |
| `name` | string | Да | Название шаблона.Максимальная длина: `512`. Шаблон: `[a-z0-9]{1,512}`. |
| `language` | string | Да | Код языка шаблона. Все коды см. в разделе [Поддерживаемые языки](https://developers.facebook.com/documentation/business-messaging/whatsapp/templates/supported-languages). |
| `category` | string | Нет | Категория шаблонов WhatsApp.<ul><li>`AUTHENTICATION`: Позволяет компаниям аутентифицировать пользователей с помощью одноразовых паролей, возможно, на нескольких этапах процесса входа (например, подтверждение учетной записи, восстановление учетной записи, проверки безопасности).</li><li>`MARKETING`: Включает промоакции или предложения, информационные обновления или приглашения для клиентов ответить / совершить действие. Любая переписка, которая не относится к служебной или аутентификационной, является маркетинговой.</li><li>`UTILITY`: Обеспечивает выполнение конкретного согласованного запроса или транзакции, либо информирование клиента о текущей транзакции, включая уведомления после покупки и регулярные выписки по счетам.</li></ul> |
| `status` | string | Нет | Статус шаблона WhatsApp.<ul><li>`PENDING`: Шаблон все еще находится на проверке. Проверка может занять до 24 часов.</li><li>`REJECTED`: Шаблон был отклонен в процессе проверки.</li><li>`APPROVED`: Шаблон одобрен, и вы можете начать отправлять его клиентам.</li><li>`PAUSED`: Шаблон был приостановлен из-за повторяющихся негативных отзывов от клиентов. Шаблоны сообщений с этим статусом нельзя отправлять клиентам. См. [Приостановка шаблонов](https://developers.facebook.com/docs/whatsapp/message-templates/guidelines#template-pausing).</li><li>`DISABLED`: Шаблон был отключен из-за повторяющихся негативных отзывов от клиентов или из-за нарушения одной или нескольких наших политик. Шаблоны сообщений с этим статусом нельзя отправлять клиентам. Вы можете отредактировать отключенный шаблон сообщения и подать апелляцию. См. [Апелляции](https://developers.facebook.com/docs/whatsapp/message-templates/guidelines#appeals).</li><li>`ARCHIVED`: Шаблон был архивирован. Архивированные шаблоны нельзя отправлять или редактировать.</li><li>`IN_APPEAL`: Шаблон находится на рассмотрении апелляции. См. также [Апелляции по шаблонам](https://developers.facebook.com/docs/whatsapp/message-templates/guidelines#appeals).</li><li>`DELETED`: Шаблон удален.</li></ul> |
| `reason` | string | Нет | Причина отклонения шаблона. |
| `createTime` | string (date-time) | Нет | Время создания объекта в формате [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339), например, `2022-06-01T12:00:00.000Z`. |
| `updateTime` | string (date-time) | Нет | Время обновления объекта в формате [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339), например, `2022-06-01T12:00:00.000Z`. |
| `statusUpdateEvent` | string | Нет | Событие изменения статуса шаблона WhatsApp, вызвавшее этот Webhook. Для `ARCHIVED` параметр шаблона `status` принимает значение `ARCHIVED`. Для `UNARCHIVED` параметр шаблона `status` представляет собой текущий статус, возвращенный Meta, например `APPROVED`; это не означает новую проверку и одобрение.Значения: `PENDING`, `APPROVED`, `REJECTED`, `IN_APPEAL`, `PAUSED`, `FLAGGED`, `DISABLED`, `ARCHIVED`, `UNARCHIVED`, `REINSTATED`, `PENDING_DELETION`. |
| `disableDate` | string | Нет | Дата отключения шаблона. Это поле задается при получении события шаблона WhatsApp `FLAGGED`. |
| `whatsappApiError` | object | Нет | Исходный объект ошибки, возвращенный WhatsApp. См. [Обработка ошибок](https://developers.facebook.com/docs/graph-api/guides/error-handling), [Коды ошибок Cloud API](https://developers.facebook.com/docs/whatsapp/cloud-api/support/error-codes). |

> [accordion] whatsappTemplate.whatsappApiError
>
> | Параметр | Тип | Обязательный | Описание |
> | - | - | - | - |
> | `message` | string | Да | Понятное человеку описание ошибки. |
> | `code` | string | Да | Код ошибки. |
> | `type` | string | Нет | Тип ошибки. |
> | `error_subcode` | string | Нет | Дополнительный код ошибки. |
> | `error_user_msg` | string | Нет | Сообщение для отображения пользователю. Язык сообщения определяется локалью запроса к API. |
> | `error_user_title` | string | Нет | Заголовок диалогового окна, если оно отображается. Язык сообщения определяется локалью запроса к API. |
> | `fbtrace_id` | string | Нет | Внутренний идентификатор службы поддержки. При сообщении об ошибке, связанной с вызовом Graph API, укажите fbtrace\_id, чтобы помочь нам найти данные логов для отладки. |
> | `error_data` | string or object | Нет | Дополнительные данные об ошибке. Строка или объект (map).<ul><li>Для API шаблонов это поле представляет собой строку с описанием причины ошибки.</li><li>Для API сообщений это поле представляет собой объект (map) со свойством `details`, описывающим причину ошибки.</li></ul> |

## Пример

Ниже представлен JSON тела запроса, отправляемого вашему обработчику. Идентификаторы, номера телефонов и другие значения аккаунта приведены в качестве примера.

> [accordion] Событие архивации шаблона WhatsApp
>
> Пример полезной нагрузки при архивации шаблона WhatsApp
>
> ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
> {
>   "id": "evt_template_archived_123",
>   "type": "whatsapp.template.reviewed",
>   "apiVersion": "v2",
>   "createTime": "2024-01-01T12:00:00.000Z",
>   "whatsappTemplate": {
>     "officialTemplateId": "official-template-id",
>     "wabaId": "whatsapp-business-account-id",
>     "name": "sample_whatsapp_template",
>     "language": "en",
>     "category": "MARKETING",
>     "status": "ARCHIVED",
>     "statusUpdateEvent": "ARCHIVED",
>     "createTime": "2024-01-01T12:00:00.000Z",
>     "updateTime": "2024-01-01T12:00:00.000Z"
>   }
> }
> ```

> [accordion] Событие разархивации шаблона WhatsApp
>
> Пример полезной нагрузки при разархивации шаблона WhatsApp. Статус шаблона отражает текущий статус, возвращенный Meta, и не означает проведение новой проверки одобрения.
>
> ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
> {
>   "id": "evt_template_unarchived_123",
>   "type": "whatsapp.template.reviewed",
>   "apiVersion": "v2",
>   "createTime": "2024-01-01T12:00:00.000Z",
>   "whatsappTemplate": {
>     "officialTemplateId": "official-template-id",
>     "wabaId": "whatsapp-business-account-id",
>     "name": "sample_whatsapp_template",
>     "language": "en",
>     "category": "MARKETING",
>     "status": "APPROVED",
>     "statusUpdateEvent": "UNARCHIVED",
>     "createTime": "2024-01-01T12:00:00.000Z",
>     "updateTime": "2024-01-01T12:00:00.000Z"
>   }
> }
> ```

> [accordion] Шаблон одобрен
>
> ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
> {
>   "id": "evt_eEMtA0PkkyACiS5o",
>   "type": "whatsapp.template.reviewed",
>   "apiVersion": "v2",
>   "createTime": "2023-02-20T12:00:00.000Z",
>   "whatsappTemplate": {
>     "wabaId": "WABA-ID",
>     "name": "template_name",
>     "language": "en",
>     "category": "MARKETING",
>     "status": "APPROVED",
>     "reason": "NONE",
>     "statusUpdateEvent": "APPROVED"
>   }
> }
> ```

> [accordion] Шаблон отклонен
>
> ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
> {
>   "id": "evt_eEMtA0PkkyACiS5o",
>   "type": "whatsapp.template.reviewed",
>   "apiVersion": "v2",
>   "createTime": "2023-02-20T12:00:00.000Z",
>   "whatsappTemplate": {
>     "wabaId": "WABA-ID",
>     "name": "template_name",
>     "language": "en",
>     "category": "MARKETING",
>     "status": "REJECTED",
>     "reason": "SCAM",
>     "statusUpdateEvent": "REJECTED"
>   }
> }
> ```

> [accordion] Шаблон приостановлен
>
> ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
> {
>   "id": "evt_eEMtA0PkkyACiS5o",
>   "type": "whatsapp.template.reviewed",
>   "apiVersion": "v2",
>   "createTime": "2023-02-20T12:00:00.000Z",
>   "whatsappTemplate": {
>     "wabaId": "WABA-ID",
>     "name": "template_name",
>     "language": "en",
>     "category": "MARKETING",
>     "status": "PAUSED",
>     "reason": "NONE",
>     "statusUpdateEvent": "PAUSED"
>   }
> }
> ```

> [accordion] Шаблон помечен
>
> ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
> {
>   "id": "evt_eEMtA0PkkyACiS5o",
>   "type": "whatsapp.template.reviewed",
>   "apiVersion": "v2",
>   "createTime": "2023-02-20T12:00:00.000Z",
>   "whatsappTemplate": {
>     "wabaId": "WABA-ID",
>     "name": "template_name",
>     "language": "en",
>     "category": "MARKETING",
>     "status": "APPROVED",
>     "reason": "Your WhatsApp message template has been paused for 3 hours until Feb 23 at 5:28 AM UTC because it had issues.",
>     "statusUpdateEvent": "FLAGGED",
>     "disableDate": "February 28, 2023"
>   }
> }
> ```

> [accordion] Шаблон отключен
>
> ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
> {
>   "id": "evt_eEMtA0PkkyACiS5o",
>   "type": "whatsapp.template.reviewed",
>   "apiVersion": "v2",
>   "createTime": "2023-02-20T12:00:00.000Z",
>   "whatsappTemplate": {
>     "wabaId": "WABA-ID",
>     "name": "template_name",
>     "language": "en",
>     "category": "MARKETING",
>     "status": "DISABLED",
>     "reason": "NONE",
>     "statusUpdateEvent": "DISABLED"
>   }
> }
> ```

> [accordion] Шаблон ожидает удаления
>
> ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
> {
>   "id": "evt_eEMtA0PkkyACiS5o",
>   "type": "whatsapp.template.reviewed",
>   "apiVersion": "v2",
>   "createTime": "2023-02-20T12:00:00.000Z",
>   "whatsappTemplate": {
>     "wabaId": "WABA-ID",
>     "name": "template_name",
>     "language": "en",
>     "category": "MARKETING",
>     "status": "DELETED",
>     "reason": "NONE",
>     "statusUpdateEvent": "PENDING_DELETION"
>   }
> }
> ```

> [accordion] Шаблон архивирован
>
> ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
> {
>   "id": "evt_eEMtA0PkkyACiS5o",
>   "type": "whatsapp.template.reviewed",
>   "apiVersion": "v2",
>   "createTime": "2024-01-01T12:00:00.000Z",
>   "whatsappTemplate": {
>     "wabaId": "WABA-ID",
>     "name": "template_name",
>     "language": "en",
>     "category": "MARKETING",
>     "status": "ARCHIVED",
>     "reason": "NONE",
>     "statusUpdateEvent": "ARCHIVED"
>   }
> }
> ```

> [accordion] Шаблон разархивирован
>
> ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
> {
>   "id": "evt_eEMtA0PkkyACiS5o",
>   "type": "whatsapp.template.reviewed",
>   "apiVersion": "v2",
>   "createTime": "2024-01-01T12:00:00.000Z",
>   "whatsappTemplate": {
>     "wabaId": "WABA-ID",
>     "name": "template_name",
>     "language": "en",
>     "category": "MARKETING",
>     "status": "APPROVED",
>     "reason": "NONE",
>     "statusUpdateEvent": "UNARCHIVED"
>   }
> }
> ```

После проверки подписи и надежного сохранения события верните ответ `2xx`. Длительные операции выполняйте асинхронно.

```http theme={"theme":{"light":"github-light","dark":"github-dark"}}
HTTP/1.1 200 OK
```

Пошаговые сценарии см. в [примерах с пояснениями](https://docs.ycloud.com/ru/api-reference/guides/examples/webhook-examples/whatsapp-template-reviewed-webhook-examples).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.