5. Поиск документов (с фильтрацией),выбор списка документов¶
Для работы с этим методом пользователь должен быть авторизированным .
С помощью метода 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“
5.1. JSON-параметры в теле HTTP запроса/ответа¶
Таблица 2 - Описание json-параметров (фильтр) запроса метода API
Параметр | Тип | Формат | Описание | |
---|---|---|---|---|
1 | direction | M | direction {receiver[], sender[], type} | указываются отправитель, получатель и связь между ними в критериях отбора документов |
2 | receiver | M | receiver [«…»] | массив GLN получателей - обязательный, но может быть пустым если указан массив GLN отправителей (sender) |
3 | sender | M | sender [«…»] | массив GLN отправителей, может быть пустым (если указан массив GLN получателей) |
4 | type | M | «EQ» / «OR» / «IN» | тип выборки; возможные значения: EQ - отбираются только документы в которых совпадают указанные И sender, И receiver OR - отбираются документы в которых совпадают ИЛИ sender, ИЛИ receiver IN - отбираются документы в которых sender или receiver один из тех, которые указаны в массивах sender и receiver |
5 | statuses | M | statuses [ ] | список статусов (состояний) документов, по которым будет происходить отбор: 0 - все 1 - open 2 - sent 3 - delivered 4 - inbox 5 - read 6 - error 7 - deleted |
6 | type | M | type [ { } ] | список типов документов: 0 - все типы 1 / 2 / 3 … и более - конкретный тип документа из |
7 | limit | O | limit {offset, count} | фильтр отбора |
8 | offset | O | int | смещение относительно верхней границы выборки |
9 | count | O | int | лимит выборки |
10 | family | O | 1 / 2 / 3 / 4 / 5 | возможные значения (может отсутствовать): 1 - edi 2 - uzd 3 - reports 4 - certificats 5 - factoring |
11 | number | O | String | номер документа, можно не указывать в критериях отбора |
12 | docDate | O | docDate {startTimestamp, finishTimestamp} | дата документа (в формате UNIX-timestamp) с / по, можно не указывать в критериях отбора |
13 | startTimestamp | O | String | дата документа с |
14 | finishTimestamp | O | String | дата документа по |
15 | docCreate | O | docCreate {startTimestamp, finishTimestamp} | дата создания документа (в формате UNIX-timestamp) с / по, можно не указывать в критериях отбора |
18 | docRead | O | docRead {startTimestamp, finishTimestamp} | дата прочтения документа (в формате UNIX-timestamp) с / по, можно не указывать в критериях отбора |
21 | docChanged | O | docChanged {startTimestamp, finishTimestamp} | дата изменения документа (в формате UNIX-timestamp) с / по, можно не указывать в критериях отбора |
24 | exchangeStatus | O | int | список состояний документооборота, может не указываться |
*Тип* поля: M - mandatory (обязательное к заполнению), O - optional (опциональное)
Таблица 4 - Описание json-параметров, которые могут передаваться в ответ на метод API
НУЖНА ТАБЛИЦА !!!!!!!
5.2. Примеры¶
Пример тела запроса (json):
{
"direction": {
"receiver": [
"9864065703464"
],
"sender": [
"9864065702429"
],
"type": "IN"
},
"statuses": [
0
],
"type":[
{
"type" : 0
}
],
"limit":{
"offset":"0",
"count":"3"
},
"family":1,
"number":"com222",
"docDate":{
"startTimestamp":"0",
"finishTimestamp":"1505497243"
},
"docCreate":{
"startTimestamp":"1505307243",
"finishTimestamp":"1505497243"
},
"docRead":{
"startTimestamp":"0",
"finishTimestamp":"1505497243"
},
"docChanged":{
"startTimestamp":"1505307243",
"finishTimestamp":"1505497243"
},
"exchangeStatus":[]
}
Пример тела ответа (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
}
сюда еще нужно добавить модуль проверки сессии и сервера
а тут щось