Link Поиск Меню Развернуть Документ

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


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


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

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

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

Типы событий


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

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

Структура eventData:

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

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

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

Структура eventData:

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

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
    }
  ]
}
ПолеТипОбязательностьОписание
sourceTypestringДаТип источника: order, shipment, refund.
sourceIdstringДаUUID источника (например, отгрузки).
compareTypestringДаТип сравнения: только edo.
compareIdstringДаUUID документа ЭДО.
statusstringДаСтатус: только mismatch.
detailsarrayДаМассив расхождений (см. таблицу ниже).

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

ПолеТипОбязательностьОписание
typestringДаТип расхождения: value, missing, extra.
fieldstringУсловноПоле (для type: value): quantity, price, vatRate.
skustringДаSKU товара.
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
      }
    ]
  }
}