Search

Вебхуки продавца (webhooks_general)

Методы вебхуков продавца доступны для всех сервисов из Каталога решений для бизнеса

Вебхуки продавца

Методы вебхуков продавца доступны для всех сервисов из Каталога решений для бизнеса

Общая информация

Вебхуки позволяют получать уведомления о событиях на аккаунте продавца в реальном времени. Вебхуки отправляются автоматически, поэтому, чтобы узнавать о новых событиях, нет необходимости постоянно использовать API.

Создание вебхуков через API доступно для всех сервисов из Каталога решений для бизнеса. Каждый сервис может управлять только своими вебхуками и не имеет доступа к вебхукам продавца, созданным другими сервисами. Если продавец отключает сервис, созданные вебхуки также отключаются, и события на них перестают отправляться.

Можно создать несколько вебхуков. На каждый можно получать один или несколько типов событий. Уведомления о событиях в виде HTTP-запроса будут сразу отправляться на URL-адрес, указанный при создании вебхука.

Один запрос может содержать несколько событий, если:

  • события происходят одновременно.
  • доставка события была отложена из-за недоступности URL, указанного при создании вебхука.
В одном запросе может прийти максимум 100 событий

Доступ

Доступ к API вебхуков возможен с JWT-токеном любых категорий. Для подписки вебхука на событие токен должен содержать скоуп этого события. То есть, если вы хотите создать вебхук для событий завершения генерации отчёта, вы можете сделать это только с токеном категории Аналитика.

Проверка подлинности событий

Чтобы убедиться, что уведомления о событии поступают от WB, нужно проверять заголовок Authorization в запросах. В Authorization передаётся секрет, сгенерированный при создании вебхука.

Подтверждение приёма событий

В ответ на HTTP-запрос с событиями ваш сервис должен вернуть статус доставки 200 в течение 10 секунд. В противном случае доставка будет считаться неуспешной. Попытки доставки будут повторяться с нарастающим интервалом от 10 секунд до 15 минут, после чего событие будет удалено. Если вебхук не принимает события в течение длительного времени, он может быть отключён.

Типы событий

В правой колонке указаны методы, которые генерируют данный тип событий.

Событие Категория Описание Методы
report_generation_complete contentanalytics Генерация отчёта завершена Создать отчёт об остатках на складах
Создать отчёт о платной приёмке
Создать отчёт о платном хранении
card_creation_error content Ошибка создания карточки товара Создание карточек товаров
card_changed content Карточка товара изменена.
Без списка ярлыков и URL фото и видео
Редактирование карточек товаров
• Удаление карточки товара (не API)
feedback_updated questionsandfeedback Создан или изменён отзыв • Создание и редактирование отзывов покупателями
Работа с отзывами

Список событий будет расширен.

Идемпотентность

В редких случаях из-за проблем со связью уведомления могут приходить повторно. Чтобы гарантировать обработку событий только один раз, можно использовать ключ идемпотентности idempotencyKey, который указывается для каждого события.

Тестирование

Чтобы протестировать интеграцию с сервисом вебхуков, можно генерировать тестовые события. Тестовые события содержат поле "test": true.

Управление вебхуками

Получить типы событий{{ /api/v1/event-scopes }}

Описание метода

Метод предоставляет информацию о категориях и типах событий, которые можно получить через вебхуки.

В правой колонке указаны методы, которые генерируют данный тип событий.

Событие Категория Описание Методы
report_generation_complete contentanalytics Генерация отчёта завершена Создать отчёт об остатках на складах
Создать отчёт о платной приёмке
Создать отчёт о платном хранении
card_creation_error content Ошибка создания карточки товара Создание карточек товаров
card_changed content Карточка товара изменена.
Без списка ярлыков и URL фото и видео
Редактирование карточек товаров
• Удаление карточки товара (не API)
feedback_updated questionsandfeedback Создан или изменён отзыв • Создание и редактирование отзывов покупателями
Работа с отзывами
Максимум 1 запрос в секунду на один аккаунт продавца
Authorizations:
apiKey

Responses

Response samples

Content type
application/json
{
  • "eventScopes": [
    ]
}

Создать вебхук{{ /api/v1/webhooks }}

Описание метода

Метод создаёт новый вебхук. Также метод возвращает секрет, который позже нельзя будет получить через другие методы. Секрет можно только сгенерировать заново.

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

