Полный каталог на основе схемы см. в разделе все примеры.
Что это такое
Обработка обновлений участников групп WhatsApp и запросов на вступление.Перед началом работы
- Создайте публичный эндпоинт HTTPS в своем приложении.
- Настройте эндпоинт webhook YCloud для необходимых типов событий.
- Безопасно сохраните секретный ключ для подписи эндпоинта.
- Обеспечьте идемпотентность обработки событий.
Принцип работы
YCloud отправляет HTTP-запросPOST при возникновении события. Проверьте подпись, надежно сохраните событие, верните ответ 2xx и выполняйте длительные операции асинхронно.
Запрос
Ниже приведены сценарии запросов, отправляемых на ваш URL Webhook. Используйте событиеid как идентификатор доставки, а type — для маршрутизации полезной нагрузки.
Ответ
Возвращайте статус2xx после принятия события.
Информацию о настройке эндпоинта, проверке подписи и механизме повторных попыток см. в разделе Настройка webhook.
Участник добавлен
Когда участник добавляется в группу WhatsApp, вы получите webhook со следующей структурой полезной нагрузки:Запрос
Ответ
Подтвердите доставку после надежного сохранения события.Пояснение
Маршрутизируйте событие по полюtype, выполняйте дедупликацию по id и передавайте длительные или подверженные сбоям задачи асинхронному обработчику.
Запрос на вступление создан
Когда пользователь запрашивает вступление в группу WhatsApp, требующую одобрения, вы получите webhook со следующей структурой полезной нагрузки:Запрос
Ответ
Подтвердите доставку после надежного сохранения события.Пояснение
Маршрутизируйте событие по полюtype, выполняйте дедупликацию по id и передавайте длительные или подверженные сбоям задачи асинхронному обработчику.
Ошибка удаления участника
Если удаление одного или нескольких участников завершилось ошибкой или выполнено частично, вы получите webhook со следующей структурой полезной нагрузки:Запрос
Ответ
Подтвердите доставку после надежного сохранения события.Пояснение
- type: всегда
whatsapp.group.participants_updateдля событий участников группы и запросов на вступление - whatsappGroup: содержит подробные сведения об обновлении участников группы или запроса на вступление
- field: всегда
group_participants_update - type: тип события участника, например
group_participants_add,group_participants_remove,group_join_request_createdилиgroup_join_request_revoked - status: нормализованный статус события, например
added,removed,left,requested,revokedилиfailed - groupId: идентификатор группы WhatsApp
- reason: причина события участника или запроса на вступление
- joinRequestId: идентификатор запроса на вступление, указывается для событий запросов на вступление
- initiatedBy: указывает, кто инициировал событие удаления, например
businessилиparticipant - recipientUserId и parentRecipientUserId: идентификаторы пользователя в контексте бизнеса для затронутого участника
- addedParticipants, removedParticipants и failedParticipants: сведения на уровне участников для пакетных обновлений или обновлений с частичным результатом
- field: всегда

