Вебхуки
Вебхук — POST на адрес приложения, когда в магазине происходит событие. Доставка не гарантируется: для полной сверки дополнительно читайте списки через updated_since.
Методы — Webhook в справочнике. Создавать вебхуки можно уже в обработчике установки приложения.
Темы
topic при создании обязателен. В справочнике перечислены:
orders/create,orders/update,orders/destroyproducts/create,products/updateclient/create,client/update
Дополнительные поля:
format_type—jsonилиxmlwarehouse_id— только для тем заказов, в рассылку попадают заказы этого складаsales_channel_id— только дляproducts/update, фильтр по каналу продажbatch_size— только дляproducts/createиproducts/update. Товары уходят пачками, по умолчанию 10
Создание
POST /admin/webhooks.json
{
"webhook": {
"address": "https://myapp.example/insales/products",
"topic": "products/update",
"format_type": "json",
"batch_size": 10
}
}
Ответ 201 содержит id, topic, format_type, warehouse_id, sales_channel_id, batch_size.
Остальные методы:
GET /admin/webhooks.jsonGET /admin/webhooks/:id.jsonPUT /admin/webhooks/:id.jsonDELETE /admin/webhooks/:id.json—{ "status": "ok" }
Пара адрес + тема уникальны в рамках приложения.
Что приходит на address
Это POST. Content-Type соответствует format_type: для JSON — application/json.
Для products/create и products/update тело — JSON-массив товаров, те же поля, что у GET /admin/products.json. В одном запросе не больше batch_size товаров. При batch_size: 1 массив из одного товара.
Для orders/create, orders/update и orders/destroy тело — один заказ в выбранном формате, как объект заказа в API.
Для client/create и client/update тело — один клиент, тоже в выбранном формате.