Робота з документами
Всі запити нижче перерахованих 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 doc_type clone_from_doc_uuid |
|
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 doc_uuid doc_hash chain_hash chain_uuid partner_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 doc_type |
|
Headers |
|
|
Authorization |
SID |
|
Content-Type |
|
|
REQUEST |
|
|
JSON Body |
В тілі запиту методу передєються |
При вказуванні application/pkcs7-signature доступна можливість обробки BASE64 формату.
RESPONSE
-
chain_uuidchain_uuid - ідентифікатор ланцюжка, в якому знаходиться документ -
doc_uuiddoc_uuid - ідентифікатор документа на платформі EDIN 2.0; -
ticket_uuidticket_uuid - ідентифікатор квитанції
Параметр ticket_uuid ticket_uuid система повертає тільки у випадках, коли на існуючий документ намагаються створити додатковий тікет (підписання у відповідь, відмова від підпису, запит на анулювання). Тобто, якщо документ новий, система поверне у відповідь тільки chain_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"
}
Пошук документів (з фільтрацією), вибір списку документів
POST /api/eds/docs/search
За допомогою цього методу методу можна швидко зробити пошук по заданим критеріям, наприклад, отримати список документів з певним статусом або за проміжок часу.
REQUEST
|
URL |
|
|
Метод запиту |
POST |
|
URL запиту |
/api/eds/docs/search?gln=9864065702429&status_id=2 |
|
URL параметри |
gln status_id
family
|
|
Headers |
|
|
Authorization |
SID |
|
Content-Type |
application/json |
|
REQUEST |
|
|
JSON Body |
В тілі запиту методу |
RESPONSE
В тілі відповіді передається тілі відповіді передається масив документів.
Отримання інформації (мета-даних) про документ
GET /api/eds/doc
REQUEST
|
URL |
|
|
Метод запиту |
GET |
|
URL запиту |
/api/eds/doc?gln=9864232319979&doc_uuid=c1f6a1d0-5aaf-4a06-b78d-71c238f70986 |
|
URL параметри |
gln doc_uuid |
|
Headers |
|
|
Authorization |
SID |
|
Content-Type |
application/json |
RESPONSE
У тілі відповідь тілі відповідь передаються дані вказаного документа (об’єкт єкт XDoc ).
Отримання конкретного ланцюжка документів
GET /api/eds/chain
Документи пов’язуються в один ланцюжок, в тому випадку якщо у них ідентичні значення полів Відправник, Одержувач, Покупець, Точка доставки (GLN-и) і і Номер замовлення (якщо відсутній, то Номер документа).
За допомогою методу методу api/eds/chain і заданих параметрів можливо отримати (вивантажити) необхідні дані вказаного ланцюжка документів.
|
URL |
|
|
Метод запиту |
GET |
|
URL запиту |
/api/eds/chain?gln=9864065702429&chain_uuid=9fe45d32-35c7-44d0-9131-7257fc0c0f39&load_docs=true&load_bodies=true&load_package=true&load_comments=true&load_tags=true&load_statuses=true |
|
URL параметри |
gln chain_uuid Опціональні url-параметри (boolean фільтри): load_docs load_bodies load_package load_comments load_tags load_statuses |
|
Headers |
|
|
Authorization |
SID |
|
Content-Type |
application/json |
Приклади url-запитів:
- Отримати перелік документів за визначеним ланцюжком без завантаження їхніх тіл, пакетів, коментарів, тегів і статусів:
- Отримати перелік документів за визначеним ланцюжком з завантаженням тіл і коментарів без завантаження їхніх пакетів, тегів і статусів:
- Отримати перелік документів за визначеним ланцюжком з завантаженням пакетів, тегів без завантаження їхніх тіл і коментарів і статусів:
- Отримати перелік документів за визначеним ланцюжком з завантаженням статусів без завантаження їхніх тіл, коментарів, пакетів, тегів:
RESPONSE
В тілі відповіді тілі відповіді передається ланцюжок документів (об’єкт єкт XChain).
Отримання контенту документа
GET /api/eds/doc/body
За допомогою цього методу можливо швидко отримати контент документа без підписів/печаток, а також тіло підпису, тіло печатки.
REQUEST
|
URL |
|
|
Метод запиту |
GET |
|
URL запиту |
/api/eds/doc/body?gln=9864065702429&doc_uuid=97c06d02-7c3c-4467-aaac-4a808078609f&body_type=JSON&response_type=base64 |
|
URL параметри |
gln АБО guid doc_uuid body_type
response_type
|
|
Headers |
|
|
Authorization |
SID |
|
Content-Type |
application/json |
RESPONSE
В тілі відповіді тілі відповіді передається тіло документа в форматі, що визначається значенням параметра параметра body_type.
Отримання XML контенту документа
GET /api/eds/doc/xml
REQUEST
|
URL |
|
|
Метод запиту |
GET |
|
URL запиту |
/api/eds/doc/xml?gln=9864232319979&doc_uuid=c1f6a1d0-5aaf-4a06-b78d-71c238f70986 |
|
URL параметри |
gln doc_uuid response_type
|
|
Headers |
|
|
Authorization |
SID |
|
Content-Type |
application/json |
RESPONSE
В тілі відповіді тілі відповіді передається XML контента документа (специфікації документів).
Завантажити тіло документа/підпису
GET /api/eds/doc/download
REQUEST
|
URL |
|
|
Метод запиту |
GET |
|
URL запиту |
/api/eds/doc/download?gln=9864067620417&doc_uuid=f7b2c329-58ea-4800-a984-3bfba37824bd&file_name=dokdok1&format=pdf |
|
URL параметри |
gln doc_uuid file_name format
response_type
|
|
Headers |
|
|
Authorization |
SID |
|
Content-Type |
application/octet-stream |
RESPONSE
У тілі тілі відповідь передається тіло вказаного документа/підпису чи архів з усіма доступними форматами файлів.
Відправка статусу документа
POST /api/eds/doc/statuses
REQUEST
|
URL |
|
|
Метод запиту |
POST |
|
URL запиту |
/api/eds/doc/statuses?gln=9864232319979&doc_uuid=c1f6a1d0-5aaf-4a06-b78d-71c238f70986&type=1&recipient=9864066822430&recipient=9864065743163 |
|
URL параметри |
gln doc_uuid type
sub_status
Взаємовиключаючі параметри:
|
|
Headers |
|
|
Authorization |
SID |
|
Content-Type |
application/json |
|
REQUEST |
|
|
JSON Body |
В тілі запиту методу передається вільний текст (причина, наприклад, для відхилення/відмови/анулювання) |
RESPONSE
Код сервера 200 (ok).
Отримання статусу документа
GET /api/eds/doc/statuses
REQUEST
|
URL |
|
|
Метод запиту |
GET |
|
URL запиту |
/api/eds/doc/statuses?gln=9864232319979&doc_uuid=c1f6a1d0-5aaf-4a06-b78d-71c238f70986 |
|
URL параметри |
gln doc_uuid |
|
Headers |
|
|
Authorization |
SID |
|
Content-Type |
application/json |
RESPONSE
У тілі відповідь тілі відповідь передається статус вказаного документа (об’єкт єкт XStatus ).
Редагування чернетки документа
PUT /api/eds/doc
REQUEST
|
URL |
|
|
Метод запиту |
PUT |
|
URL запиту |
/api/eds/doc?gln=9864065737773&doc_uuid=53080196-75e7-462a-a772-5870f3774d9b&recipient=9864065747215&doc_number=Zaya_001&doc_date=1674424800&family=edi |
|
URL параметри |
gln doc_uuid doc_number doc_date recipient family
|
|
Headers |
|
|
Authorization |
SID |
|
Content-Type |
application/json |
|
REQUEST |
|
|
JSON Body |
В тілі запиту методу передається документ у форматі JSON (XML специфікації EDI документів |
RESPONSE
Код сервера 200 (ok).
Заповнення індексів (додавання / оновлення полів екстрапараметрів)
PUT /api/eds/doc/extra_fields
Заповнення індексів необхідно для коректного відображення та пошуку документів. По факту це повтор «Створення CONDRA», але з іншими полями. Якщо на попередньому кроці отримали помилку, то необхідно переривати подальше виконання запитів.
REQUEST
|
URL |
|
|
Метод запиту |
PUT |
|
URL запиту |
/api/eds/doc/extra_fields?doc_uuid=37c753a5-7746-4e3f-8485-332c16b63f83&gln=9864067620417 |
|
URL параметри |
gln АБО guid doc_uuid |
|
Headers |
|
|
Authorization |
SID |
|
Content-Type |
application/json |
|
REQUEST |
|
|
JSON Body |
В тілі запиту методу |
RESPONSE
Код сервера 200 (ok).
Архівування / Розархівування ланцюжка документів
PATCH /api/eds/chain/archive
REQUEST
|
URL |
|
|
Метод запиту |
PATCH |
|
URL запиту |
api/eds/chain/archive?gln=9864065702429&chain_uuid=8c8a70e7-81c6-4382-8b58-7d60c3bc6ffd&archive=true |
|
URL параметри |
gln chain_uuid archive
|
|
Headers |
|
|
Authorization |
SID |
|
Content-Type |
application/json |
RESPONSE
Код сервера 200 (ok).
Отримати реєстр документів в xls форматі
GET /api/eds/doc/reports/doctype
Обмеження! Реєстр можливо отримати за період, що не перевищує 31 добу та лише для певних типів документів.
Перелік типів документів, для яких можна отримати реєстр:
-
«Замовлення» (ORDERS)
-
«Повідомлення про відвантаження» (DESADV)
-
«Підтвердження замовлення» (ORDRSP)
-
«Повідомлення про прийом» (RECADV)
-
«Рахунок» (INVOICE)
-
«Накладні» (DOCUMENTIVOICE) загалом чи за
вказанимвказаним підтипом: «Товарна накладна»/»Цінова накладна»/»Видаткова накладна»/»Накладна за кількістю» (DOCUMENTINVOICE з DocumentFunctionCode=DRN/PRN/TN) -
«Комерційні документи» (COMDOC) загалом чи за
вказанимвказаним підтипом«Комерційного документа»
|
URL |
|
|
Метод запиту |
GET |
|
URL запиту |
/api/eds/doc/reports/doctype?gln=9864065732181&doc_type_id=2&date_from=1663102800&date_to=1665608400&recipient=9864067307424 |
|
URL параметри |
gln doc_type_id sub_doc_type_id date_from date_to sender |
|
Headers |
|
|
Authorization |
SID |
|
Content-Type |
application/json |
RESPONSE
У тілі тілі відповіді передається звіт у вигляді xlsx-файлу з даними документів.
Отримання інформації про підпис/підписантів
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 attachment_uuid |
|
Headers |
|
|
Authorization |
SID |
|
Content-Type |
application/json |
RESPONSE
В тілі відповіді тілі відповіді передається інформація про підписантів (масив об’єктів єктів ExEndUserSignInfo).
Видалити документи-чернетки
PATCH /api/eds/docs
REQUEST
|
URL |
|
|
Метод запиту |
PATCH |
|
URL запиту |
/api/eds/docs?gln=9864065732211&family=edi |
|
URL параметри |
gln family detailed_response |
|
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 |
|
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 doc_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 |
|
Headers |
|
|
Authorization |
SID |
|
Content-Type |
|
|
REQUEST |
|
|
JSON Body |
В тілі запиту методу передаються два файли-вкладення пов’язаних документів (рекомендовано в p7s форматі (в бінарному вигляді чи в base64)) та їх дані в об’ |
Повний приклад запиту:
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 |
|
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"
}
}
