Skip to main content

Робота з документами

Всі запити нижче перерахованих API методів платформи EDIN 2.0 направляються на адресу: https://edo-v2.edin.ua

Для роботи з цими методами користувач повинен бути авторизованим.

Створення чернетки документа / Клонування відправленого документа (COMDOC)
POST /api/v2/eds/doc

За допомогою цього методу можливо створити чернетку документа (передається тіло документа) зазначеного типу (параметр doc_type) для вказаного одержувача АБО можливо клонувати відправлений документ (передається параметр clone_from_doc_uuid) в чернетку.

REQUEST

URL

 

Метод запиту

POST

URL запиту

/api/v2/eds/doc?gln=9864065702429&doc_type=orders

URL параметри

gln (обов’язково) рядок (13) - номер GLN організації, яка пов’язана з авторизованим користувачем платформи EDIN 2.0 на рівні акаунта

doc_type (обов’язково/-) рядок - тип створюваного документа (опис параметру); даний параметр не передається при клонуванні документа (коли передається clone_from_doc_uuid параметр);

clone_from_doc_uuid (обов’язково/-) рядок - унікальний ідентифікатор вже відправленого документа (COMDOC) для клонування в чернетку (при цьому тіло передавати не обов’язково, а Content-Type=application/json); даний параметр не передається при створенні чернетки документа

Headers

 

Authorization

SID - токен, отриманий при авторизації

Content-Type

application/json або application/xml або application/pkcs7-signature

REQUEST

 

JSON Body

При створенні чернетки в тілі запиту методу передається документ у форматі JSON або XML або P7S в бінарному вигляді (приклад запиту (в тому числі й для створення CONDRA та TRANSPORTATIONORDER) + специфікації документів)

RESPONSE

В тілі відповіді передаються дані створеного документа (об’єкт XDoc ).

Відправка чернетки
PATCH /api/eds/doc/send

За допомогою цього методу можлива відправка чернетки (з додатковими особливостями відправки).

Наявність ритейлера при документообігу автоматично визначається платформою (тобто якщо Відправник або Одержувач є ритейлером, то створений ланцюжок буде мати позначку конкретного ритейлера).

REQUEST

URL

 

Метод запиту

PATCH

URL запиту

/api/eds/doc/send?gln=9864065702429&doc_uuid=8c8a70e7-81c6-4382-8b58-7d60c3bc6ffd

URL параметри

gln (обов’язково) String - GLN власної Компанії; АБО guid (обов’язково) String - унікальний ідентифікатор власної Компанії;

doc_uuid (обов’язково) String - унікальний ідентифікатор документа;

doc_hash (опціонально) - рядок; хеш документа;

chain_hash (опціонально) - рядок; хеш ланцюжка документів;

chain_uuid (опціонально) - рядок; ID ланцюжка документів;

partner_id (опціонально) - число; id торгової мережі (можливо отримати з довідника торгових мереж);

chain_type (опціонально) - число; тип ланцюжка документів;

  • 0 - звичайний

  • 2 - особлива схема - MATCH INVOICE (ТМ Фоззі)

  • 3 - особлива схема - не MATCH INVOICE (ТМ Фоззі)

Headers

 

Authorization

SID - токен, отриманий при авторизації

Content-Type

application/json

REQUEST

 

JSON Body

В тілі запиту методу опціонально передаються додаткові поля

Виняток: при відправці

  • «Заявки на транспортування» / «Підтвердження транспортування» (TRANSPORTATIONORDER)

  • «Комерційних документів» (COMDOC)

  • «Накладних» (DOCUMENTINVOICE)

  • «Коригування до накладної» (DOCCORINVOICE)

в тілі запиту обов’язково передається параметр sub_status_id.

Приклад для відправки «Заявки на транспортування» / «Підтвердження транспортування» (TRANSPORTATIONORDER):

{"extra_fields":{"sub_status_id":"1"}}

RESPONSE

Код сервера 200 (ok).

Відправка документа (без створення чернетки)
POST /api/eds/doc/create_and_send

Метод є універсальним для різних типів документів і дозволяє одночасно створити та відправити документ без створення чернетки.

REQUEST

URL

 

Метод запиту

POST

URL запиту

/api/eds/doc/create_and_send?doc_type=orders&gln=9864065702429

URL параметри

gln - рядок (13); номер GLN організації, яка пов’язана з авторизованим користувачем платформи EDIN 2.0 на рівні акаунта

doc_type - рядок; тип документа (опис параметру)

Headers

 

Authorization

SID - токен, отриманий при авторизації

Content-Type

multipart/form-data

REQUEST

 

JSON Body

В тілі запиту методу передєються тільки один файл-вкладення в форматі application/json чи application/xml чи application/pkcs7-signature (приклади запитів + специфікації документів)

При вказуванні application/pkcs7-signature доступна можливість обробки BASE64 формату.