Максимум 1 запрос в секунду на один аккаунт продавца
Authorizations:
apiKey
Request Body schema: application/json
required
enabled
required
boolean

Включён ли вебхук для приёма событий

url
required
string <uri> (WebhookUrl) [ 10 .. 200 ] characters

Адрес вебхука

name
required
string (WebhookName) [ 3 .. 60 ] characters

Название вебхука

required
Array of objects (EventTypesByScope) unique

Типы событий, на которые подписан вебхук

Responses

Request samples

Content type
application/json
{
  • "enabled": false,
  • "name": "Мой вебхук",
  • "subscriptions": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "0192be68-68ea-778b-920d-51ec98f99468",
  • "enabled": true,
  • "name": "Мой вебхук для всего",
  • "createdAt": "2024-12-12T03:58:41.554Z",
  • "updatedAt": "2024-12-12T03:58:41.554Z",
  • "subscriptions": [
    ],
  • "secret": "very-secret"
}

Получить вебхуки{{ /api/v1/webhooks }}

Описание метода

Метод предоставляет информацию обо всех вебхуках продавца.

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

Максимум 1 запрос в секунду на один аккаунт продавца
Authorizations:
apiKey
query Parameters
order
string
Enum: "nameAsc" "nameDesc" "createdAtAsc" "createdAtDesc" "updatedAtAsc" "updatedAtDesc"
Example: order=nameAsc

Порядок данных в ответе

Responses

Response samples

Content type
application/json
{
  • "webhooks": [
    ],
  • "total": 0,
  • "limit": 0
}

Получить вебхук{{ /api/v1/webhooks/{id} }}

Описание метода

Метод предоставляет данные одного вебхука из списка.

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

Максимум 1 запрос в секунду на один аккаунт продавца
Authorizations:
apiKey
path Parameters
id
required
string <UUID>
Example: 5f18230f-aa81-4835-99ec-859613efd5bb

ID вебхука

Responses

Response samples

Content type
application/json
{
  • "id": "0192be68-68ea-778b-920d-51ec98f99468",
  • "enabled": true,
  • "name": "Мой вебхук для всего",
  • "createdAt": "2024-12-12T03:58:41.554Z",
  • "updatedAt": "2024-12-12T03:58:41.554Z",
  • "subscriptions": [
    ]
}

Редактировать вебхук{{ /api/v1/webhooks/{id} }}

Описание метода

Метод редактирует основные данные вебхука.

При этом изменить URL, на который будут приходить вебхуки, нельзя. Вместо этого вы можете создать новый вебхук.

Максимум 1 запрос в секунду на один аккаунт продавца
Authorizations:
apiKey
path Parameters
id
required
string <UUID>
Example: 01932967-96d4-76f3-9e49-8e1bbc54624f

ID вебхука

Request Body schema: application/json
required
enabled
required
boolean

Включён ли вебхук для приёма событий

name
required
string [ 3 .. 60 ] characters

Название вебхука

required
Array of objects (EventTypesByScope) unique

Типы событий, на которые подписан вебхук

Responses

Request samples

Content type
application/json
{
  • "enabled": true,
  • "name": "My Webhook",
  • "subscriptions": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "0192be68-68ea-778b-920d-51ec98f99468",
  • "enabled": true,
  • "name": "Мой вебхук для всего",
  • "createdAt": "2024-12-12T03:58:41.554Z",
  • "updatedAt": "2024-12-12T03:58:41.554Z",
  • "subscriptions": [
    ]
}

Удалить вебхук{{ /api/v1/webhooks/{id} }}

Описание метода

Метод удаляет вебхук. После удаления отправка событий по этому вебхуку прекращается.

Максимум 1 запрос в секунду на один аккаунт продавца
Authorizations:
apiKey
path Parameters
id
required
string <UUID>
Example: 01932967-96d4-76f3-9e49-8e1bbc54624f

ID вебхука

Responses

Response samples

Content type
application/json
{
  • "title": "string",
  • "detail": "string",
  • "requestId": "string",
  • "origin": "string",
  • "errors": [
    ]
}

Проверить доступ URL{{ /api/v1/webhooks/check }}

Описание метода

Метод проверяет, доступен ли URL, который будет указан для создания вебхука.

Максимум 1 запрос в секунду на один аккаунт продавца
Authorizations:
apiKey
Request Body schema: application/json
required
url
required
string

URL-адрес вебхука для проверки

Responses

Request samples

Content type
application/json

Response samples

