Перейти к основному содержимому

Справочник: события и структура вебхуков

Перечень событий Aplaut, служебные поля вебхука и примеры тел запросов по каждому типу контента

Aplaut отправляет вебхук при наступлении события с отзывом, комментарием, вопросом, ответом, ответом на опрос, диалогом или товаром. Тело запроса — JSON с полным набором полей соответствующего типа контента. Порядок подключения описан в инструкции «Как получать вебхуки о событиях Aplaut».

Формат запроса​

Aplaut отправляет POST на указанный URL. Тело — JSON, редиректы отслеживаются автоматически.

ЗаголовокЗначение
Content-Typeapplication/json
Accept-Encodingapplication/json
User-AgentAplaut-Hookshot/
X-Aplaut-EventИдентификатор события, то же значение, что в поле event тела
X-Aplaut-DeliveryИдентификатор доставки, уникальный для каждой отправки

Если секрет передаётся заголовком, к списку добавляется заголовок с именем, заданным при подключении.

Успешной доставкой считается ответ с кодом 200–299. Любой другой код, а также отсутствие ответа за таймаут подключения (1–5 секунд, по умолчанию 1) — ошибка доставки.

Служебные поля​

Присутствуют в теле любого вебхука.

ПараметрТипОписание
eventstringИдентификатор события из таблицы ниже
hook_idstringИдентификатор настроенного вебхука
secretstring | nullЗначение, заданное при подключении. null, если не задано. Используется вместо аутентификации

События​

Тип контентаДействиеЗначение event
ОтзывСозданиеcreate_review
ОтзывОбновлениеupdate_review
ОтзывУдалениеdestroy_review
ОтзывПубликацияpublish_review
ОтзывБанban_review
ОтзывУдержаниеhold_review
ОтзывОбновление теговupdate_review_tags
ОтзывДополнениеsupplement_review
Комментарий к отзывуСозданиеcreate_comment
Комментарий к отзывуОбновлениеupdate_comment
Комментарий к отзывуУдалениеdestroy_comment
Комментарий к отзывуПубликацияpublish_comment
Комментарий к отзывуБанban_comment
Комментарий к отзывуОбновление теговupdate_comment_tags
ВопросСозданиеcreate_question
ВопросОбновлениеupdate_question
ВопросУдалениеdestroy_question
ВопросПубликацияpublish_question
ВопросБанban_question
ВопросОбновление теговupdate_question_tags
Ответ на вопросСозданиеcreate_answer
Ответ на вопросОбновлениеupdate_answer
Ответ на вопросУдалениеdestroy_answer
Ответ на вопросПубликацияpublish_answer
Ответ на вопросБанban_answer
Ответ на вопросОбновление теговupdate_answer_tags
Ответ на опросСозданиеcreate_survey_response
Ответ на опросОбновление теговupdate_survey_response_tags
ДиалогСозданиеcreate_conversation
ТоварПересчёт атрибутовrecalculate_product_attributes

Один вебхук настраивается на несколько событий сразу.

Отзыв​

Тело содержит поля отзыва, вложенный массив comments с комментариями к нему и вложенный объект product.

