API сервісу Е-Сертифікати
- Перелік методів API сервісу Е-Сертифікати
- Опис помилок сервісу «Е-Сертифікати»
- Видалити відвантаженя з сертифікату DELETE /api/ecs/certificate/shipments
- Редагувати дані відвантаження PATCH /api/ecs/certificate/shipments
- Додати відвантаження в список відвантажень по сертифікату POST /api/ecs/certificate/shipments
- Отримати список відвантажень по сертифікату GET /api/ecs/certificate/shipments
- Отримати вкладення до сертифіката в PDF GET /api/ecs/body/download
- Видалити всі вкладення сертифіката DELETE /api/ecs/body
- Отримати контент вкладення до сертифіката GET /api/ecs/body
- Додати нові вкладення до сертифіката PUT /api/ecs/body
- Створити вкладення до сертифікату POST /api/ecs/body
- Створити сертифікат з типом «Декларація виробника» (CERTDOC) POST /api/ecs/certdoc
- Масово завантажити сертифікати POST /api/ecs/certificates
- Додати (прив’язати) товари до сертифіката PUT /api/ecs/products
- Знайти сертифікат/-ти POST /api/ecs/search
- Копіювати сертифікат PUT /api/ecs/copy
- Задати/змінити тип доступу до сертифіката PUT /api/ecs/access
- Архівувати / розархівувати сертифікат PUT /api/ecs/archive
- Видалити сертифікат DELETE /api/ecs/certificate
- Отримати сертифікат GET /api/ecs/certificate
- Оновити сертифікат PUT /api/ecs/certificate
- Створити сертифікат POST /api/ecs/certificate
- Підписати вкладення до сертифіката POST /api/ecs/certificate/sign
- Отримати дані про підписання вкладення до сертифіката GET /api/ecs/certificate/sign
Перелік методів API сервісу Е-Сертифікати
Всі запити нижче перерахованих API методів платформи EDIN 2.0 направляються на адресу: https://edo-v2.edin.ua
Для роботи з цими методами користувач повинен бути авторизованим.
Робота з сертифікатами
| Створити сертифікат | POST /api/ecs/certificate |
| Оновити сертифікат | PUT /api/ecs/certificate |
| Отримати сертифікат | GET /api/ecs/certificate |
| Видалити сертифікат | DELETE /api/ecs/certificate |
| Архівувати / розархівувати сертифікат | PUT /api/ecs/archive |
| Задати / змінити тип доступу до сертифіката | PUT /api/ecs/access |
| Копіювати сертифікат | PUT /api/ecs/copy |
| Знайти сертифікат / сертифікати | POST /api/ecs/search |
| Додати (прив'язати) товари до сертифіката | PUT /api/ecs/products |
| Масово завантажити сертифікати | POST /api/ecs/certificates |
|
Створити сертифікат з типом «Декларація виробника» (CERTDOC) |
POST /api/ecs/certdoc |
Робота з вкладеннями до сертифікатів
| Створити вкладення до сертифіката | POST /api/ecs/body |
| Додати нові вкладення до сертифіката | PUT /api/ecs/body |
| Отримати контент вкладення до сертифіката | GET /api/ecs/body |
| Видалити всі вкладення до сертифіката | DELETE /api/ecs/body |
| Отримати вкладення до сертифіката в PDF | GET /api/ecs/body/download |
| Підписати вкладення до сертифіката | |
| Отримати дані про підписання вкладення до сертифіката | GET /api/ecs/certificate/sign |
Робота з пов'язаними відвантаженнями
| Отримати список відвантажень по сертифікату | GET /api/ecs/certificate/shipments |
| Додати відвантаження в список відвантажень по сертифікату | POST /api/ecs/certificate/shipments |
| Редагувати дані відвантаження | PATCH /api/ecs/certificate/shipments |
| Видалити відвантаження з сертифікату | DELETE /api/ecs/certificate/shipments |
Опис помилок сервісу «Е-Сертифікати»
На цій сторінці наданий опис специфічних помилок сервісу «EDI Network». Опис загальних помилок для всіх сервісів EDIN можна знайти за посиланням.
Опис загальних помилок сервісу «Е-Сертифікати»
|
Код відповіді |
Індекс помилки |
Текст помилки |
Опис |
|
400 |
ERR_CRT-1 |
Unknown certificate type: %s Тип сертифіката некоректний: %s |
Невідомий тип сертифіката при зміні типа доступа (PUT, «/api/ecs/access») |
|
400 |
ERR_CRT-2 |
Search query error: %s Помилка пошукового запиту: %s |
Некоректне тіло запита (POST, «/api/ecs/search») |
|
400 |
ERR_CRT-3 |
Certificate with UUID [%s] not found Сертифікат із указаним UUID [%s] не знайдено |
Сертифікат не знайдено (GET, «/api/ecs/certificate») |
|
400 |
ERR_CRT-4 |
Data validation errors detected Виявлено помилки при обробленні даних |
Помилки при опрацюванні сертифікатів, завантажених із excel (POST, «/api/ecs/certificates») |
Опис помилки при масовому завантаженні сертифікатів
Якщо в сертифікатах, що передаються буде допущена помилка, то Ви отримаєте відповідь про помилку в файлі, наприклад:
{
"certificatesErrors":
{
"2":
[
{
"errorType": 1,
"columnName": "Тип сертификату"
},
{
"errorType": 2,
"columnName": "Тип сертификату"
},
{
"errorType": 1,
"columnName": "Номер сертифікату"
},
{
"errorType": 1,
"columnName": "Дата видачі"
},
{
"errorType": 1,
"columnName": "Вид сертифікату"
},
{
"errorType": 2,
"columnName": "Вид сертифікату"
},
{
"errorType": 1,
"columnName": "Дата закінчення дії",
"cause": "Вид сертифікату = 1"
},
{
"errorType": 1,
"columnName": "Номер партії",
"cause": "Вид сертифікату = 2"
},
{
"errorType": 1,
"columnName": "Дата початку дії"
},
{
"errorType": 1,
"columnName": "Назва файлу"
},
{
"errorType": 2,
"columnName": "Назва файлу",
"allowedValues": "[pdf, jpg, jpeg, png, tiff]",
"fileName": "filename.txt"
},
{
"errorType": 3,
"columnName": "Назва файлу",
"fileName": "filename.pdf"
},
{
"errorType": 4,
"columnName": "Назва файлу",
"fileName": "filename.pdf"
}
]
},
"productsErrors":
{
"2":
[
{
"errorType": 1,
"columnName": "Номер сертифікату"
}
]
},
"createdCertificates":
[],
"existedCertificates":
[],
"certsCount": 0,
"productsCount": 0
}
Опис параметрів помилки
|
Поле |
Опис |
|
certificatesErrors/productsErrors |
об’єкт; починається з номера рядка сертифіката / рядка тварної позиції (відповідно), де була допущена помилка. Містить параметри:
|
|
createdCertificates |
масив; номера створених сертифікатів |
|
existedCertificates |
масив; номера існуючих сертифікатів |
|
certsCount - кількість сертифікатів (рядків на 1-му листі xls/xlsx-файлу) |
|
|
productsCount - кількість товарних позицій (рядків на 2-му листі xls/xlsx-файлу) |
Видалити відвантаженя з сертифікату DELETE /api/ecs/certificate/shipments
За допомогою цього методу можна із сертифікату видалити відвантаження по їхньому id.
REQUEST
|
URL |
|
|
Метод запиту |
DELETE |
|
URL запиту |
/api/ecs/certificate/shipments |
|
URL параметри |
gln (обов’язково) String - GLN власної Компанії |
|
Headers |
|
|
Authorization |
SID - токен, отриманий при авторизації |
|
Content-Type |
application/json |
|
REQUEST |
|
|
JSON Body |
В тілі запиту передається JSON масив ідентифікаторів відвантажень.
Приклад запиту:
|
RESPONSE
Код сервера 200 (ok).
Редагувати дані відвантаження PATCH /api/ecs/certificate/shipments
REQUEST
|
URL |
|
|
Метод запиту |
PATCH |
|
URL запиту |
/api/ecs/certificate/shipments |
|
URL параметри |
gln (обов’язково) String - GLN власної Компанії |
|
Headers |
|
|
Authorization |
SID - токен, отриманий при авторизації |
|
Content-Type |
application/json |
|
REQUEST |
|
|
JSON Body |
В тілі запиту передається JSON масив параметрів відвантаження (об'єкт XCertificateShipment).
Приклад запиту:
|
RESPONSE
Код сервера 200 (ok).
Додати відвантаження в список відвантажень по сертифікату POST /api/ecs/certificate/shipments
REQUEST
|
URL |
|
|
Метод запиту |
POST |
|
URL запиту |
/api/ecs/certificate/shipments |
|
URL параметри |
gln (обов’язково) String - GLN власної Компанії; uuid (обов'язково) - сертифіката, обовязковий |
|
Headers |
|
|
Authorization |
SID - токен, отриманий при авторизації |
|
Content-Type |
application/json |
|
REQUEST |
|
|
JSON Body |
В тілі запиту передається JSON масив параметрів відвантаження (об'єкт XCertificateShipment).
Приклад запиту:
|
RESPONSE
Код сервера 200 (ok).
Отримати список відвантажень по сертифікату GET /api/ecs/certificate/shipments
REQUEST
|
URL |
|
|
Метод запиту |
GET |
|
URL запиту |
/api/ecs/certificate/shipments |
|
URL параметри |
gln (обов’язково) String - GLN власної Компанії; uuid (обовязково) - ідентифікатор сертифіката |
|
Headers |
|
|
Authorization |
SID - токен, отриманий при авторизації |
|
Content-Type |
application/json |
RESPONSE
У відповідь отримується JSON масив об'єктів з даними відвантажень, пов'язаних з обраним сертифікатом (об'єкти XCertificateShipment).
JSON приклад відповіді:
[{"id":9,"creatorId":13202937,"number":"shipment_2","date":1740369800,"buyer":"9864065750117"},{"id":15,"creatorId":13202937,"number":"shipment_3","date":1740269800,"buyer":"9864065750135"},{"id":13,"creatorId":13202937,"number":"shipment_1","date":1740169800,"buyer":"9864065750119"}]
Отримати вкладення до сертифіката в PDF GET /api/ecs/body/download
REQUEST
|
URL |
|
|
Метод запиту |
GET |
|
URL запиту |
/api/ecs/body/download |
|
URL параметри |
gln (обов’язково) String - GLN власної Компанії; uuid (обов’язково) UUID - унікальний ідентифікатор сертифіката body_type (обов’язково) int - тип тіла:
|
|
Headers |
|
|
Authorization |
SID - токен, отриманий при авторизації |
|
Content-Type |
application/pdf |
RESPONSE
У тілі відповіді передається
- pdf файл з вкладеннями, якщо body_type: 1.
- p7s файл, якщо body_type: 2.
Видалити всі вкладення сертифіката DELETE /api/ecs/body
REQUEST
|
URL |
|
|
Метод запиту |
DELETE |
|
URL запиту |
/api/ecs/body |
|
URL параметри |
gln (обов’язково) String - GLN власної Компанії; uuid (обов’язково) UUID - унікальний ідентифікатор сертифіката body_type (обов’язково) int - тип тіла:
|
|
Headers |
|
|
Authorization |
SID - токен, отриманий при авторизації |
RESPONSE
Код сервера 200 (ok).
Отримати контент вкладення до сертифіката GET /api/ecs/body
REQUEST
|
URL |
|
|
Метод запиту |
GET |
|
URL запиту |
/api/ecs/body |
|
URL параметри |
gln (обов’язково) String - GLN власної Компанії; uuid (обов’язково) UUID - унікальний ідентифікатор сертифіката body_type (обов’язково) int - тип тіла:
|
|
Headers |
|
|
Authorization |
SID - токен, отриманий при авторизації |
RESPONSE
У тілі відповіді передається контент сформованого pdf файлу з вкладеннями у вигляді base64 рядка.
Додати нові вкладення до сертифіката PUT /api/ecs/body
Максимальний розмір файлу для завантаження - 7,5 МБ
REQUEST
|
URL |
|
|
Метод запиту |
POST |
|
URL запиту |
/api/ecs/body |
|
URL параметри |
gln (обов’язково) String - GLN власної Компанії; uuid (обов’язково) UUID - унікальний ідентифікатор сертифіката body_type (обов’язково) int - тип тіла:
|
|
Headers |
|
|
Authorization |
SID - токен, отриманий при авторизації |
|
Content-Type |
|
|
REQUEST |
|
|
Form-data |
В тілі запиту передаються файли вкладень в форматі PDF, JPG, JPEG, PNG, TIFF. Всі файли, що передаються будуть автоматично об’єднані в один PDF файл.
Приклад запиту:
|
RESPONSE
У тілі відповіді передається контент сформованого pdf файлу з вкладеннями у вигляді base64 рядка.
Створити вкладення до сертифікату POST /api/ecs/body
Максимальний розмір файлу для завантаження - 7,5 МБ
REQUEST
|
URL |
|
|
Метод запиту |
POST |
|
URL запиту |
/api/ecs/body |
|
URL параметри |
gln (обов’язково) String - GLN власної Компанії; uuid (обов’язково) UUID - унікальний ідентифікатор сертифіката body_type (обов’язково) int - тип тіла:
|
|
Headers |
|
|
Authorization |
SID - токен, отриманий при авторизації |
|
Content-Type |
|
|
REQUEST |
|
|
Form-data |
В тілі запиту передаються файли вкладень в форматі PDF, JPG, JPEG, PNG, TIFF. Всі файли, що передаються будуть автоматично об’єднані в один PDF файл.
|
Приклад запиту:
-----------------------------28001198861666343170695798896
Content-Disposition: form-data; name="files[]"; filename="istockphoto-1154370446-612x612.png"
Content-Type: image/png
(data)
-----------------------------28001198861666343170695798896
Content-Disposition: form-data; name="files[]"; filename="photo-1518020382113-a7e8fc38eac9.jpeg"
Content-Type: image/jpeg
(data)
-----------------------------28001198861666343170695798896--
RESPONSE
У тілі відповіді передається контент сформованого pdf файлу з вкладеннями у вигляді base64 рядка.
Створити сертифікат з типом «Декларація виробника» (CERTDOC) POST /api/ecs/certdoc
REQUEST
|
URL |
|
|
Метод запиту |
POST |
|
URL запиту |
/api/ecs/certdoc |
|
URL параметри |
gln (обов’язково) String - GLN власної Компанії publish (необов’язково) Boolean- ознака публікації сертифікату при створенні:
|
|
Headers |
|
|
Authorization |
SID - токен, отриманий при авторизації |
|
Content-Type |
|
|
REQUEST |
|
|
Form-data |
В тілі запиту передається XML файл сертифіката. |
RESPONSE
У тілі відповіді передається унікальний ідентифікатор (UUID) створеного сертифіката, наприклад:
55ef04b2-281e-4fca-bb67-d48fe88ae74f.
Масово завантажити сертифікати POST /api/ecs/certificates
Максимальний розмір файлу для завантаження - 7,5 МБ
REQUEST
|
URL |
|
|
Метод запиту |
POST |
|
URL запиту |
/api/ecs/certificates |
|
URL параметри |
gln (обов’язково) String - GLN власної Компанії |
|
Headers |
|
|
Authorization |
SID - токен, отриманий при авторизації |
|
Content-Type |
|
|
REQUEST |
|
|
JSON Body |
В тілі запиту передається zip-файл, що містить файли-вкладення (в форматі PDF, JPG, JPEG, PNG, TIFF) та заповнений xls/xlsx шаблон з зазначеними назвами файлів-вкладень. |
Приклад передаваємого zip знаходиться у вкладенні до цієї сторінки (ліва бокова панель).
RESPONSE
У тілі відповіді передаються дані завантажених сертифікатів (масив об’єктів XCertificate).
Якщо в сертифікатах, що передаються, буде допущена помилка, то Ви отримаєте відповідь про помилку в файлі.
Додати (прив’язати) товари до сертифіката PUT /api/ecs/products
Якщо продукт уже прив’язаний до сертифіката і в тілі передано його ідентифікатор (XCertificateProduct.id), то дані товару будуть оновлені, в іншому випадку буде створено новий товар.
REQUEST
|
URL |
|
|
Метод запиту |
PUT |
|
URL запиту |
/api/ecs/products |
|
URL параметри |
gln (обов’язково) String - GLN власної Компанії; uuid (обов’язково) UUID - унікальний ідентифікатор сертифіката |
|
Headers |
|
|
Authorization |
SID - токен, отриманий при авторизації |
|
Content-Type |
application/json |
|
REQUEST |
|
|
JSON Body |
В тілі запиту методу передаються дані товарів, що прив’язуються до сертифіката (масив об’єктів XCertificateProduct). |
RESPONSE
Код сервера 200 (ok).
Знайти сертифікат/-ти POST /api/ecs/search
REQUEST
|
URL |
|
|
Метод запиту |
POST |
|
URL запиту |
/api/ecs/search |
|
URL параметри |
gln (обов’язково) String - GLN власної Компанії owner_gln (необов’язково) String - GLN Компанії-Власника сертифікату |
|
Headers |
|
|
Authorization |
SID - токен, отриманий при авторизації |
|
Content-Type |
application/json |
|
REQUEST |
|
|
JSON Body |
В тілі запиту методу передаються дані для фільтрації (об’єкт XQueryCertificates) |
RESPONSE
В тілі відповіді передаються дані про сертифікати.
Копіювати сертифікат PUT /api/ecs/copy
REQUEST
|
URL |
|
|
Метод запиту |
PUT |
|
URL запиту |
/api/ecs/copy |
|
URL параметри |
gln (обов’язково) String - GLN власної Компанії; uuid (обов’язково) UUID - унікальний ідентифікатор сертифіката company_id (опціонально) long - ідентифікатор компанії, від якої здійснюється запит |
|
Headers |
|
|
Authorization |
SID - токен, отриманий при авторизації |
|
Content-Type |
application/json |
RESPONSE
Код сервера 200 (ok).
Задати/змінити тип доступу до сертифіката PUT /api/ecs/access
REQUEST
|
URL |
|
|
Метод запиту |
PUT |
|
URL запиту |
/api/ecs/access |
|
URL параметри |
gln (обов’язково) String - GLN власної Компанії; uuid (обов’язково) UUID - унікальний ідентифікатор сертифіката (можливо передавати кілька в одному запиті) type (обов’язково) String - тип доступу, можливі значення:
|
|
Headers |
|
|
Authorization |
SID - токен, отриманий при авторизації |
|
Content-Type |
application/json |
|
REQUEST |
|
|
JSON Body |
Тіло очікується лише при type=private: тіло запиту в форматі Map<Long, Boolean>, де ключ - це intGlnID кому відкрито доступ, а значення true/false - чи буде дозволено даному intGlnID репостити цей сертифікат комусь іще.
Приклад тіла запиту:
1
[[13203393,false],[13203397,false]]
|
RESPONSE
Код сервера 200 (ok).
Архівувати / розархівувати сертифікат PUT /api/ecs/archive
Дія «архівувати» / «розархівувати» залежить від того, де перебуває сертифікат до виконання метода:
-
якщо сертифікат в Архіві, то виконається розархівування;
-
якщо сертифікат в Опублікованих, то виконається архівування.
REQUEST
|
URL |
|
|
Метод запиту |
PUT |
|
URL запиту |
/api/ecs/archive |
|
URL параметри |
gln (обов’язково) String - GLN власної Компанії; uuid (обов’язково) UUID - унікальний ідентифікатор сертифіката |
|
Headers |
|
|
Authorization |
SID - токен, отриманий при авторизації |
RESPONSE
Код сервера 200 (ok).
Видалити сертифікат DELETE /api/ecs/certificate
REQUEST
|
URL |
|
|
Метод запиту |
DELETE |
|
URL запиту |
/api/ecs/certificate |
|
URL параметри |
gln (обов’язково) String - GLN власної Компанії; uuid (обов’язково) UUID - унікальний ідентифікатор сертифіката |
|
Headers |
|
|
Authorization |
SID - токен, отриманий при авторизації |
RESPONSE
Код сервера 200 (ok).
Отримати сертифікат GET /api/ecs/certificate
REQUEST
|
URL |
|
|
Метод запиту |
GET |
|
URL запиту |
/api/ecs/certificate |
|
URL параметри |
gln (обов’язково) String - GLN власної Компанії; uuid (обов’язково) UUID - унікальний ідентифікатор сертифіката |
|
Headers |
|
|
Authorization |
SID - токен, отриманий при авторизації |
RESPONSE
В тілі відповіді передаються дані про сертифікат.
Оновити сертифікат PUT /api/ecs/certificate
REQUEST
|
URL |
|
|
Метод запиту |
PUT |
|
URL запиту |
/api/ecs/certificate |
|
URL параметри |
gln (обов’язково) String - GLN власної Компанії |
|
Headers |
|
|
Authorization |
SID - токен, отриманий при авторизації |
|
Content-Type |
application/json |
|
REQUEST |
|
|
JSON Body |
В тілі запиту (json) передається об’єкт з даними сертифіката. |
RESPONSE
Код сервера 200 (ok).
Створити сертифікат POST /api/ecs/certificate
REQUEST
|
URL |
|
|
Метод запиту |
POST |
|
URL запиту |
/api/ecs/certificate |
|
URL параметри |
gln (обов’язково) String - GLN власної Компанії |
|
Headers |
|
|
Authorization |
SID - токен, отриманий при авторизації |
|
Content-Type |
application/json |
|
REQUEST |
|
|
JSON Body |
В тілі запиту (json) передається об’єкт з даними сертифіката. |
RESPONSE
У тілі відповіді передається унікальний ідентифікатор (UUID) створеного сертифіката, наприклад: 55ef04b2-281e-4fca-bb67-d48fe88ae74f.
Підписати вкладення до сертифіката POST /api/ecs/certificate/sign
Для підпису доступні тільки сертифікати в стані чернетки із завантаженим вкладенням. Підписувати може тільки користувач з GLN, який створив даний сертифікат.
REQUEST
|
URL |
|
|
Метод запиту |
POST |
|
URL запиту |
/api/ecs/certificate/sign |
|
URL параметри |
gln (обов’язково) String - GLN власної Компанії; uuid (обов’язково) UUID - унікальний ідентифікатор сертифіката |
|
Headers |
|
|
Authorization |
SID - токен, отриманий при авторизації |
|
Content-Type |
application/octet-stream |
|
REQUEST |
|
|
JSON Body |
В тілі запиту методу передається файл підпису p7s в base64 форматі. |
RESPONSE
Код сервера 200 (ok).
Отримати дані про підписання вкладення до сертифіката GET /api/ecs/certificate/sign
REQUEST
|
URL |
|
|
Метод запиту |
GET |
|
URL запиту |
/api/ecs/certificate/sign |
|
URL параметри |
gln (обов’язково) String - GLN власної Компанії; uuid (обов’язково) - UUID, унікальний ідентифікатор сертифіката |
|
Headers |
|
|
Authorization |
SID - токен, отриманий при авторизації |
RESPONSE
В тілі відповіді (json) передається інформація про підписантів (масив об’єктів ExEndUserSignInfo ).