Content type
application/json
{
  • "success": true,
  • "error": "Timeout exceeded",
  • "checkStatus": 200
}

Обновить секрет вебхука{{ /api/v1/webhooks/{id}/secret/refresh }}

Описание метода

Метод заново генерирует секрет для отправки вебхуков.

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

Максимум 1 запрос в секунду на один аккаунт продавца
Authorizations:
apiKey
path Parameters
id
required
string <UUID>
Example: 327fe358-e79e-435a-afe2-db7c9dfab448

ID вебхука

Responses

Response samples

Content type
application/json
{
  • "secret": "r8WS-PYrF0Rb8JwNBx4Du1Fg5qSfmqsQxL4lUmfP-FI"
}

Отправить тестовое событие{{ /api/v1/webhooks/{id}/test/send }}

Описание метода

Метод генерирует тестовые события для отправки на вебхук. У данных событий в поле "test" будет указано true.

Если URL не подписан ни на какие события, метод возвращает статус-код 409.

Максимум 1 запрос в секунду на один аккаунт продавца
Authorizations:
apiKey
path Parameters
id
required
string <UUID>
Example: 01932967-96d4-76f3-9e49-8e1bbc54624f

ID вебхука

Responses

Response samples

Content type
application/json
{
  • "events": [
    ]
}

События и доставки

Каждое событие и каждая попытка доставки события попадает в историю или логи доставки. Вы можете получить логи с помощью этих методов. Событие попадает в историю, если хотя бы один вебхук продавца подписан на это событие. У каждого события может быть одна или несколько попыток доставки, если вебхук отвечал ошибками или был недоступен.

Каждая доставка может содержать одно или несколько событий. В истории операций можно посмотреть, кто и когда создавал и редактировал вебхуки.

Список событий{{ /api/v1/events }}

Описание метода

Метод предоставляет все события продавца, если на них подписан хотя бы один вебхук.

Максимум 1 запрос в секунду на один аккаунт продавца
Authorizations:
apiKey
query Parameters
webhookId
string <UUID>
Example: webhookId=019520ca-a739-7305-b438-77ca7e876cd1

Фильтр по вебхуку

limit
integer [ 1 .. 1000 ]
Default: 100
Example: limit=100

Количество записей в ответе

next
string
Example: next=e7bfb68a-917f-4b7e-b113-1dfe2e5c7a90

Курсор для получения следующего блока данных

prev
string
Example: prev=3e9fda19-bc90-4207-8881-3d15d17c86dc

Курсор для получения предыдущего блока данных

from
string <RFC3339>
Example: from=2020-11-23T13:48:56Z

Начало интервала времени для получения данных

to
string <RFC3339>
Example: to=2022-11-23T13:48:56Z

Конец интервала времени для получения данных

Responses

Response samples

Content type
application/json
{
  • "events": [
    ],
  • "next": "01951d38-2b6b-765b-8ed9-6cc31da5df50",
  • "prev": "01951d38-2891-7864-ba6e-6006f248e793"
}

Событие{{ /api/v1/events/{event-id} }}

Описание метода

Метод предоставляет данные одного события из списка.

Максимум 1 запрос в секунду на один аккаунт продавца
Authorizations:
apiKey
path Parameters
event-id
required
string <UUID>
Example: 019520ca-a739-7305-b438-77ca7e876cd1

ID события

Responses

Response samples

Content type
application/json
{
  • "id": "01951e00-d818-74bf-b0c0-b41479c0826e",
  • "idempotencyKey": "2f8c7ffd86ecebc828335d2ab4d643b971adb24101fccdd763919b73",
  • "time": "2025-02-21T00:35:26.389710263Z",
  • "type": "report_generation_complete",
  • "scope": "content",
  • "test": false,
  • "payload": [
    ]
}

Доставки одного события{{ /api/v1/events/{event-id}/deliveries }}

Описание метода

Метод предоставляет данные доставок одного события из списка.

Если на событие подписано несколько вебхуков, данные возвращаются по всем вебхукам.

Максимум 1 запрос в секунду на один аккаунт продавца
Authorizations:
apiKey
path Parameters
event-id
required
string <UUID>
Example: 019520ca-a739-7305-b438-77ca7e876cd1

ID события

Responses

Response samples

Content type
application/json
{
  • "deliveries": [
    ]
}

Доставки всех событий{{ /api/v1/deliveries }}

Описание метода

Метод предоставляет данные доставок всех событий.