ПолеТипОписание
idstringИдентификатор отзыва
context_typestringТип контекста отзыва, например product
originstringИсточник отзыва, например omnibox
statestringСостояние отзыва, например published
product_idstringИдентификатор товара в Aplaut
create_review
{
"event": "create_review",
"secret": null,
"hook_id": "685e7fd7a5ab750014729873",
"id": "613f59762f42f80012220938",
"created_at": "2021-09-13T17:00:22.176+03:00",
"updated_at": "2021-09-13T17:00:22.176+03:00",
"context_type": "product",
"external_id": null,
"rating": 5.0,
"rating_details": [
{
"label": "Качество",
"name": "quality",
"value": 5
}
],
"author_details": [
{
"label": "Возраст",
"name": "age",
"value": "27"
}
],
"lang": "ru",
"body": "Текст отзыва",
"pros": null,
"cons": null,
"published_at": null,
"imported_at": "2021-09-13T17:00:22.151+03:00",
"author_name": "Константин",
"author_email": null,
"author_phone": null,
"origin": "omnibox",
"syndication_source": null,
"state": "published",
"product_id": "5ac6c4514b25650007dfbb7b",
"photos": ["https://yoursite.ru/picture1.png", "https://yoursite.ru/picture2.png"],
"videos": ["https://yoursite.ru/video1.mp4"],
"tags": ["Тег_1", "Тег_2"],
"recommended": true,
"custom_attributes": {
"submitted_product_id": "1234567",
"custom_attribute_1": "qwerty"
},
"location_name": "Санкт-Петербург",
"likes": 0,
"dislikes": 0,
"order_number": null,
"custom_source": null,
"custom_medium": null,
"custom_campaign": null,
"location": {
"continent_code": "EU",
"continent": "Европа",
"country_code": "RU",
"country": "Россия",
"city": "Санкт-Петербург",
"postal_code": "190000",
"latitude": 59.9386,
"longitude": 30.3141,
"time_zone": "Europe/Moscow",
"client_ip": "203.0.113.17"
},
"comments": [
{
"id": "667278394180740012223453",
"commentable_id": "667277cfed85740011223452",
"commentable_type": "Review",
"text": "Текст комментария",
"author_name": "Имя",
"author_email": "yourname@yourmail.ru",
"author_phone": "123123",
"author_type": "User",
"state": "published",
"lang": "ru"
}
],
"product": {
"name": "Наименование товара",
"url": "https://yoursite.ru/products/11111111",
"external_id": "11111111",
"alias": null,
"group_id": null,
"category_name": "Наименование категории",
"brand_name": null,
"description": "Описание товара",
"recommended_product_ids": [],
"custom_attributes": {},
"reviews_count": 15,
"questions_count": 0,
"published_group_reviews_count": 13,
"published_group_questions_count": 0,
"rating": 3.25,
"rating_details": [],
"recommended": 53.84615384615385,
"created_at": "2018-04-06T03:50:25.367+03:00",
"updated_at": "2021-09-13T07:37:43.112+03:00"
}
}

Комментарий к отзыву​

Комментарий приходит и отдельным вебхуком, и вложенным в массив comments вебхука отзыва. Поле commentable_type указывает, к чему относится комментарий: к отзыву (Review) или к другому комментарию.

create_comment
{
"event": "create_comment",
"secret": "1234567",
"hook_id": "694d893a8764294ff69741a8",
"id": "69a44d65af131bf8d9998765",
"commentable_id": "69a4342d7b50ae8ad2224456",
"commentable_type": "Review",
"commentable_external_id": null,
"text": "Текст комментария на отзыв или комментарий",
"author_name": "Юрий",
"author_email": "yourname@yourmail.ru",
"author_type": "User",
"state": "published",
"lang": "ru"
}

Вопрос​

Тело содержит поля вопроса, вложенный массив answers с ответами на него и объект product.