RESPONSE

  • chain_uuid - ідентифікатор ланцюжка, в якому знаходиться документ

  • doc_uuid - ідентифікатор документа на платформі EDIN 2.0;

  • ticket_uuid - ідентифікатор квитанції

Параметр ticket_uuid система повертає тільки у випадках, коли на існуючий документ намагаються створити додатковий тікет (підписання у відповідь, відмова від підпису, запит на анулювання). Тобто, якщо документ новий, система поверне у відповідь тільки chain_uuid та doc_uuid.

Приклад відповіді (JSON):

{
  "chain_uuid": "7ccff78e-ea42-47ea-81e4-5508ed4fbd51",
  "doc_uuid": "3698b501-e1ef-464d-a71a-58066f556114",
  "ticket_uuid": "1003706c-3656-497b-9438-c6f33e27c36d"
}

 

Пошук документів (з фільтрацією), вибір списку документів

За допомогою цього методу можна швидко зробити пошук по заданим критеріям, наприклад, отримати список документів з певним статусом або за проміжок часу.

REQUEST

URL

 

Метод запиту

POST

URL запиту

/api/eds/docs/search?gln=9864065702429&status_id=2

URL параметри

gln (обов’язково) String - GLN власної Компанії АБО guid (обов’язково) String - унікальний ідентифікатор власної організації на платформі

status_id (опціонально) int - id папки документів:

  • 0 - Всі

  • 1 - Вхідні;

  • 2 - Надіслані;

  • 3 - Архівні;

  • 4 - Чернетки;

  • 5 - Важливі.

family (опціонально) String - назва сімейства документів:

  • edi

  • uzd

  • certificats

  • ats

  • ettn

  • distribex (Маркет)

  • simple-doc (Вільний)

  • tender

  • agreement

  • openprice (Є-Товар)

Headers

 

Authorization

SID - токен, отриманий при авторизації

Content-Type

application/json

REQUEST

 

JSON Body

В тілі запиту методу передаються обов’язкові та додаткові критерії пошуку/фільтрації

RESPONSE

В тілі відповіді передається масив документів.

Отримання інформації (мета-даних) про документ

Отримання конкретного ланцюжка документів

Отримання контенту документа

Отримання XML контенту документа

Завантажити тіло документа/підпису

Завантажити «Неструктурований (універсальний) документ» (CONDRA) в вигляді архіву

Відправка «Неструктурованого (універсального) документа» (CONDRA)

Створення чернетки «Універсального/неструктурованого документа» (CONDRA)

Створення й відправка «Універсального/неструктурованого документа» (CONDRA) без створення чернетки

Відправка статусу документа

Отримання статусу документа

Додавання файлу-вкладення (для CONDRA)

Створення чернетки документа (для CONDRA)

Редагування чернетки документа

Отримання UUID (для CONDRA)

Підписання файлу (для CONDRA)

Заповнення індексів (додавання / оновлення полів екстрапараметрів)

Архівування / Розархівування ланцюжка документів

Отримати реєстр документів в xls форматі

Роздрукувати вкладення документа

Додавання підпису до вкладень документа-чернетки

Отримати хеш вкладення (контейнера) документа для підписання

Отримання інформації про підпис/підписантів

Відхилити «Універсальний/неструктурований документ» (CONDRA). Створення квитанції №13

Відкликати «Універсальний/неструктурований документ» (CONDRA). Створення квитанції №14

Прийняти «Універсальний/неструктурований документ» (CONDRA)

Видалити файл-вкладення (чернетка)

Отримати файл-вкладення

Додати файл до документа-чернетки
POST /api/eds/doc/attachment

Реалізовано на даний момент для наступних документів:

Один документ може містити не більше 10 файлів в наступних форматах: PDF/XLS/XLSX/DOC/DOCX/ODT/PPT/PPTX/JPG/BMP/PNG/XML/P7S з розміром файлу не більше 5 Мб. Назва файла не повинна перевищувати 100 символів. Кожен раз при додаванні нового вкладення підписи всіх інших вкладень документа видаляються.

REQUEST

URL

 

Метод запиту

POST

URL запиту

/api/eds/doc/attachment?gln=9864065732211&doc_uuid=b6d1c701-86f3-4d6d-9da5-f7db284f78b9

URL параметри

gln (обов’язково) String - GLN власної Компанії АБО guid (обов’язково) String - унікальний ідентифікатор власної організації на платформі;

doc_uuid (обов’язково) UUID - ідентифікатор документа

Headers

 

Authorization

SID - токен, отриманий при авторизації

Content-Type

multipart/form-data

REQUEST

 

Form-data

В тілі запиту передається 1 файл.

Приклад запиту:

boundary=----15217883902974046383107741460

----15217883902974046383107741460
Content-Disposition: form-data; name="file"; filename="name.pdf"
Content-Type: application/pdf