Максимум 1 запрос в секунду на один аккаунт продавца
Authorizations:
apiKey
query Parameters
webhookId
string <UUID>
Example: webhookId=019520ca-a739-7305-b438-77ca7e876cd1

Фильтр по вебхуку

limit
integer [ 1 .. 1000 ]
Default: 100
Example: limit=100

Количество записей в ответе

next
string
Example: next=e7bfb68a-917f-4b7e-b113-1dfe2e5c7a90

Курсор для получения следующего блока данных

prev
string
Example: prev=3e9fda19-bc90-4207-8881-3d15d17c86dc

Курсор для получения предыдущего блока данных

from
string <RFC3339>
Example: from=2020-11-23T13:48:56Z

Начало интервала времени для получения данных

to
string <RFC3339>
Example: to=2022-11-23T13:48:56Z

Конец интервала времени для получения данных

Responses

Response samples

Content type
application/json
{
  • "deliveries": [
    ],
  • "next": "string",
  • "prev": "string"
}

Одна доставка события{{ /api/v1/deliveries/{delivery-id} }}

Описание метода

Метод предоставляет данные одной доставки из списка.

Максимум 1 запрос в секунду на один аккаунт продавца
Authorizations:
apiKey
path Parameters
delivery-id
required
string <UUID>
Example: 019520ca-a739-7305-b438-77ca7e876cd1

ID доставки

Responses

Response samples

Content type
application/json
{
  • "id": "01951e53-f958-7ab8-be23-af75f392b869",
  • "time": "2025-02-19T13:09:29Z",
  • "webhookId": "0195179e-9fed-7658-9874-d36b1ba0ef7f",
  • "url": "https://1.2.2.1",
  • "success": false,
  • "responseCode": 200,
  • "error": "Timeout exceeded"
}

История изменений вебхука{{ /api/v1/history }}

Описание метода

Метод предоставляет историю изменений всех вебхуков.

Максимум 1 запрос в секунду на один аккаунт продавца
Authorizations:
apiKey
query Parameters
limit
integer [ 1 .. 1000 ]
Default: 100
Example: limit=100

Количество записей в ответе

next
string
Example: next=e7bfb68a-917f-4b7e-b113-1dfe2e5c7a90

Курсор для получения следующего блока данных

prev
string
Example: prev=3e9fda19-bc90-4207-8881-3d15d17c86dc

Курсор для получения предыдущего блока данных

from
string <RFC3339>
Example: from=2020-11-23T13:48:56Z

Начало интервала времени для получения данных

to
string <RFC3339>
Example: to=2022-11-23T13:48:56Z

Конец интервала времени для получения данных

Responses

Response samples

Content type
application/json
{
  • "history": [
    ],
  • "next": "string",
  • "prev": "string"
}

Детали изменения{{ /api/v1/history/{history-id} }}

Описание метода

Метод предоставляет данные одного изменения вебхука из списка изменений.

Максимум 1 запрос в секунду на один аккаунт продавца
Authorizations:
apiKey
path Parameters
history-id
required
string <UUID>
Example: 019520ca-a739-7305-b438-77ca7e876cd1

ID операции

Responses

Response samples

Content type
application/json
{
  • "id": "019528d4-0ea5-7a75-a19d-d942847cf9b9",
  • "time": "2025-02-21T14:05:40Z",
  • "ip": "192.168.1.1",
  • "userId": 111222,
  • "source": "api",
  • "action": "UpdateWebhook",
  • "request": {
    },
  • "response": {
    },
  • "error": "validation error"
}

События вебхуков

В данном разделе вы можете увидеть, в каком формате вам будут приходить события по вебхукам. События отправляются на URL вебхука в виде POST запроса.

Для приема событий вебхуков рекомендуем проверять:

  1. Секрет вебхука
  2. Поле test — является ли вебхук тестовым.

Уведомления о событиях Webhook

header Parameters
Authorization
required
string
Example: NIFirgRN1oLDb2NkIkd06yHzo4dcRn9ptnD04RXH8ZY

Секретный ключ вебхука

Request Body schema: application/json
sellerId
string <UUID>

ID продавца

requestId
string <UUID>

ID запроса

Array of any

Request samples

Content type
application/json
Example

Ошибка создания карточки товара

{
  • "sellerId": "f0870d53-f9a2-4965-9655-db642c08d509",
  • "requestId": "2a9092fa-8c83-490b-96aa-a18afe3b02c8",
  • "events": [
    ]
}