update_question
{
"event": "update_question",
"secret": "123456789",
"hook_id": "69a564bdf6e9307f6a123456",
"id": "69a48cb8b03e53af51234567",
"created_at": "2026-03-01T20:17:42.249+03:00",
"updated_at": "2026-03-02T13:22:28.342+03:00",
"context_type": "product",
"external_id": null,
"product_id": "665b6fc67ce94c00012e4785",
"lang": "ru",
"body": "Текст вопроса",
"published_at": "2026-03-01T20:17:42.249+03:00",
"author_name": "Надежда",
"author_email": "yourname@yourmail.ru",
"origin": "submissions_api",
"state": "published",
"tags": ["test"],
"location": {},
"product": {
"name": "Наименование товара",
"url": "https://yoursite.ru/product/123456/",
"external_id": "123456",
"alias": null,
"group_id": "234567",
"category_name": "Наименование категории",
"brand_name": "Наименование бренда",
"description": null,
"picture_urls": ["https://cdn.yoursite.ru/media_content/115021920299.jpg"],
"price": 0,
"available": true,
"recommended_product_ids": [],
"custom_attributes": {},
"reviews_count": 2,
"questions_count": 2,
"published_group_reviews_count": 1,
"published_group_questions_count": 1,
"rating": 4,
"rating_details": [
{ "name": "reliability", "value": 0.6, "label": "Надежность" },
{ "name": "functionality", "value": 0.6, "label": "Функциональность" }
],
"recommended": 0,
"created_at": "2024-02-29T02:15:25.712+03:00",
"updated_at": "2025-05-26T16:34:36.453+03:00",
"published_photos_count": 0,
"published_kinescope_assets_count": 0,
"published_mux_assets_count": 0,
"published_group_photos_count": 0,
"published_group_kinescope_assets_count": 0,
"published_group_mux_assets_count": 0,
"published_partial_rating": 4,
"published_partial_reviews_count": 1
},
"answers": [
{
"id": "69a48cb9b03e53af52345678",
"question_id": "69a48cb8b03e53af51234567",
"text": "Ответ на вопрос",
"author_name": "Олеся",
"author_email": "yourname@yourmail.ru",
"author_type": "Consumer",
"state": "published",
"lang": "ru"
}
]
}

Ответ на вопрос​

Ответ приходит и отдельным вебхуком, и вложенным в массив answers вебхука вопроса. Поле question_id связывает ответ с вопросом.

create_answer
{
"event": "create_answer",
"secret": "123456789",
"hook_id": "69a564bdf6e9307f6a444000",
"id": "69a565173d9cca1064511400",
"question_id": "69a48cb8b03e53af5111222",
"text": "Текст ответа на вопрос",
"author_name": "Алексей",
"author_email": "yourname@yourmail.ru",
"author_type": "User",
"state": "published",
"lang": "ru"
}

Ответ на опрос​

Массив answers содержит по одному объекту на вопрос опроса. Поле question_order задаёт порядок вопросов, question_params — параметры вопроса на момент ответа.

create_survey_response
{
"event": "create_survey_response",
"secret": "1234567",
"hook_id": "69a56aecfd7eac6c923305485",
"id": "69a56b07f6e9307f697462358",
"started_at": "2026-03-02T13:48:22.023+03:00",
"created_at": "2026-03-02T13:48:40.009+03:00",
"updated_at": "2026-03-02T13:48:40.009+03:00",
"author_name": null,
"author_email": null,
"tags": [],
"custom_attributes": {},
"order_number": null,
"location": {
"continent_code": "EU",
"continent": "Европа",
"country_code": "RU",
"country": "Россия",
"city": "Москва",
"postal_code": "101000",
"latitude": 55.7558,
"longitude": 37.6173,
"time_zone": "Europe/Moscow",
"client_ip": "203.0.113.42"
},
"answers": [
{
"value": ["Вариант 1"],
"value_type": "string",
"question_id": "635a79233022e400172505a6",
"question_type": "ChoiceQuestion",
"question_text": "Текст вопроса 1",
"question_params": {
"required": true,
"options": ["Вариант 1", "Вариант 2", "Вариант 3"],
"multiple": false
},
"question_order": 0
},
{
"value": ["Вариант 1"],
"value_type": "string",
"question_id": "635a7a9b3022e40012250b83",
"question_type": "ChoiceQuestion",
"question_text": "Текст вопроса 2",
"question_params": {
"required": true,
"options": ["Вариант 1", "Вариант 2"],
"multiple": null
},
"question_order": 1
}
]
}

Диалог​

Массив items содержит сообщения диалога. Поле state диалога принимает значение open при создании.

