Робота з документами
Всі запити нижче перерахованих 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 |
|
|
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 (опціонально) - число; тип ланцюжка документів;
|
|
Headers |
|
|
Authorization |
SID - токен, отриманий при авторизації |
|
Content-Type |
application/json |
|
REQUEST |
|
|
JSON Body |
В тілі запиту методу опціонально передаються додаткові поля Виняток: при відправці
в тілі запиту обов’язково передається параметр 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 |
|
|
REQUEST |
|
|
JSON Body |
В тілі запиту методу передєються тільки один файл-вкладення в форматі |
При вказуванні 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 папки документів:
family (опціонально) String - назва сімейства документів:
|
|
Headers |
|
|
Authorization |
SID - токен, отриманий при авторизації |
|
Content-Type |
application/json |
|
REQUEST |
|
|
JSON Body |
В тілі запиту методу передаються обов’язкові та додаткові критерії пошуку/фільтрації |
RESPONSE
В тілі відповіді передається масив документів.
Отримання інформації (мета-даних) про документ
Отримання конкретного ланцюжка документів
Отримання контенту документа
Отримання XML контенту документа
Завантажити тіло документа/підпису
Завантажити «Неструктурований (універсальний) документ» (CONDRA) в вигляді архіву
Відправка «Неструктурованого (універсального) документа» (CONDRA)
Створення чернетки «Універсального/неструктурованого документа» (CONDRA)
Створення й відправка «Універсального/неструктурованого документа» (CONDRA) без створення чернетки
Відправка статусу документа
Отримання статусу документа
Додавання файлу-вкладення (для CONDRA)
Створення чернетки документа (для CONDRA)
Редагування чернетки документа
Отримання UUID (для CONDRA)
Підписання файлу (для CONDRA)
Заповнення індексів (додавання / оновлення полів екстрапараметрів)
Архівування / Розархівування ланцюжка документів
Отримати реєстр документів в xls форматі
Роздрукувати вкладення документа
Додавання підпису до вкладень документа-чернетки
Отримати хеш вкладення (контейнера) документа для підписання
Отримання інформації про підпис/підписантів
GET /api/eds/doc/attachment/sign/info
REQUEST
|
URL |
|
|
Метод запиту |
GET |
|
URL запиту |
/api/eds/doc/attachment/sign/info?gln=9864065160861&doc_uuid=1e55d353-89ac-4a3b-8419-ed540a534761&transaction_type=2 |
|
URL параметри |
gln (обов’язково) String - GLN власної Компанії; АБО guid (обов’язково) String - унікальний ідентифікатор власної Компанії; attachment_uuid (обов’язково) UUID - ідентифікатор файла-вкладення (параметр attachmentUUID в тілі відповіді при додаванні файла) |
|
Headers |
|
|
Authorization |
SID - токен, отриманий при авторизації |
|
Content-Type |
application/json |
RESPONSE
В тілі відповіді передається інформація про підписантів (масив об’єктів ExEndUserSignInfo).
Відхилити «Універсальний/неструктурований документ» (CONDRA). Створення квитанції №13
PATCH /api/v2/eds/condra/reject
Відхилити можливо лише вхідний документ, за яким ще не відбувалось Підтвердження / Відхилення / Відкликання!
REQUEST
|
URL |
|
|
Метод запиту |
PATCH |
|
URL запиту |
/api/v2/eds/condra/reject?message=Просто так&gln=9864065732211&doc_uuid=8baa765f-2a4b-4f40-b425-1d00373843c1 |
|
URL параметри |
gln (обов’язково) String - GLN власної Компанії АБО guid (обов’язково) String - унікальний ідентифікатор власної організації на платформі; doc_uuid (обов’язково) UUID - ідентифікатор документа message (обов’язково) String - причина відхилення документа |
|
Headers |
|
|
Authorization |
SID - токен, отриманий при авторизації |
|
Content-Type |
application/xml |
|
REQUEST |
|
|
JSON Body |
В тілі запиту методу передається тіло документа в xml форматі (специфікація документа CONDRA). |
RESPONSE
В тілі відповіді передаються дані створеної квитанції документа (об’єкт XTicket ).
Відкликати «Універсальний/неструктурований документ» (CONDRA). Створення квитанції №14
PATCH /api/v2/eds/condra/withdraw
Відкликати можливо лише надісланий документ, за яким ще не відбувалось Підтвердження / Відхилення / Відкликання!
REQUEST
|
URL |
|
|
Метод запиту |
PATCH |
|
URL запиту |
/api/v2/eds/condra/withdraw?gln=9864065732181&doc_uuid=3e1525b8-e0a1-49eb-9c8d-2e0597137bdb |
|
URL параметри |
gln (обов’язково) String - GLN власної Компанії АБО guid (обов’язково) String - унікальний ідентифікатор власної організації на платформі; doc_uuid (обов’язково) UUID - ідентифікатор документа |
|
Headers |
|
|
Authorization |
SID - токен, отриманий при авторизації |
|
Content-Type |
application/json |
|
REQUEST |
|
|
JSON Body |
В тілі запиту методу передається тіло документа в xml форматі (специфікація документа CONDRA). |
RESPONSE
В тілі відповіді передаються дані створеної квитанції документа (об’єкт XTicket).
Прийняти «Універсальний/неструктурований документ» (CONDRA)
PATCH /api/v2/eds/condra/confirm/send
Підтвердити можливо лише вхідний документ, за яким ще не відбувалось Підтвердження / Відхилення / Відкликання!
|
URL |
|
|
Метод запиту |
PATCH |
|
URL запиту |
/api/v2/eds/condra/confirm/send?gln=9864065732211&doc_uuid=4b5faf20-db85-41e3-a7cf-10885fc57ef0 |
|
URL параметри |
gln (обов’язково) String - GLN власної Компанії АБО guid (обов’язково) String - унікальний ідентифікатор власної організації на платформі; doc_uuid - рядок; UUID документа |
|
Headers |
|
|
Authorization |
SID - токен, отриманий при авторизації |
|
Content-Type |
application/json |
|
REQUEST |
|
|
JSON Body |
В тілі запиту методу передається тіло документа в xml форматі (специфікація документа CONDRA). |
RESPONSE
Код сервера 200 (ok).
Видалити файл-вкладення (чернетка)
DELETE /api/eds/doc/attachment
Кожен раз при видаленні одного вкладення підписи всіх інших вкладень документа видаляються.
REQUEST
|
URL |
|
|
Метод запиту |
DELETE |
|
URL запиту |
/api/eds/doc/attachment?gln=9864065732211&attachment_uuid=b7e53a94-dd61-4e8b-bc98-44100e434efb&doc_uuid=b6d1c701-86f3-4d6d-9da5-f7db284f78b9 |
|
URL параметри |
gln (обов’язково) String - GLN власної Компанії АБО guid (обов’язково) String - унікальний ідентифікатор власної організації на платформі; attachment_uuid (обов’язково) UUID - ідентифікатор файла-вкладення (параметр attachmentUUID в тілі відповіді при додаванні файла) doc_uuid (обов’язково) UUID - ідентифікатор документа |
|
Headers |
|
|
Authorization |
SID - токен, отриманий при авторизації |
|
Content-Type |
application/json |
RESPONSE
Код сервера 200 (ok).
Отримати файл-вкладення
GET /api/eds/doc/attachment
Реалізовано на даний момент для наступних документів: Універсальний/неструктурований документ (CONDRA)
REQUEST
|
URL |
|
|
Метод запиту |
GET |
|
URL запиту |
/api/eds/doc/attachment?gln=9864065732211&attachment_uuid=b7e53a94-dd61-4e8b-bc98-44100e434efb |
|
URL параметри |
gln (обов’язково) String - GLN власної Компанії АБО guid (обов’язково) String - унікальний ідентифікатор власної організації на платформі; attachment_uuid (обов’язково) UUID - ідентифікатор файла-вкладення (параметр attachmentUUID в тілі відповіді при додаванні файла) |
|
Headers |
|
|
Authorization |
SID - токен, отриманий при авторизації |
|
Content-Type |
MIME типізація згідно типу файлу-вкладення |
RESPONSE
В тілі відповіді передається файл-вкладення.
Додати файл до документа-чернетки
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 |
В тілі запиту методу передається масив ідентифікаторів документів-чернеток до видалення, наприклад: |
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 |
|
|
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 |
|
|
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"
}
}