(data)
----15217883902974046383107741460

RESPONSE

В тілі відповіді (json) передаються дані файла-вкладення.

Видалити документи-чернетки
PATCH /api/eds/docs

REQUEST

URL

 

Метод запиту

PATCH

URL запиту

/api/eds/docs?gln=9864065732211&family=edi

URL параметри

gln (обов’язково) String - GLN власної Компанії;

family (опціонально) UUID - сервіс/сімейство документів; можливі значення: edi

detailed_response (опціонально) boolean - false за замовчуванням; при detailed_response = true, то у відповідь повернеться додатково статус видалення по кожному документу (success/failed)

Headers

 

Authorization

SID - токен, отриманий при авторизації

Content-Type

application/json

REQUEST

 

JSON Body

В тілі запиту методу передається масив ідентифікаторів документів-чернеток до видалення, наприклад: [«345b68bb-552b-4d0e-8091-a5991f16250c»,«a751981c-1abf-4268-afac-c2389948fe54»]

RESPONSE

Код сервера 200 (ok).

Отримати тіла документів (json) за вказаними UUID
POST /api/v2/eds/doc/content

Обмеження: не більше 50 документів одним запитом!

URL

 

Метод запиту

POST

URL запиту

/api/v2/eds/doc/content?gln=9864232319979

URL параметри

gln (обов’язково) String - GLN власної Компанії

Headers

 

Authorization

SID - токен, отриманий при авторизації

Content-Type

application/json

REQUEST

 

JSON Body

Масив UUID документів через кому

Приклад запиту:

["8b441f1f-a209-4331-b848-5d01766f3a5c", "07d369fe-6f17-4d7a-94d4-9fe0ccad9379"]

RESPONSE

В тілі відповіді передаються дані тіл документів в json форматі.

JSON приклад відповіді:

{
    "07d369fe-6f17-4d7a-94d4-9fe0ccad9379": "{\"DATE\":\"2023-05-16\",\"HEAD\":[{\"SENDER\":\"9864065732181\",\"POSITION\":[{\"POSITIONNUMBER\":1,\"PRODUCT\":\"1231231002\",\"QUANTITYOFCUINTU\":45,\"QUANTITY\":\"10\",\"PRODUCTIDBUYER\":\"11111\",\"DELIVERYPLACE\":\"9864065732211\"}],\"RECIPIENT\":\"9864065732211\",\"SUPPLIER\":\"9864065732181\",\"DELIVERYPLACE\":\"9864065732211\",\"BUYER\":\"9864065732211\"}],\"NUMBER\":\"1111\",\"ORDERNUMBER\":\"1111111\",\"ORDERDATE\":\"2023-05-01\",\"DELIVERYDATE\":\"2023-05-02\",\"AMOUNT\":\"100000\",\"CURRENCY\":\"UAH\",\"DELIVERYINFO\":\"доп\"}",
    "8b441f1f-a209-4331-b848-5d01766f3a5b": "{\"title\":{\"number\":\"17301/1010101\",\"type\":\"Акт виконаних робіт\",\"code\":\"013\",\"date\":\"2023-05-18\",\"place_of\":\"м. Київ\",\"doc_basis\":[{\"number\":\"111\",\"type\":\"Договір\",\"code\":\"001\",\"date\":\"2023-05-01\"}]},\"parties\":{\"partners\":[{\"status\":\"Продавець\",\"type\":\"Юридична\",\"name\":\"Товариство з обмеженою відповідальністю \\\"Імпульс Схід\\\"\",\"code\":\"40824037\",\"inn\":\"408240313043\",\"gln\":\"9864065732181\"},{\"status\":\"Покупець\",\"type\":\"Юридична\",\"name\":\"ПрАТ \\\"Монделіс Україна\\\"\",\"code\":\"00382220\",\"inn\":\"003822218163\",\"gln\":\"9864065732211\"}]},\"table\":{\"position\":[{\"position_number\":\"1\",\"description\":\"Відшкодування витрат за гарантії\",\"qty_received\":1.0,\"unit\":\"послуга\",\"price_base\":21309.99,\"vat\":0.0,\"price\":21309.99,\"total\":{\"sum_without_vat\":21309.99,\"sum_vat\":0.0,\"sum\":21309.99},\"id\":\"1\"}]},\"total\":{\"sum_without_vat\":21309.99,\"vat\":0.0,\"sum\":21309.99}}"
}

Відправка транзакції до «Резерву товару» PRDRSRVN (зміни в табличній частині)
POST /api/eds/doc/prdrsrvn/transaction

Виконувати дії з документом можливо на будь-якому етапі, однак поки оригінальний документ не буде старше 5 днів.

REQUEST

URL

 

Метод запиту

POST

URL запиту