create_conversation
{
"event": "create_conversation",
"secret": "1234567",
"hook_id": "69a568457b50ae8ad2223334",
"context_type": "product",
"created_at": "2026-03-02T13:38:56.898+03:00",
"updated_at": "2026-03-02T13:38:56.898+03:00",
"origin": "submissions_api",
"state": "open",
"product": {
"name": "Наименование товара",
"url": "https://yoursite.ru/product/12345066/",
"external_id": "12345066",
"alias": null,
"group_id": null,
"category_name": "Наименование категории",
"brand_name": "Наименование бренда",
"description": null,
"picture_urls": ["https://cdn.yoursite.ru/media_content/115021920299.jpg"],
"price": 0,
"available": true,
"recommended_product_ids": [],
"custom_attributes": {
"attribute_1": null,
"attribute_2": "49156459"
},
"reviews_count": 1,
"questions_count": 0,
"published_group_reviews_count": 1,
"published_group_questions_count": 0,
"rating": 5,
"rating_details": [],
"recommended": null,
"created_at": "2023-12-23T02:12:48.360+03:00",
"updated_at": "2026-03-01T20:40:48.603+03:00",
"published_photos_count": 0,
"published_kinescope_assets_count": 0,
"published_mux_assets_count": 0,
"published_group_photos_count": 0,
"published_group_kinescope_assets_count": 0,
"published_group_mux_assets_count": 0,
"published_partial_rating": 5,
"published_partial_reviews_count": 1
},
"items": [
{
"_id": "69a568c034934ed10e79af72",
"author_avatar_url": null,
"author_email": "yourname@yourmail.ru",
"author_external_id": "12312333",
"author_first_name": "Алексей",
"author_id": "63621845dfd11f0017a4604e",
"author_name": "Алексей",
"author_occupation": null,
"author_type": "Consumer",
"created_at": "2026-03-02T13:38:56.905+03:00",
"hide_my_data": false,
"origin_photo_urls": null,
"origin_video_urls": null,
"text": "Текст сообщения",
"updated_at": "2026-03-02T13:38:56.905+03:00"
}
]
}

Товар​

Отличается от остальных типов: поля товара лежат в корне объекта, а не во вложенном product.

recalculate_product_attributes
{
"event": "recalculate_product_attributes",
"secret": null,
"hook_id": "69bac0b5fce35f6b576cbde9",
"name": "Наименование товара",
"url": "https://yoursite.ru/product/31879280299/",
"external_id": "31879280299",
"alias": null,
"group_id": "164251380299",
"category_name": "Наименование категории",
"brand_name": "Наименование бренда",
"description": null,
"picture_urls": ["https://cdn.yoursite.ru/media_content/136019610299.jpg"],
"price": 0.0,
"available": true,
"recommended_product_ids": [],
"custom_attributes": {},
"reviews_count": 6,
"questions_count": 0,
"published_group_reviews_count": 65,
"published_group_questions_count": 0,
"rating": 4.9,
"rating_details": [
{ "name": "reliability", "value": 0.959375, "label": "Надежность" },
{ "name": "functionality", "value": 0.9733333333333333, "label": "Функциональность" }
],
"recommended": 96.875,
"created_at": "2024-11-17T08:28:13.562+03:00",
"updated_at": "2025-03-26T17:45:35.543+03:00",
"published_photos_count": 0,
"published_kinescope_assets_count": 0,
"published_mux_assets_count": 0,
"published_group_photos_count": 4,
"published_group_kinescope_assets_count": 0,
"published_group_mux_assets_count": 0,
"published_partial_rating": 5.0,
"published_partial_reviews_count": 3
}

Поведение при доставке​

СвойствоЗначение
Фильтры по содержимомуНе поддерживаются
Настройка состава полейНе поддерживается, отправляются все поля типа контента
АутентификацияТолько через секрет: в поле secret тела или в заголовке, имя которого задаётся при подключении
Повтор при ошибкеОтправка повторяется до 52 раз
ЛогированиеДоставки вебхуков, подключённых через раздел «Интеграции», попадают в журнал запусков: и успешные, и ошибочные, хранятся 90 дней. Доставки вебхуков, подключённых вне этого раздела, в личном кабинете не видны
warning

Одно событие может прийти несколько раз из-за повторов. Обработчик на стороне получателя должен обрабатывать одинаковые события без повторного изменения состояния.

Смотрите также: Как получать вебхуки о событиях Aplaut.