Интеграции
Входящие вебхуки
Три потока данных, которые платформа принимает извне: готовые заказы, подтверждения оплаты и статусы доставки.
Приём заказа из внешней системы
Единственный вебхук, которым может пользоваться разработчик бренда. Внешняя система передаёт готовый оплаченный заказ, платформа заводит его у себя и сразу списывает товар со склада.
{
"vitrineOrderId": "V-100500",
"brand": "casher",
"recipient": {
"fullName": "Иванов Иван Иванович",
"phone": "+79990000000",
"email": "ivanov@example.com"
},
"items": [
{ "article": "ART-1", "size": "M", "quantity": 1, "priceKopeks": 450000 }
],
"delivery": {
"city": "Москва",
"cityCode": 44,
"pvzCode": "MSK123",
"deliveryCostKopeks": 30000
}
}Обязательны номер заказа во внешней системе, имя и телефон получателя и непустой список позиций. Имя разбирается позиционно: фамилия, имя, отчество.
Позиции сопоставляются с товарами по отдельному полю артикула и по названию размера. Если сопоставить не удалось, заказ не создаётся вовсе — частично он не примется.
Ошибки
| Код | Ответ сервера | Когда возникает | Что делать |
|---|---|---|---|
| 200 | {"ok":true,"duplicate":true,"order":{...}} | Заказ с таким номером уже принимали. | Это не ошибка: повтор безопасен, второй заказ не создастся. |
| 201 | {"ok":true,"duplicate":false,"order":{"id":15243,"orderNumber":"...","hash":"..."}} | Заказ создан. | — |
| 400 | {"error":"..."} | Нет номера заказа внешней витрины, нет получателя, пустой список позиций или некорректное количество. | — |
| 401 | {"error":"Unauthorized"} | Ключ не принят. | — |
| 403 | {"error":"Forbidden: Missing permission orders.create_vitrine"} | У ключа нет права принимать заказы витрины. | Это отдельное право, его нужно запросить при выпуске ключа. |
| 422 | {"error":"..."} | Артикул не удалось сопоставить с товаром, либо у товара нет такого размера. | Сверьте артикулы: сопоставление идёт по отдельному полю товара, а не по названию. |
Подтверждение оплаты
Банк сообщает платформе, что заказ оплачен. Этот вебхук настроен между платформой и банком напрямую, разработчику бренда трогать его не нужно — но полезно знать, что происходит после оплаты, потому что оттуда тянется вся цепочка.
По подтверждению платформа списывает товар со склада, регистрирует отправление у перевозчика, получает трек-номер, уведомляет сотрудников и отправляет письмо покупателю.
Статусы доставки
Перевозчик присылает события о движении посылки, платформа обновляет статус доставки и, если нужно, статус самого заказа.
Полный список статусов доставки с русскими названиями — в справочнике значений.