Пошук документів (з фільтрацією), вибір списку документів¶
Для роботи з цим методом користувач повинен бути авторизованим .
За допомогою методу api/eds/docs/search можливо швидко зробити пошук по заданим критеріям, наприклад, отримати список документів з певним статусом, або за проміжок часу.
Метод запиту |
HTTP POST |
---|---|
Content-Type |
application/json (тіло HTTP запиту / відповіді в json форматі) |
URL запиту |
https://edo-v2.edi-n.com/api/eds/docs/search?gln=9864065702429 |
Параметри, що передаються в URL (разом з адресою методу) |
У рядку заголовка (Header) «Cookie» обов’язково передається SID - токен отриманий при авторизації Обов’язкові url-параметри: gln - рядок (13); номер GLN організації, яка пов’язана з авторизованим користувачем платформи EDIN 2.0 на рівні акаунта {«…»} - тіло http запиту - json з критеріями пошуку (Таблиця_2) |
Увага: У запиті в тілі json присутні обов’язкові (повинні передаватися) і опціональні параметри (колонка Тип).
Підказка
Також можливо виконати запит у вигляді curl-рядка:
curl -X POST „https://edo-v2.edi-n.com/api/eds/docs/search?gln=9864065702429“ -d {json с критериями поиска(Таблиця_2)} -b „SID=458a0d38-5b56-4b8e-8998-009a1edd31eb“
Специфікація для розшифровки ключів curl запиту: https://curl.haxx.se/docs/manpage.html
JSON-параметри в тілі HTTP запиту/відповіді
REQUEST
Таблиця 2 - Опис json-параметрів (фільтр) запиту методу API
Параметр |
Формат |
Опис |
|
---|---|---|---|
Об’єкт StorageQuery |
|||
extraParams |
List<ExtraQueryParameters> |
масив об’єктів; |
|
multiExtraParams |
List<ExtraQueryParameters> |
масив об’єктів; |
|
type |
M |
List<XDocType> |
масив об’єктів; список типів документів: 0 - всі типи, 1/2/3 … і більше - конкретний тип документа |
statuses |
M |
List<Integer> |
масив; список статусів (станів) документів, за якими буде відбуватися відбір: 0 - все 1 - open 2 - sent 3 - delivered 4 - inbox 5 - read 6 - error 7 - deleted |
tags |
List<Long> |
масив; тег |
|
exchangeStatus |
O |
List<Integer> |
масив; статус документообігу |
docs |
List<Long> |
масив; документи |
|
direction |
M |
об’єкт; напрямок документообігу; вказуються відправник, отримувач і зв’язок між ними в умовах відбору документів |
|
limit |
O |
объект; фільтр відбору (налаштування виводу даних) |
|
number |
O |
String |
номер документа |
family |
O |
int |
сімейство (EDI / UZD); можливі значення: 1 - edi |
partnerId |
Long |
id роздрібної мережі |
|
chainHash |
String |
хеш-значення, отримане в результаті обробки ланцюжка |
|
docHash |
String |
хеш-значення, отримане в результаті обробки документа |
|
docDate |
O |
об’єкт; дата зазначена в документі (в форматі UNIX-timestamp) з / по |
|
docCreate |
O |
об’єкт; дата створення документа (у форматі UNIX-timestamp) з / по |
|
docRead |
O |
об’єкт; дата прочитання документа (у форматі UNIX-timestamp) з / по |
|
docChanged |
O |
об’єкт; дата останньої зміни документа (у форматі UNIX-timestamp) з / по |
|
archive |
Boolean |
відмітка наявності архівної ознаки документа |
|
important |
boolean |
відмітка важливий документ |
|
visible |
boolean |
відмітка видимості |
|
loadBody |
boolean |
відмітка наявності тіла документа |
|
loadComments |
boolean |
відмітка наявності коментарів до документа |
|
loadStatuses |
boolean |
відмітка наявності статусів документа |
|
loadTags |
boolean |
відмітка наявності тегів документа |
|
loadChain |
boolean |
відмітка наявності ланцюжка документів |
Таблиця 3 - Опис параметрів об’єкта ExtraQueryParameters
Параметр |
Тип |
Формат |
Опис |
---|---|---|---|
Об’єкт ExtraQueryParameters |
|||
operator |
enum (AND, OR) |
||
type |
M |
enum (EQUALS, EQUALS_UUID, EQUALS_MD5, LIKE, MORE, MORE_EQ, LESS, LESS_EQ, IN) |
|
String |
найменування параметру |
||
value |
String |
id параметра |
Таблиця 4 - Опис параметрів об’єкта Direction
Параметр |
Тип |
Формат |
Опис |
---|---|---|---|
Об’єкт Direction |
|||
type |
enum (EQ, OR, IN) |
тип вибірки; можливі значення: » EQ » / » OR » / » IN » * EQ - відбираються тільки документи в яких збігаються зазначені і sender, і receiver; * OR - відбираються документи в яких збігаються АБО sender, АБО receiver; * IN - відбираються документи в яких sender або receiver один з тих, які вказані в масивах sender і receiver |
|
sender |
M/O |
List<String> |
масив; відправники; GLN відправників - обов’язковий, але може бути порожнім якщо зазначений масив GLN одержувачів (receiver) |
receiver |
M/O |
List<String> |
масив; одержувачі; GLN одержувачів - обов’язковий, але може бути порожнім якщо зазначений масив GLN відправників (sender) |
Таблиця 5 - Опис параметрів об’єкта Limitation
Параметр |
Тип |
Формат |
Опис |
---|---|---|---|
Об’єкт Limitation |
|||
offset |
O |
int |
зміщення першого елемента списку щодо верхньої межі вибірки (за замовчуванням 0) |
count |
O |
int |
ліміт вибірки (кількість) |
Таблиця 6 - Опис параметрів об’єкта DateTimeRange
Параметр |
Тип |
Формат |
Опис |
---|---|---|---|
Об’єкт DateTimeRange |
|||
startTimestamp |
long |
початок часового діапазону |
|
finishTimestamp |
long |
закінчення часового діапазону |
Таблиця 7 - Опис параметрів об’єкта XDocType
Параметр |
Тип |
Формат |
Опис |
---|---|---|---|
Об’єкт XDocType |
|||
type |
int |
id типу документа/квитанції |
|
title |
String |
назва документа/квитанции |
|
description |
String |
опис документа/квитанції (найменування кирилицею) |
Таблиця 8 - Опис fieldName параметрів (объект ExtraQueryParameters)
id параметра |
Найменування параметра |
Тип |
Формат |
Опис параметра |
---|---|---|---|---|
1 |
created_from |
UUID |
ідентифікатор документа або ланцюжка |
|
2 |
is_signed |
TINYINT |
відмітка про підписання |
|
3 |
encrypted |
TINYINT |
відмітка про шифрування |
|
4 |
comdoc_reestr_id |
INT |
id факторингового Реєстру на підставі комерційного документа |
|
5 |
comdoc_reestr_is_active |
TINYINT |
відмітка про активність факторингового договору |
|
6 |
ftpex_file_name |
VARCHAR |
найменування файлу, відправленого по FTP |
|
7 |
ftpex_file_date |
INT |
дата/час відправки документа по FTP |
|
8 |
inv_date |
INT |
дата документа invrpt (Звіт про інвентаризацію) |
|
9 |
inv_num |
VARCHAR |
номер документа invrpt (Звіт про інвентаризацію) |
|
11 |
sub_doc_type_id |
INT |
id підтипу документа |
|
12 |
sub_status_id |
INT |
id статусу документа (стан ланцюжка документів) |
|
13 |
action |
VARCHAR |
статус документа за здійсненими діями користувача |
|
14 |
buyer_uuid |
VARCHAR |
відправник документа |
|
15 |
consignee_uuid |
VARCHAR |
вантажоодержувач |
|
16 |
consignor_uuid |
VARCHAR |
вантажовідправник |
|
17 |
customer_uuid |
VARCHAR |
покупець |
|
18 |
performer_uuid |
VARCHAR |
виконавець |
|
19 |
supplier_uuid |
VARCHAR |
постачальник |
|
20 |
delivery_place_uuid |
VARCHAR |
місце доставки |
|
21 |
contract_date |
VARCHAR |
дата договору |
|
22 |
contract_number |
VARCHAR |
номер договору |
|
23 |
delivery_date |
M |
INT |
дата доставки |
24 |
order_number |
M |
VARCHAR |
номер замовлення |
25 |
order_date |
INT |
дата замовлення |
|
26 |
return_date |
INT |
дата повернення |
|
27 |
summ |
VARCHAR |
сума з ПДВ |
|
28 |
parent_chain_hash |
MD5 |
хеш ланцюжка |
|
29 |
period |
VARCHAR |
крайня дата підпису документа |
|
31 |
trans_id |
VARCHAR |
id транзакції |
|
32 |
ttn |
VARCHAR |
номер накладної |
|
33 |
doc_start_date |
VARCHAR |
початок терміну підписання документа |
|
34 |
doc_end_date |
VARCHAR |
закінчення терміну підписання документа |
|
35 |
delivery_note_number |
VARCHAR |
номер накладної |
|
42 |
contract_gln |
VARCHAR |
GLN місце доставки при товарному узгодженні (Agreem-> Comdoc) |
|
43 |
doc_date |
INT |
дата з документа |
|
44 |
delivery_agreement_number |
VARCHAR |
кількість узгоджень |
|
45 |
delivery_agreement_date |
INT |
дата узгодження |
|
46 |
varn |
VARCHAR |
ЮЗД id документа |
|
47 |
other_info |
TEXT |
додаткові дані |
|
48 |
sub_doc_date |
INT |
дата підтипу документа |
|
49 |
sub_doc_number |
VARCHAR |
номер підтипу документа |
|
50 |
doc_error |
TEXT |
помилка при роботі з документом |
|
51 |
doc_info |
TEXT |
коментар до документа |
|
52 |
old_doc_id |
INT |
id документа |
|
53 |
sub_status_date |
INT |
дата статусу документа (стан ланцюжка документів) |
|
54 |
from_doc_id |
INT |
порядковий номер документа в ланцюжку |
|
56 |
doc_num |
VARCHAR |
номер документа |
|
57 |
sender |
VARCHAR |
GLN відправника |
|
58 |
recipient |
VARCHAR |
GLN одержувача |
|
59 |
file_name |
VARCHAR |
найменування прикладаємого (вкладення) файлу |
|
60 |
xml_hash |
VARCHAR |
хеш змісту документа |
|
61 |
answer_doc_id |
INT |
id COMDOC документа відправленного у відповідь |
|
80 |
identifier |
VARCHAR |
ідентифікатор документа в системі клієнта |
|
82 |
compound_number |
VARCHAR |
складовий номер |
|
85 |
doc_process |
TINYINT |
||
87 |
users |
VARCHAR |
||
88 |
basis_doc_subtype |
INT |
підтип документа-підстави |
|
89 |
basis_doc_number |
INT |
номер документа-підстави |
|
90 |
basis_doc_date |
INT |
дата документа-підстави |
Таблиця 9 - Опис DocType параметрів (объект XDocType)
Тип |
Назва |
Опис (найменування кирилицею) |
---|---|---|
0 |
all |
всі |
1 |
invoice |
Рахунок |
2 |
orders |
Замовлення |
3 |
recadv |
Повідомлення про прийом |
4 |
desadv |
Повідомлення про відвантаження |
5 |
ordrsp |
Підтвердження замовлення |
6 |
pricat |
Прайс-лист |
10 |
declar |
Податкова накладна |
11 |
insdes |
Інструкція з доставки |
13 |
slsrpt |
Звіт про продажі |
14 |
invrpt |
Звіт про інвентаризацію |
15 |
coacsu |
Акт звірки взаєморозрахунків |
16 |
actset |
Акт взаємозаліку |
17 |
iftmin |
Інструкція про транспортування |
18 |
retann |
Повідомлення про повернення |
19 |
iftmbf |
Замовлення транспортування |
21 |
mscons |
Звіт про надані послуги |
25 |
retins |
Інструкція з повернення |
28 |
comdoc |
Комерційний документ |
29 |
declarj12 |
Коригування до податкової накладної |
30 |
condra |
Не структурований документ |
42 |
iftmbc |
Підтвердження замовлення транспортування |
59 |
documentinvoice |
Товарна накладна |
67 |
doccorinvoice |
doccorinvoice |
75 |
waybill |
Товарно-транспортна накладна (ТТН) |
79 |
addbill |
addbill |
98 |
quotes |
Додаток до Повідомлення про відвантаження |
*Тип* поля: M - mandatory (обов’язкове до заповнення), O - optional (опціональне)
RESPONSE
Таблиця 10 - Опис json-параметрів, які можуть передаватися в відповіді на метод API
Параметр |
Формат |
Опис |
---|---|---|
items |
List<XDoc_> |
масив об’єктів; перелік документів |
totalCount |
int |
кількість документів |
Таблиця 11 - Опис параметрів об’єкта XDocStatus
Параметр |
Формат |
Опис |
---|---|---|
Об’єкт XDocStatus |
||
state |
int |
id статусу |
title |
String |
статус |
Таблиця 12 - Опис параметрів об’єкта XDoc
Таблиця 13 - Опис параметрів об’єкта XTag
Параметр |
Формат |
Опис |
---|---|---|
Об’єкт XTag |
||
id |
long |
id тега |
name |
String |
зміст тега |
shortName |
String |
коротка назва тега |
Таблиця 14 - Опис параметрів об’єкта XStatus
Параметр |
Формат |
Опис |
---|---|---|
Об’єкт XStatus |
||
docId |
long |
id документа/квитанції |
date |
long |
дата статусу; формат unix timestamp |
type |
int |
тип статусу |
text |
String |
зміст статусу |
Таблиця 15 - Опис параметрів об’єкта XDocSignInfo
Параметр |
Формат |
Опис |
---|---|---|
Об’єкт XDocSignInfo |
||
doc_id |
long |
id документа/квитанції |
date |
long |
дата підписання; формат unix timestamp |
count |
short |
кількість підписів |
info |
String |
додаткова інформація |
hash |
String |
хеш-значення, отримане в результаті обробки |
Таблиця 16 - Опис параметрів об’єкта XDocCommentsList
Параметр |
Формат |
Опис |
---|---|---|
Об’єкт XDocCommentsList |
||
XDocCommentsList |
List<XDocComment> |
масив об’єктів; коментарі до документа |
Таблиця 17 - Опис параметрів об’єкта XDocComment
Параметр |
Формат |
Опис |
---|---|---|
Об’єкт XDocComment |
||
id |
long |
id коментаря |
docUUID |
UUID |
унікальний ідентифікатор документа |
createTimestamp |
long |
дата створення коментаря у форматі timestamp |
authorLogin |
String |
автор коментаря |
comment |
String |
зміст коментаря |
Таблиця 18 - Опис параметрів об’єкта XDocAttachment
Параметр |
Формат |
Опис |
---|---|---|
Об’єкт XDocAttachment |
||
id |
long |
id вкладення |
docUUID |
UUID |
унікальний ідентифікатор документа |
fileName |
String |
найменування файлу |
createDate |
long |
дата створення вкладення; формат unix timestamp |
type |
String |
тип вкладення |
base64content |
String |
зміст вкладення в BASE64 |
content |
byte[] |
зміст вкладення в цілочисельному вигляді |
Таблиця 19 - Опис параметрів об’єкта XDocBodyForms
Параметр |
Формат |
Опис |
---|---|---|
Об’єкт XDocBodyForms |
||
forms |
HashMap<String, XDocBody> |
масив об’єктів; тіло документа |
Таблиця 20 - Опис параметрів об’єкта XDocBody
Параметр |
Формат |
Опис |
---|---|---|
Об’єкт XDocBody |
||
type |
об’єкт; тип тіла документа: CONTENT = 1 - зміст в байтах; JSON = 2 - зміст в json форматі; SIGN = 3 - зміст підпису; STAMP = 4; CRYPTED = 5 - зміст в зашифрованому вигляді; UZDRESPONSE = 6 |
|
base64content |
String |
зміст тіла документа в BASE64 |
Таблиця 21 - Опис параметрів об’єкта XDocBodyType
Параметр |
Формат |
Опис |
---|---|---|
Об’єкт XDocBodyType |
||
id |
int |
id типу тіла документа |
name |
String |
назва типу тіла документа |
Таблиця 22 - Опис DocStatus параметрів (об’єкт XDocStatus)
id статусу |
статус |
---|---|
0 |
ALL - будь-який статус |
1 |
OPEN - чернетка (відправник) |
2 |
SENT - відправлений (відправник) |
3 |
DELIVERED - прочитаний (відправник) |
4 |
INBOX - доставлений / вхідний (одержувач) |
5 |
READ - прочитаний (одержувач) |
6 |
ERROR - помилка |
7 |
DELETED - видалений |
Приклади (json)
Отримати всі вхідні (отримані) документи на певний GLN без чернеток (масив statuses не містить «1»)¶
{
"direction": {
"sender": [],
"receiver": [
"9864232304302"
],
"type": "IN"
},
"exchangeStatus": [],
"family": "1",
"statuses": [
"2",
"3",
"4",
"5",
"6",
"7"
],
"type": [
{
"type": "0"
}
]
}
Отримати всі вхідні (відправлені) документи на певний GLN без чернеток (масив statuses не містить «1»)¶
{
"direction": {
"sender": [
"9864232304302"
],
"receiver": [],
"type": "IN"
},
"exchangeStatus": [],
"family": "1",
"statuses": [
"2",
"3",
"4",
"5",
"6",
"7"
],
"type": [
{
"type": "0"
}
]
}
Отримати всі вхідні (отримані) документи на певний GLN без чернеток (масив statuses не містить «1»), у яких номер містить підрядок «1001»¶
{
"direction": {
"sender": [],
"receiver": [
"9864232304302"
],
"type": "IN"
},
"exchangeStatus": [],
"family": "1",
"statuses": [
"2",
"3",
"4",
"5",
"6",
"7"
],
"number": "1001",
"type": [
{
"type": "0"
}
]
}
Отримати всі вихідні (відправлені) документи по GLN без чернеток (масив statuses не містить «1»), які створені в травні 2019 (startTimestamp і finishTimestamp дати в форматі UNIX-timestamp)¶
{
"direction": {
"sender": [
"9864232304302"
],
"receiver": [],
"type": "IN"
},
"exchangeStatus": [],
"family": "1",
"statuses": [
"2",
"3",
"4",
"5",
"6",
"7"
],
"type": [
{
"type": "0"
}
],
"docDate": {
"startTimestamp": "1556668800",
"finishTimestamp": "1559347199"
}
}
Приклад тіла відповіді (json):
{
"items": [
{
"body": {
"forms": {}
},
"attachments": [],
"comments": [],
"doc_id": 1017,
"doc_uuid": "e18a05d5-983b-4ebc-95f3-c35eccc7d611",
"uuidSender": "4820128010004",
"uuidReceiver": "9864065702429",
"docNumber": "8663c3f48bea4f96a281238e847b1639",
"dateCreated": 1549961913,
"dateChanged": 1549961913,
"dateRead": 0,
"docDate": 1547503200,
"chain_id": 1006,
"chain_uuid": "60e487d3-871f-4b3a-9254-1d3f0e7a032f",
"family": 1,
"hash": "30745386780343D0C2F4C65C7F06D60F",
"type": {
"type": 1,
"title": "invoice",
"description": "Счет"
},
"status": {
"status": 4,
"title": "inbox"
},
"exchange_status": "000000000000000000000000",
"is_archive": false,
"extraFields": {
"order_date": "1551477600",
"delivery_date": "1547503200",
"ftpex_file_name": "highload_invoice_test.xml",
"sender": "4820128010004",
"buyer_uuid": "4820128010004",
"doc_num": "8663c3f48bea4f96a281238e847b1639",
"order_number": "747401",
"doc_date": "1547503200",
"recipient": "9864065702429",
"ftpex_file_date": "1549961913",
"supplier_uuid": "9864065702429",
"delivery_place_uuid": "4820128019007"
},
"tags": [],
"statuses": [],
"multiExtraFields": {}
}
],
"totalCount": 0
}