Поиск документов (с фильтрацией), выбор списка документов¶
Для работы с этим методом пользователь должен быть авторизированным .
С помощью метода api/eds/docs/search можно быстро совершить поиск по заданым критериям, например, получить список документов с определенным статусом, или за промежуток времени.
Метод запроса |
HTTP POST |
---|---|
Content-Type |
application/json (тело запроса/ответа в json формате в теле HTTP запроса |
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; 6 - Документы АТС |
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 |
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 |
|
|
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 |
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
Параметр |
Формат |
Описание |
---|---|---|
Объект 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 |
XDocType |
объект; тип документа |
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>> |
|
Таблица 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
}