
API
REST API
Компонент предоставляет REST API через роутер MiniShop3, доступный по базовому маршруту /api/v1/cdekintegrate.
Эндпоинты
POST /webhook
Приём вебхуков от СДЭК. Не требует авторизации.
СДЭК отправляет JSON-уведомления при изменении статуса заказа. Компонент обрабатывает данные, обновляет статус в msOrder.properties и записывает в историю. Если настроен маппинг статусов — обновляет статус заказа MS3.
Тело запроса (отправляется СДЭК):
{
"uuid": "cdek-order-uuid",
"type": "ORDER_STATUS",
"attributes": {
"cdek_number": "1234567890",
"code": "DELIVERED",
"city": "Москва",
"date_time": "2025-01-15T14:30:00+0300"
}
}Все остальные эндпоинты требуют авторизации администратора. Они используются Vue-панелью в карточке заказа.
POST /order/{id}/send
Отправить заказ в СДЭК.
| Параметр | Тип | Описание |
|---|---|---|
id | int | ID заказа MS3 (в URL) |
Ответ:
{
"success": true,
"message": "Order sent to CDEK",
"cdek_uuid": "72753031-...."
}Информация
Отменённые заказы можно отправить повторно — будет создан новый заказ в СДЭК.
POST /order/{id}/cancel
Отменить заказ в СДЭК.
| Параметр | Тип | Описание |
|---|---|---|
id | int | ID заказа MS3 (в URL) |
Ответ:
{
"success": true,
"message": "Order cancelled in CDEK"
}GET /order/{id}/status
Получить текущий статус заказа в СДЭК.
| Параметр | Тип | Описание |
|---|---|---|
id | int | ID заказа MS3 (в URL) |
Ответ:
{
"success": true,
"data": {
"sent": true,
"cdek_uuid": "72753031-....",
"cdek_number": "1234567890",
"status_code": "DELIVERED",
"status_name": "Вручён",
"cdek_response": { }
}
}Если заказ не был отправлен в СДЭК:
{
"success": true,
"data": {
"sent": false
}
}GET /order/{id}/invoice
Скачать накладную в формате PDF.
| Параметр | Тип | Описание |
|---|---|---|
id | int | ID заказа MS3 (в URL) |
Возвращает ссылку на PDF-файл накладной. При первом запросе документ запрашивается у СДЭК и сохраняется локально.
GET /order/{id}/barcode
Скачать штрихкод в формате PDF.
| Параметр | Тип | Описание |
|---|---|---|
id | int | ID заказа MS3 (в URL) |
Возвращает ссылку на PDF-файл штрихкода. При первом запросе документ запрашивается у СДЭК и сохраняется локально.
GET /order/{id}/history
Получить историю статусов заказа.
| Параметр | Тип | Описание |
|---|---|---|
id | int | ID заказа MS3 (в URL) |
Ответ:
{
"success": true,
"data": [
{
"order_id": 15,
"cdek_uuid": "72753031-....",
"cdek_number": "1234567890",
"status_code": "DELIVERED",
"status_name": "Вручён",
"city": "Краснодар",
"event_time": "2025-01-15 14:30:00"
},
{
"order_id": 15,
"cdek_uuid": "72753031-....",
"cdek_number": "1234567890",
"status_code": "ACCEPTED_AT_PICK_UP_POINT",
"status_name": "Принят в пункте выдачи",
"city": "Краснодар",
"event_time": "2025-01-14 10:00:00"
}
]
}Manager API
Запросы из Vue-панели в карточке заказа идут через connector.php с параметром action=MiniShop3\Processors\Api\Index и заголовком HTTP_MODAUTH=MODx.siteId. Это обеспечивает наличие admin-сессии.
Внимание
Не используйте api.php для менеджерских запросов — он работает только в web-контексте и не имеет admin-сессии.