/api/eds/doc/prdrsrvn/transaction?doc_uuid=04c58190-c385-411f-8bd7-2108d4262977&gln=9864065702429

URL параметри

gln - рядок (13); номер GLN організації, яка пов’язана з авторизованим користувачем платформи EDIN 2.0 на рівні акаунта

doc_uuid (опціонально) UUID - ідентифікатор документа (передається для редагування (оновлення) даних раніше створеного документа)

Headers

 

Authorization

SID - токен, отриманий при авторизації

Content-Type

application/json або application/xml

REQUEST

 

JSON Body

В тілі запиту методу передається тіло документа (контент) в json/xml форматі (xml-специфікація документа Резерв товару (PRDRSRVN))

RESPONSE

Код сервера 200 (ok).

Одночасне прийняття, підписання та відправка двох пов’язаних документів
POST /api/eds/docs_and_tickets

Даний метод однією дією (одночасно) виконує Прийняття «Акта приймання-передачі (додаток 8)» (COMDOC_032) (створення квитанції) та Відправку пов’язаного «Акта приймання-передачі (додаток 8)» (COMDOC_033) без чернетки (подібно до послідовного виконання /api/v2/eds/comdoc/accept та /api/eds/doc/create_and_send).

Якщо під час виконання методу під час перевірок буде виявлена логічна помилка на будь-якому етапі, то жодні дії не будуть виконані. Тобто або підписуються обидва документа, або жоден.

REQUEST

URL

 

Метод запиту

POST

URL запиту

/api/eds/docs_and_tickets?gln=9864065732181

URL параметри

gln (обов’язково) String (13) - номер GLN організації, яка пов’язана з авторизованим користувачем платформи EDIN 2.0 на рівні акаунта

Headers

 

Authorization

SID - токен, отриманий при авторизації

Content-Type

multipart/form-data

REQUEST

 

JSON Body

В тілі запиту методу передаються два файли-вкладення пов’язаних документів (рекомендовано в p7s форматі (в бінарному вигляді чи в base64)) та їх дані в об’єкті DocumentRequest

Повний приклад запиту:

POST /api/eds/docs_and_tickets?gln=9864066822430 HTTP/1.1
Host: localhost:8084
Authorization: 9e04baf1-f33b-4e76-8657-5212bae7a9z5
Content-Length: 590
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW

----WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="files"; filename="comdoc_32_from_atb.p7s"
Content-Type: <Content-Type header here>

(data)
----WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="documents"

{"documents":[{"fileName":"comdoc_32_from_atb.p7s","type":"comdoc"},{"fileName":"comdoc_33_from_atb.p7s","type":"comdoc"}]}
----WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="files"; filename="comdoc_33_from_atb.p7s"
Content-Type: <Content-Type header here>

(data)
----WebKitFormBoundary7MA4YWxkTrZu0gW

RESPONSE

doc_uuid - ідентифікатор документа на платформі EDIN 2.0;

chain_uuid - ідентифікатор ланцюжка, в якому знаходиться документ;

ticket_uuid - ідентифікатор квитанції.

JSON приклад відповіді:

{
   "comdoc_32_from_atb.p7s": {
      "doc_uuid": "fdae7e57-3706-4599-90e2-1a5ebee71512",
      "chain_uuid": "d62f1b6e-7400-4bc3-ba5b-7e5d7931adbc",
      "ticket_uuid": "411f23ee-ab07-472f-a1e2-7155a7631ff8"
   }, - це для тікета
   "comdoc_33_from_atb.p7s": {
      "doc_uuid": "b45f5906-9a6b-45d9-adb1-0cc527d260c4",
      "chain_uuid": "d62f1b6e-7400-4bc3-ba5b-7e5d7931adbc"
   } - це для документа
}

Отримати статус документа
POST /api/v2/eds/docs/state

Метод дозволяє користувачеві отримати статус вхідного/відправленого документа (документів).

REQUEST

URL

 

Метод запиту

POST

URL запиту

/api/v2/eds/docs/state?gln=9864065160861

URL параметри

gln (обов’язково) String - GLN власної Компанії

Headers

 

Authorization

SID - токен, отриманий при авторизації

Content-Type

application/json

REQUEST

 

JSON Body

Масив UUID документів через кому, наприклад:

["44f3cf03-e2a3-4f8b-aae1-cafeb28fe699", "fb56e025-9c4d-4936-b889-087c6d5c837d"]

RESPONSE

В тілі відповіді передається інформація про стан документа (exchange_status і де можливо: sub_status_id).

JSON приклад відповіді

{
"44f3cf03-e2a3-4f8b-aae1-cafeb28fe699": {
    "sub_status_id": "1",
    "exchange_status": "000000000000000000000001"
    },
"fb56e025-9c4d-4936-b889-087c6d5c837d": {
    "sub_status_id": "1",
    "exchange_status": "000000000000000000000001"
    }
}