Пошук документів (з фільтрацією), вибір списку документів¶
Для роботи з цим методом користувач повинен бути авторизованим .
За допомогою методу 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)
Таблиця 9 - Опис DocType параметрів (объект XDocType)
Тип |
Назва |
Опис (найменування кирилицею) |
---|---|---|
0 |
all |
всі |
1 |
invoice |
|
2 |
orders |
|
3 |
recadv |
|
4 |
desadv |
|
5 |
ordrsp |
|
6 |
pricat |
|
7 |
comdis |
|
9 |
act |
|
10 |
declar |
|
11 |
insdes |
|
12 |
desscc |
|
13 |
slsrpt |
|
14 |
invrpt |
|
15 |
coacsu |
|
16 |
actset |
|
17 |
iftmin |
|
18 |
retann |
|
19 |
iftmbf |
|
20 |
partin |
|
21 |
mscons |
|
25 |
retins |
|
28 |
comdoc |
|
29 |
declarj12 |
|
30 |
condra |
|
32 |
reestr |
|
40 |
prodlist |
|
41 |
agreem |
|
42 |
iftmbc |
|
59 |
documentinvoice |
|
67 |
doccorinvoice |
|
98 |
quotes |
|
109 |
ettn |
|
111 |
transhipment |
|
117 |
acceptance |
|
113 |
booking |
|
114 |
bookingconfirmation |
|
112 |
completion |
|
118 |
docinvoiceact |
|
119 |
discrepancy |
|
120 |
contrl |
*Тип* поля: M - mandatory (обов’язкове до заповнення), O - optional (опціональне)
RESPONSE
Таблиця 10 - Опис json-параметрів, які можуть передаватися в відповіді на метод API
Параметр |
Формат |
Опис |
---|---|---|
items |
List<XDoc> |
масив об’єктів; перелік документів |
totalCount |
int |
кількість документів |
Таблиця 11 - Опис параметрів об’єкта XDocStatus
Параметр |
Формат |
Опис |
---|---|---|
Об’єкт XDocStatus |
||
state |
int |
id статусу |
title |
String |
статус |
Таблиця 12 - Опис параметрів об’єкта XDoc
Параметр |
Формат |
Опис |
---|---|---|
Об’єкт XDoc |
||
body |
об’єкт; тіла документів |
|
attachments |
List<XDocAttachment> |
масив об’єктів; вкладення (може не використовуватися) |
comments |
об’єкт (в якому масив об’єктів); список коментарів |
|
doc_id |
long |
id документа |
doc_uuid |
UUID |
унікальний ідентифікатор документа/квитанції |
uuidSender |
String |
унікальний ідентифікатор відправника |
uuidReceiver |
String |
унікальний ідентифікатор одержувача |
docNumber |
String |
номер документа |
dateCreated |
long |
дата створення документа (unix timestamp) |
dateChanged |
long |
дата останньої зміни документа (unix timestamp) |
dateRead |
long |
дата прочитання документа (unix timestamp) |
docDate |
long |
дата документа, зазначена в документі |
chain_id |
long |
id ланцюжка документів |
chain_uuid |
UUID |
унікальний ідентифікатор ланцюжка документів |
family |
int |
сімейство (EDI / UZD) |
hash |
String |
хеш-значення, отримане в результаті обробки |
type |
об’єкт; тип документа |
|
status |
об’єкт; статус пари документів у відправника і одержувача |
|
exchange_status |
String |
сабстатус документа |
is_archive |
boolean |
відмітка; Архівний документ чи ні |
signInfo |
об’єкт; дані про підписи |
|
chain |
XChain |
объект; дані пов’язаних ланцюжків |
extraFields |
Map<String, String> |
масив об’єктів; набір індексів (аналог індексних таблиць) |
tags |
List<XTag> |
масив об’єктів; прикріплені теги |
statuses |
List<XStatus> |
масив об’єктів; статуси обробки відправлених документів |
multiExtraFields |
Map<String, List<String>> |
масив об’єктів; мультиіндекс. Приклад: {„key1“: [„val1“, „val2“], „key2“: [„val1“, „val2“]}. Використовується, наприклад для обробки передаваємого рядка => розбивка рядка за умовою => індексування кожного шматка |
Таблиця 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)
Отримати всі документи окрім чернеток(масив statuses не містить «1»), в яких отримувачем є GLN 9864232304302¶
{
"direction": {
"sender": [],
"receiver": ["9864232304302"],
"type": "EQ"
},
"exchangeStatus": [],
"family": "1",
"statuses": ["2","3","4","5","6","7"],
"type": [
{
"type": "0"
}
]
}
Отримати всі документи окрім чернеток(масив statuses не містить «1»), в яких відправником є GLN 9864232304302¶
{
"direction": {
"sender": ["9864232304302"],
"receiver": [],
"type": "EQ"
},
"exchangeStatus": [],
"family": "1",
"statuses": ["2","3","4","5","6","7"],
"type": [
{
"type": "0"
}
]
}
Отримати всі вхідні документи (GLN отримувача 9864232304302)¶
{
"direction": {
"sender": [],
"receiver": ["9864232304302"],
"type": "EQ"
},
"exchangeStatus": [],
"family": "1",
"statuses": ["4","5","6"],
"type": [
{
"type": "0"
}
]
}
Отримати всі відправлені документи (GLN відправника 9864232304302)¶
{
"direction": {
"sender": ["9864232304302"],
"receiver": [],
"type": "EQ"
},
"exchangeStatus": [],
"family": "1",
"statuses": ["2","3","6"],
"type": [
{
"type": "0"
}
]
}
Отримати документи з номером рівним значенню «1001» (пошук серед усіх документів окрім чернеток), в яких отримувачем є GLN 9864232304302¶
{
"direction": {
"sender": [],
"receiver": ["9864232304302"],
"type": "EQ"
},
"exchangeStatus": [],
"family": "1",
"statuses": ["2","3","4","5","6","7"],
"number": "1001",
"type": [
{
"type": "0"
}
]
}
Отримати всі документи окрім чернеток для GLN відправника 9864232304302, що створені в травні 2019 (startTimestamp і finishTimestamp дати в форматі UNIX-timestamp)¶
{
"direction": {
"sender": ["9864232304302"],
"receiver": [],
"type": "EQ"
},
"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
}