Справочник по веб-перехватчикам истории | Документация для разработчиков
история веб-перехватчика ссылка
Обновлено: 12 декабря 2025 г
истории бизнес-аккаунта WhatsApp .Веб истории используется для синхронизации истории чатов в приложении WhatsApp Business для бизнес-клиентов, подключенных поставщиком решений.
Триггеры
Разрешается делиться историей чата
Содержимое истории чата
Если корпоративный клиент уже одобрил обмен историей чатов, когда поставщик решения запрашивает историю чатов компании, будет запущена серия веб-хуков истории, описывающих все сообщения, отправленные или полученные в течение 180 дней с момента подключения компании к Cloud API.
Обратите внимание, что в целях повышения эффективности один веб-хук может содержать тысячи сообщений, поэтому мы рекомендуем сначала получить его содержимое, а затем обработать его асинхронно.
Фазы и блоки
Веб-хуки делятся на три этапа истории, где нулевой день обозначает момент подключения компании к Cloud API:
На каждом этапе веб-хуки истории чата могут отправляться отдельными блоками, в зависимости от общего количества сообщений, составляющих цепочку.
chunk_order для упорядочивания этих фрагментов в последовательном порядке, поскольку они могут доставляться не последовательно. фазы можно использовать для отслеживания хода выполнения фазы. Значение 2 указывает на завершение текущей фазы. можно использовать progress . Значение 100 означает, что синхронизация завершена.Если для данного этапа отсутствует история чата, соответствующие веб-хуки отправляться не будут.
Синтаксис
{
"object": "whatsapp_business_account",
"entry": [
{
"id": "
< CUSTOMER_WABA_ID > ", "changes": [
{
"value": {
"messaging_product": "whatsapp",
"metadata": {
"display_phone_number": "
< CUSTOMER_DISPLAY_PHONE_NUMBER > ", "phone_number_id": "
< CUSTOMER_PHONE_NUMBER_ID > " },
"history": [
{
"metadata": {
"phase":
< PHASE > , "chunk_order":
< CHUNK_ORDER > , "progress":
< PROGRESS > },
"threads": [
/* Объект первой ветки истории чата
*/ {
"id": "
< WHATSAPP_USER_PHONE_NUMBER > ", "messages": [
/* Объект первого сообщения в
ветке */ {
"from": "
< BUSINESS_OR_WHATSAPP_USER_PHONE_NUMBER > ", "to": "
< WHATSAPP_USER_PHONE_NUMBER > ", // включается только если сообщение SMB "id": "
< WHATSAPP_MESSAGE_ID > ", "timestamp": "
< DEVICE_TIMESTAMP > ", "type": "
< MESSAGE_TYPE > ", "
< MESSAGE_TYPE > ": { <
MESSAGE_CONTENTS > },
"history_context": {
"status": "
< MESSAGE_STATUS > " }
},
/* Дополнительные объекты сообщений
в потоке будут добавлены, если таковые имеются */ ]
},
/* Дополнительные объекты истории чата в потоке
будут добавлены, если таковые имеются */ ]
}
]
},
"field": "history"
}
]
}
]
}
Параметры
| Заполнитель | Описание | Пример значения |
|---|---|---|
<BUSINESS_OR_WHATSAPP_USER_PHONE_NUMBER>Нить | Номер телефона корпоративного клиента или номер телефона пользователя WhatsApp. Если значением является номер телефона компании, объект сообщения описывает сообщение, отправленное компанией пользователю WhatsApp. Если значением является номер телефона пользователя WhatsApp, то объект сообщения описывает сообщение, отправленное пользователем WhatsApp компании. | 15550783881 |
<CHUNK_ORDER>Целое число | Указывает блока , который можно использовать для упорядочивания наборов веб-хуков в последовательном порядке. | 1 |
<CUSTOMER_WABA_ID>Нить | Идентификатор бизнес-аккаунта WhatsApp клиента. | 102290129340398 |
<CUSTOMER_DISPLAY_PHONE_NUMBER>Нить | Рабочий телефонный номер корпоративного клиента. | 15550783881 |
<CUSTOMER_PHONE_NUMBER_ID>Нить | Идентификатор номера корпоративного телефона клиента. | 106540352242922 |
<DEVICE_TIMESTAMP>Нить | Метка времени Unix, указывающая, когда сообщение было получено устройством получателя. | 1738796547 |
<MESSAGE_CONTENTS>Объект | Объект, описывающий содержимое сообщения. Это значение будет меняться в зависимости от типа сообщения, а также от его содержимого. Например, если компания отправляет с изображением без подписи, объект не будет содержать caption . содержимого сообщений каждого типа см. | {"body":"Вот запрошенная вами информация! https://www.meta.com/quest/quest-3/"} |
<MESSAGE_STATUS>Нить | Отображает последние статистические данные о доставке сообщения. Возможные значения: ДОСТАВЛЕННЫЙОШИБКАВ ОЖИДАНИИИГРАЛЧИТАТЬОТПРАВИЛ | ЧИТАТЬ |
<MESSAGE_TYPE>Нить | Тип сообщения . Обратите внимание, что этот заполнитель встречается в приведенном выше синтаксисе дважды, поскольку он служит заполнителем для значения свойства типа пример полезной нагрузки ниже для потока с различными типами сообщений.Если это значение установлено на media_placeholder , объект сообщения описывает сообщение, содержащее медиафайл. В этом случае содержимое сообщения будет опущено. Вместо этого будет отправлен отдельный веб-перехватчик истории, описывающий содержимое сообщения и идентификатор медиафайла, но только если сообщение было отправлено в течение последних двух недель после вашего запроса. См. примеры полезных нагрузок ниже , описывающие содержимое медиасообщения. | текст |
<PHASE>Целое число | фазу истории . Возможные значения: 0 — указывает, что сообщения относятся к периоду с 0-го дня (время адаптации нового сотрудника) по 1-й день1 — указывает, что сообщения относятся к периоду с 1-го по 90-й день2 — указывает, что сообщения относятся к периоду с 90-го по 180-й день | 1 |
Целое число | Отображает процент от общего прогресса синхронизации. Минимум 0 , максимум 100 . | 55 |
<WHATSAPP_MESSAGE_ID>Нить | Идентификатор сообщения WhatsApp. | wamid.HBgLMTY1MDM4Nzk0MzkVAgASGBQzQUFERjg0NDEzNDdFODU3MUMxMAA= |
<WHATSAPP_USER_PHONE_NUMBER>Нить | Номер телефона пользователя WhatsApp. Свойство `to` включается только в том случае, если объект сообщения представляет собой эхо-сообщение SMB . | 16505551234 |
Примеры
В этом примере веб-перехватчика описаны две цепочки сообщений: (1) цепочка, содержащая текстовое и видеосообщение, отправленное пользователю WhatsApp, и ответ пользователя WhatsApp, и (2) текстовое сообщение, отправленное другому пользователю WhatsApp с благодарностью за заказ.
Обратите внимание, что содержимое медиасообщения в первом потоке не описывается. Вместо этого второй веб-перехватчик , описывающий содержимое медиасообщения.
{
"object"
: "whatsapp_business_account" , "entry"
: [ {
"id"
: "102290129340398" , "changes"
: [ {
"value"
: { "messaging_product"
: "whatsapp" , "metadata"
: { "display_phone_number"
: "15550783881" , "phone_number_id"
: "106540352242922" },
"history"
: [ {
"metadata"
: { "phase"
: 0 , "chunk_order"
: 1 , "progress"
: 55 },
"threads"
: [ {
"id"
: "16505551234" , "messages"
: [ {
"from"
: "15550783881" , "id"
: "wamid.HBgLMTY0NjcwNDM1OTUVAgARGBIyNDlBOEI5QUQ4NDc 0N0FCNjMA" , "timestamp"
: "1739230955" , "type"
: "text" , "text"
: { "body"
: "Вот запрошенная вами информация! https://www.meta.com/quest/quest-3/ " },
"history_context"
: { "status"
: "ЧИТАТЬ" }
},
{
"from"
: "15550783881" , "id"
: "wamid.QyNUEHBgLMTY0NjcwNDM1OTUVAgARGBI1Rj3NEYxMzA zMzQ5MkEA" , "timestamp"
: "1739230970" , "type"
: "media_placeholder" , "history_context"
: { "status"
: "PLAYED" }
},
{
"from"
: "16505551234" , "id"
: "wamid.N0FCNjMAHBgLMTY0NjcwNDM1OTUVAgARGBIyNDlBOEI 5QUQ4NDc0" , "timestamp"
: "1739230970" , "type"
: "text" , "text"
: { "body"
: "Thanks!" },
"history_context"
: { "status"
: "READ" }
}
]
},
{
"id"
: "12125557890" , "messages"
: [ {
"from"
: "15550783881" , "id"
: "wamid.BIyNDlBOEI5N0FCNjMAHBgLMTY0NjcwNDM1OTUVAgAR GQUQ4NDc0" , "timestamp"
: "1739230970" , "type"
: "text" , "text"
: { "body"
: "Спасибо за ваш заказ! В знак благодарности используйте код T HANKS30, чтобы получить скидку 30% на следующий заказ." },
"history_context"
: { "status"
: "DELIVERED" }
}
]
}
] } ]
},
"field"
: "history" }
]
}
]
}
В этом примере веб-перехватчика описывается содержимое медиасообщения.
{
"object"
: "whatsapp_business_account" , "entry"
: [ {
"id"
: "102290129340398" , "changes"
: [ {
"value"
: { "messaging_product"
: "whatsapp" , "metadata"
: { "display_phone_number"
: "15550783881" , "phone_number_id"
: "106540352242922" },
"messages"
: [ {
"from"
: "16505551234" , "id"
: "wamid.QyNUEHBgLMTY0NjcwNDM1OTUVAgARGBI1Rj3NEYxMzA zMzQ5MkEA" , "timestamp"
: "1738796547" , "type"
: "image" , "image"
: { "caption"
: "Black Prince echeveria" , "mime_type"
: "image/jpeg" , "sha256"
: "3f9d94d399fa61c191bc1d4ca71375a035cd9b9f5b1128e1f 0963a415c16b0cc" , "id"
: "24230790383178626" }
}
]
},
"field"
: "history" }
]
}
]
}
Отклонено предложение делиться историей чата
Синтаксис
{
"messaging_product": "whatsapp",
"metadata": {
"display_phone_number": "
< CUSTOMER_DISPLAY_PHONE_NUMBER > ", "phone_number_id": "
< CUSTOMER_PHONE_NUMBER_ID > " },
"history": [
{
"errors": [
{
"code": 2593109,
"title": "Синхронизация истории отключена
компанией в приложении WhatsApp Business", "message": "Синхронизация истории отключена
компанией в приложении WhatsApp Business", "error_data": {
"details": "Обмен историей отключен
компанией" }
}
]
}
]
}
Параметры
| Заполнитель | Описание | Пример значения |
|---|---|---|
<CUSTOMER_DISPLAY_PHONE_NUMBER>Нить | Рабочий телефонный номер корпоративного клиента. | 15550783881 |
<CUSTOMER_PHONE_NUMBER_ID>Нить | Идентификатор номера корпоративного телефона клиента. | 106540352242922 |
Пример
{
"messaging_product"
: "whatsapp" , "metadata"
: { "display_phone_number"
: "15550783881" , "phone_number_id"
: "106540352242922" },
"history"
: [ {
"errors"
: [ {
"code"
: 2593109 , "title"
: "Синхронизация истории отключена компанией в приложении WhatsApp Business" , "message"
: "Синхронизация истории отключена компанией в приложении WhatsApp Business" , "error_data"
: { "details"
: "Общий доступ к истории отключен компанией" }
}
]
}
]
}