К содержимому
Инвойсбокс

Обработка событий документооборота


В жизненном цикле документооборота по заказу возникают события, которые необходимо обрабатывать магазином (например: расхождения данных, подписание или отклонение документов).
Такие события отправляются в формате JSON на URL, предоставленный магазином.


Формат объекта события

Каждое событие содержит общую структуру:

{
  "eventName": "название_события",
  "eventData": { ... } // Данные, специфичные для типа события
}
ПолеТипОписание
eventName *stringТип события (см. ниже возможные значения).
eventData *objectОбъект с данными, зависящими от типа события.

Типы событий


1. Документ подписан (document_signed)

Уведомление о успешном подписании документа (например, счета или акта).

Структура eventData:

{
  "documentType": "invoice",
  "documentId": "6ba7b810-9dad-11d1-80b4-00c04fd430c8"
}
ПолеТипОписаниеПример значения
documentType *stringТип документа: invoice, act, order."invoice"
documentId *stringUUID документа."6ba7b810-9dad-11d1-80b4-00c04fd430c8"

2. Документ отклонен (document_rejected)

Уведомление об отклонении документа (например, из-за ошибок или несогласия сторон).

Структура eventData:

{
  "documentType": "invoice",
  "documentId": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
}
ПолеТипОписаниеПример значения
documentType *stringТип документа: invoice, act, order."invoice"
documentId *stringUUID документа."6ba7b810-9dad-11d1-80b4-00c04fd430c8"
rejectReason *stringПричина отклонения."Несоответствие данных в счете"

3. Расхождение данных (data_mismatch)

Уведомление о несоответствии данных между заказом/отгрузкой и документом ЭДО.

Структура eventData:

{
  "sourceType": "shipment",
  "sourceId": "550e8400-e29b-41d4-a716-446655440000",
  "compareType": "edo",
  "compareId": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
  "status": "mismatch",
  "details": [
    {
      "type": "value",
      "field": "quantity",
      "sku": "product_123",
      "sourceValue": 2,
      "compareValue": 3
    }
  ]
}
ПолеТипОписание
sourceType *stringТип источника: order, shipment, refund.
sourceId *stringUUID источника (например, отгрузки).
compareType *stringТип сравнения: только edo.
compareId *stringUUID документа ЭДО.
status *stringСтатус: только mismatch.
details *arrayМассив расхождений (см. таблицу ниже).

Поля объектов в массиве details:

ПолеТипОписание
type *stringТип расхождения: value, missing, extra.
fieldstringПоле (для type: value): quantity, price, vatRate.
sku *stringSKU товара.
sourceValuenumberЗначение из источника (для type: value).
compareValuenumberЗначение из ЭДО (для type: value).

Пример полного события

{
  "eventName": "data_mismatch",
  "eventData": {
    "sourceType": "shipment",
    "sourceId": "550e8400-e29b-41d4-a716-446655440000",
    "compareType": "edo",
    "compareId": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
    "status": "mismatch",
    "details": [
      {
        "type": "missing",
        "sku": "product_456",
        "sourceValue": null,
        "compareValue": null
      }
    ]
  }
}
Страница помогла?