Пошук документів (з фільтрацією), вибір списку документів

Для роботи з цим методом користувач повинен бути авторизованим .

За допомогою методу 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

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)

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

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
}