Поиск документов (с фильтрацией), выбор списка документов

Для работы с этим методом пользователь должен быть авторизированным .

С помощью метода 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) «Set-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 Direction объект; направление документооборота; указываются отправитель, получатель и связь между ними в критериях отбора документов
limit O Limitation объект; фильтр отбора (настройки вывода данных)
number O String номер документа
family O int семейство (EDI / UZD); возможные значения: 1 - edi
partnerId   Long id розничной сети
chainHash   String хэш-значение, полученное в результате обработки цепочки
docHash   String хэш-значение, полученное в результате обработки документа
docDate O DateTimeRange объект; дата указанная в документе (в формате UNIX-timestamp) с / по
docCreate O DateTimeRange объект; дата создания документа (в формате UNIX-timestamp) с / по
docRead O DateTimeRange объект; дата прочтения документа (в формате UNIX-timestamp) с / по
docChanged O DateTimeRange объект; дата последнего изменения документа (в формате 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)  
fieldName   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
наименование файла, отправленного по 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  

Таблица 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 XDocBodyForms объект; тела документов
attachments List<XDocAttachment> массив объектов; вложение (может не использоваться)
comments XDocCommentsList объект (в котором массив объектов); список комментариев
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 XDocStatus объект; статус пары документов у отправителя и получателя
exchange_status String сабстатус документа
is_archive boolean флаг; «архивный» документ или нет
signInfo XDocSignInfo объект; данные о подписях
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 XDocBodyType объект; тип тела документа: 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
}