Перейти к основному содержанию
POST
Используйте этот справочник для проверки полезных нагрузок вебхуков, которые YCloud отправляет в ваше приложение. Выберите именованный пример в конструкторе запросов, чтобы просмотреть его поля. Для событий изменения качества номера телефона и удаления аккаунта выберите следующие примеры: Для обновлений качества проверяйте qualityRating и qualityUpdateEvent, если они присутствуют. Не путайте messagingLimit для номера телефона с whatsappBusinessManagerMessagingLimit, который описывает общий лимит владеющего бизнес-портфолио. Значения из примеров не являются значениями по умолчанию для вашего аккаунта. Для событий удаления аккаунта идентифицируйте аккаунт с помощью whatsappBusinessAccount.id. Поля удаления не являются обязательными. Сохраняйте неизвестные значения removedReason и removedInitiatedBy. Поле removedTime фиксирует время получения события удаления, а не точное время удаления аккаунта. В справочнике используется https://example.com в качестве зарезервированного заполнителя. Для собственных тестов замените его на Webhook URL вашего приложения в сгенерированном запросе. Эту конечную точку хостит ваше приложение; YCloud не хостит /webhooks/ycloud.
Отправка тестовой полезной нагрузки проверяет ваш получатель. Она не запускает доставку Webhook из YCloud. Пример YCloud-Signature является демонстрационным значением; он не является валидной подписью для измененной полезной нагрузки или секрета вашей конечной точки.
Проверяйте заголовок YCloud-Signature перед обработкой события. Ознакомьтесь с разделом Настройка вебхуков для получения инструкций по настройке и доставке.

Ответ получателя

Возвращайте любой статус 2xx после успешной аутентификации и надежного принятия события. Обрабатывайте ресурсоемкие задачи асинхронно, чтобы YCloud не повторял доставку того, что ваше приложение уже получило.

Настройка вебхуков

Создавайте конечную точку, проверяйте подписи и обрабатывайте повторные попытки.

Просмотр аннотированных примеров

Узнайте о триггерах событий и обработке конкретных сценариев.

Заголовки

YCloud-Signature
string
Пример:

"t=1654084800,s=8eb70f2acb056c2119acbee8fdd98a889021d9c268bc9ad248a4182c40e31119"

Тело

application/json

Represents a webhook event payload. Every event contains certain common properties: id, type, apiVersion, createTime. Each event may also contain some properties unique to the event. For example, sms is returned when type is sms.message.updated.

type
enum<string>
обязательно

Type of event.

Доступные опции:
whatsapp.echo_message.created,
whatsapp.echo_message.updated
whatsappMessage
object
обязательно

Included when type is whatsapp.message.updated, whatsapp.smb.message.created, or when type is whatsapp.smb.history for an outbound history message. Also included for whatsapp.echo_message.created and whatsapp.echo_message.updated, where the Agent echo subset applies. It is omitted for a metadata-only history chunk.

id
string
обязательно

Unique ID for the event.

Required string length: 6 - 128
apiVersion
string
обязательно

The API version used to render this event.

Пример:

"v2"

createTime
string<date-time>
обязательно

The time at which this event was created, formatted in RFC 3339. e.g., 2022-06-01T12:00:00.000Z.

Пример:

"2022-06-01T12:00:00.000Z"

phase
integer<int32>

Included when type is whatsapp.smb.history and the event was generated from a Meta history chunk. Identifies the chunk's synchronization phase.

Пример:

1

progress
integer<int32>

Included when type is whatsapp.smb.history and the event was generated from a Meta history chunk. Reports the chunk's synchronization progress.

Пример:

73

contactAttributesChanged
object

Included when type is contact.attributes_changed.

contactCreated
object

Included when type is contact.created.

contactDeleted
object

Included when type is contact.deleted.

contactNote
object

Included when type is contact.note.created, contact.note.updated, or contact.note.deleted.

contactUnsubscribeCreated
object

Included when type is contact.unsubscribe.created.

contactUnsubscribeDeleted
object

Included when type is contact.unsubscribe.deleted.

emailDelivery
object

Included when type is email.delivery.updated.

sms
object

Included when type is sms.message.updated.

smsInbound
object

Included when type is sms.inbound.received.

voice
object

Included when type is voice.message.updated.

whatsappBusinessAccount
object

Included when type is whatsapp.business_account.deleted, whatsapp.business_account.reviewed, or whatsapp.business_account.updated.

whatsappInboundMessage
object

Included when type is whatsapp.inbound_message.received, or when type is whatsapp.smb.history for an inbound history message. It is omitted for a metadata-only history chunk.

whatsappMetaBusinessAgent
object

Included for whatsapp.meta_business_agent.handover.updated. Currently limited to Public REST API Agents.

whatsappGroup
object

Included when type is whatsapp.group.lifecycle_update, whatsapp.group.participants_update, whatsapp.group.settings_update, whatsapp.group.status_update, or when type is whatsapp.message.updated for group message status updates.

whatsappPhoneNumber
object

Included when type is whatsapp.phone_number.deleted, whatsapp.phone_number.name_updated, whatsapp.phone_number.quality_updated, or whatsapp.phone_number.business_username_updated.

whatsappPayment
object

Included when type is whatsapp.payment.updated.

whatsappTemplate
object

Included when type is whatsapp.template.reviewed, whatsapp.template.quality_updated, whatsapp.template.category_updated, or whatsapp.template.correct_category_detection.

callingConnect
object

Included when type is whatsapp.call.connect.

callingTerminate
object

Included when type is whatsapp.call.terminate.

callingStatusUpdated
object

Included when type is whatsapp.call.status.updated.

callingRecording
object

Included when type is whatsapp.call.recording.updated.

callingTranscription
object

Included when type is whatsapp.call.transcription.updated.

flowChanges
object

Included when type is whatsapp.flow.status_change.

whatsappUserPreference
object

Included when type is whatsapp.user.preferences.

messengerInboundMessage
object

Included when type is messenger.inbound_message.received or messenger.inbound_message.updated. Editing keeps the same message IDs and original times; event createTime is the edit time for updated events.

messengerMessage
object

Included when type is messenger.message.updated.

messengerMessageReaction
object

Included when type is messenger.message_reaction.updated. Event createTime is the source interaction time.

Ответ

200

The request is successfully accepted.