Додавання документа в комплект документів (в пакет)

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

Важливо

Логіка виконання методу може мінятися: якщо «Header» відсутній, у відповідь на успішний запит прийдуть дані по всьому комплекту документів (пакету) - об’єкт Package; якщо ж в «Header» запиту вибрати (передати) один з response-object-type, то:
  • uuid - GUID документа; у відповідь на успішний запит прийде тільки GUID документа (documentUuid);

  • document - дані документів; у відповідь на успішний запит прийде тільки об’єкт з даними документа (DocumentStore)

Метод запиту

HTTPS PUT

Content-Type

application/form-data/json (тіло HTTPS запиту в form-data /тіло відповіді в json форматі)

URL запиту

https://doc.edin.ua/bdoc/store/package/document

Параметри, що передаються в URL (разом з адресою методу)

В рядку заголовка (Header) «Set-Cookie» обов’язково передається SID - токен, отриманий при авторизації

Обов’язкові url-параметри:

package_id - ID комплекта

document_type_id - ID типу комплекту документів, в котрий додається документ

Опціональні url-параметри:

document_date - дата документу форматі UNIX TimeStamp

document_number - номер документу

comment - коментар

JSON-параметри в тілі HTTPS запиту/відповіді

REQUEST

В цьому методі у тіло запиту в form-data передається файл (тільки один file розміром менше 5 Mb) документа, який необхідно додати.

RESPONSE

У відповідь передаються дані комплекту (об’єкт Package).

Таблиця 1 - Опис параметрів об’єкта Package

Параметр

Формат

Опис

Об’єкт Package

packageId

long

ID комплекту

senderCompanyId

long

ID компанії-відправника

recipientCompanyId

long

ID компанії-одержувача

ownerCompanyId

long

ID власника компанії

clientCompanyId

long

ID контрагента

ownerCompany

Company

об’єкт; дані власника компанії

clientCompany

Company

об’єкт; дані контрагента

senderCompany

Company

об’єкт; дані компанії-відправника

recipientCompany

Company

об’єкт; дані компанії-одержувача

contractId

long

ID сценарію документообігу

contract

Contract

об’єкт; дані сценарію документообігу

packageTypeId

long

ID типу комплекту

packageTypeChainId

long

ID ланцюжка типу комплекту (використовується для пошуку пов’язаних версій комплекта)

dateCreated

long

дата створення

dateChanged

long

дата зміни

status

int

статус комплекту

archive

int

ознака архівації

packageNumber

String

номер комплекту

documents

List<DocumentStore>

масив об’єктів; документи комплекту

package2Dictionaries

List<Package2Dictionaries>

масив об’єктів; довідники комплекту

extraFields

List<Package2ExtraField>

масив об’єктів; користувацькі поля, прив’язані до комплекту

contractDictionaries

List<Dictionary>

масив об’єктів; список довідників, скопійованих з сценарію документообігу в момент створення комплекта

packageTags

List<Tag_>

масив об’єктів; список тегів, що прив’язані до комплекту

packageType

PackageType

об’єкт; настройки комплекту документів (комплекту)

isRead

int

ознака прочитання на WEB

isReadFromApi

int

ознака прочитання (завантаження) по API

isReadyForSend

int

індикатор «Готовий до відправлення»

packageDirection

int

напрямок комплекту; 1 - inbox, 2 - outbox, 3 - draft

signDateTerm

long

термін для підписання

packageUuid

UUID

унікальний ідентифікатор комплекта

packageBase

PackageBase_

об’єкт; дані комплекта підстави

packageId

long

ID комплекту

packageBasedId

long

ID комплекта підстави

packageBasedNumber

String

номер комплекта підстави

Таблиця 2 - Опис параметрів об’єкта Company

Параметр

Формат

Опис

Об’єкт Company

companyId

long

ID компанії

accountId

long

ID аккаунта

type

int

тип компанії (1 - юр. особа; 2 - фіз. особа)

name

String

назва компанії

legalName

String

юридична назва

inn

String

ідентифікаційний номер платника податків

code

String

свідоцтво платника ПДВ

phone

String

телефон

info

String

додаткова інформація

isApproved

int

ознака створення компанії з ЕЦП; можливі значення: 0 - створена звичайним способом; 1 - створена з ЕЦП

isSignedOffer

int

ознака підписана чи оферта; значення за замовчуванням = 0; коментар: 0 - Ні; 1 - Так

isActive

int

статус компанії: активна / деактивовано; значення за замовчуванням = 1; коментар: 0 - Ні; 1 - Так

ownershipType

String

форма власності

atCode

String

код КОАТУУ (Класифікатор об’єктів адміністративно-територіального устрою України)

certNum

String

свідоцтво платника ПДВ

uuID

String

унікальний ідентифікатор компанії

bankAcc

BankAcc_

об’єкт; банківські реквізити

legalAddress

Address_

об’єкт; юридична адреса

actualAddress

Address_

об’єкт; фактична адреса

fizName

CompanyFizName_

об’єкт; ПІБ фіз. особи компанії

certificates

List<Certificate_>

масив об’єктів; сертифікати

dictionaries

List<Dictionary>

масив об’єктів; довідники

notifySettings

List<EmailNotifySettings_>

масив об’єктів; налаштування відправки повідомлень на пошту

Таблиця 3 - Опис параметрів об’єкта Contract

Параметр

Формат

Опис

Об’єкт Contract

contractId

long

ID сценарію документообігу

number

String

номер документа

contractName

String

назва сценарію документообігу

date

long

дата документа у форматі UNIX TimeStamp

ownerCompany

Company

об’єкт; інформація про компанію відправника (власника)

clientCompany

Company

об’єкт; інформація про компанію одержувача (клієнта)

description

String

опис / додаткова інформація

expiredDate

long

дійсний до (дата у форматі UNIX TimeStamp)

sentDate

long

дата відправки у форматі UNIX TimeStamp

status

int

статус; 0 - Чернетка; 1 - Новий; 2 - Прийнято; 3 - Відхилено; 4 - Розірвано; 5 - Чекає підписання; значення за замовчуванням = «0»

paymentStatus

int

ознака, що визначає платника за транзакцію; 0 - Відправник (клієнт), 1 - Одержувач (власник); значення за замовчуванням = «0»;

isSpecialConditions

int

ознака використання спеціальних умов обслуговування

isAllClientSenderPackages

int

відмітка «всі комплекти» для вхідних; 0 - немає, 1 — так

isAllOwnerSenderPackages

int

відмітка «всі комплекти» для вихідних; 0 - немає, 1 — так

specialConditions

SpecialConditions_

об’єкт; спеціальні умови

dictionaries

List<Dictionary>

масив об’єктів; дані довідників

tags

List<Tag_>

масив об’єктів; дані тегів

ownerPackages

List<PackageType_>

масив об’єктів; дані комплектів документів відправника

clientPackages

List<PackageType_>

масив об’єктів; дані комплектів документів одержувача

Таблиця 4 - Опис параметрів об’єкта DocumentStore

Параметр

Формат

Опис

Об’єкт DocumentStore

documentId

long

id документа

packageId

long

id комплекта

senderCompanyId

long

id організації відправника

senderCompany

Company

об’єкт; дані компанії відправника

documentType

Document_

об’єкт; опис типу документу

documentTypeId

Long

id типу документу

number

String

номер документу

date

long

дата документу

dateSent

long

дата відправки

clientSignsCount

int

кількість підписів клієнта

ownerSignsCount

int

кількість підписів власника

status

int

статус документа; 2 - відправлений; 3 - прийнятий; 4 - відхилений

comment

String

коментар

versionStructure

long

версія структури структурованого документу

extraFields

List<ExtraField_>

масив об’єктів; прив’язка додаткових полів до документа

bodies

List<DocumentBody_>

масив об’єктів; тіла документів

structure

List<DocStructValue_>

масив об’єктів; опис структури зі значеннями

agreementLogs

List<AgreementLogs_>

масив об’єктів; історія / логи узгоджень

isReadFromApi

int

ознака прочитання по API

documentUuid

UUID

унікальний ідентифікатор документа

agreementProcId

long

ID процесу узгодження

agreementStatus

int

статус узгодження

dictionaryValue

DictionaryValue_

об’єкт; значення довідника

Таблиця 5 - Опис параметрів об’єкта Package2Dictionaries

Параметр

Формат

Опис

Об’єкт Package2Dictionaries

packageId

long

id комплекту

dictionaryId

long

id довідника

fillType

int

тип заповнення поля; «1 - заповнює ініціатор комплекта; 2 - одержувач; 3 - обидва»

required

int

ознака обов’язковості; «0 - Ні; 1 - Так»

dictionary

Dictionary

об’єкт; дані довідника

Таблиця 6 - Опис параметрів об’єкта Package2ExtraField

Параметр

Формат

Опис

Об’єкт Package2ExtraField

packageId

long

id комплекта

fillType

int

тип заповнення; 1 - заповнює клієнт; 2 - заповнює власник; 3 - заповнюють обидва

required

int

ознака обов’язковості; 0 - немає, 1 - так

extraField

ExtraField_

об’єкт; дані додаткового поля

Таблиця 7 - Опис параметрів об’єкта Dictionary

Параметр

Формат

Опис

Об’єкт Dictionary

dictionaryId

long

id довідника

companyId

long

id компании

name

String

назва довідника

code

String

код довідника

isActive

int

статус довідника; 1 - активний, 0 — заблокований

values

List<DictionaryValue_>

масив об’єктів; значення довідника

Приклади

При використанні методу json-тіло запиту відсутнє (дані передавати не потрібно)


Приклад тіла відповіді в json форматі

{
    "packageId": 1966,
    "senderCompanyId": 2,
    "recipientCompanyId": 8,
    "senderCompany": {
        "companyId": 2,
        "accountId": 4,
        "name": "Державне підприємство НИВА",
        "code": "20820657",
        "isApproved": 1,
        "isSignedOffer": 1,
        "isActive": 1,
    },
    "recipientCompany": {
        "companyId": 8,
        "accountId": 6,
        "name": "Анткевич Г.В.",
        "code": "2131767363",
        "isApproved": 1,
        "isSignedOffer": 1,
        "isActive": 1,
    },
    "contract": {
        "contractId": 10,
        "number": "2000",
        "contractName": "Владелец \"ДП НИВА\" - Клиент \"Анткевич\"",
        "date": 1530403200,
        "ownerCompany": {
            "companyId": 2,
            "accountId": 4,
            "name": "Державне підприємство НИВА",
            "code": "20820657",
            "isApproved": 0,
            "isSignedOffer": 0,
            "isActive": 1,
        },
        "clientCompany": {
            "companyId": 8,
            "accountId": 6,
            "name": "Анткевич Г.В.",
            "code": "2131767363",
            "isApproved": 0,
            "isSignedOffer": 0,
            "isActive": 1,
        },
        "description": "Владелец \"ДП НИВА\" - Клиент \"Анткевич\"",
        "expiredDate": 1598659200,
        "status": 2,
    },
    "packageTypeId": 8,
    "dateCreated": 1540286988,
    "dateChanged": 1540287270,
    "status": 1,
    "archive": 0,
    "packageNumber": "1540286988",
    "documents": [
        {
            "documentId": 20,
            "packageId": 13,
            "documentType": {
                "documentId": 5,
                "companyId": 1,
                "name": "Інвойс",
                "code": "11006",
                "isActive": 1,
            },
            "number": "1515757306",
            "date": 1515715200,
            "signsCount": 1,
            "status": 2,
            "bodies": [
                {
                    "bodyId": 20,
                    "documentId": 20,
                    "fileName": "Воросы по БД (ответы).docx",
                    "signBodies": [
                        {
                            "signId": 36,
                            "bodyId": 20,
                            "info": {
                                "ownerInfo": "O=Тестова організація \"Тест Б\";OU=ТестовийБ;…
                                "issuer": "O=ТОВ \"КС\";OU=ЦСК;CN=АЦСК ТОВ \"КС\";Serial=UA
                                "issuerCN": "АЦСК ТОВ \"КС\"",
                                "subjAddress": "22222, м. Київ, вул. Тестова, 2, оф.2",
                                "subjDRFOCode": "",
                                "subjEDRPOUCode": "22332233",
                                "subjEMail": "stamp@m.ail",
                                "subjFullName": "Іванов Іван Петрович",
                                "subjLocality": "Київ",
                                "subjOrg": "Тестова організація \"Тест Б\"",
                                "subjOrgUnit": "ТестовийБ",
                                "subjPhone": "(222) 222222",
                                "subjTitle": "печатка тестовий директор"
                            }
                        }
                    ]
                }
            ]
            "isReadFromApi": 0,
            "documentUuid": "c48233b5-2e08-4a46-92f6-04bbb8e9ca8e"
        },
    ],
    "package2Dictionaries": [
        {
            "packageId": 1,
            "dictionaryId": 3,
            "dictionary": {
                "dictionaryId": 3,
                "companyId": 1,
                "name": "Відділення",
                "code": "DEPARTMENT",
                "isActive": 1,
                "values": [
                    {
                        "valueId": 27,
                        "dictionaryId": 3,
                        "name": "Херсон. Базове.",
                        "code": "1621",
                        "isActive": 1
                    }
                ]
            }
        }
    ],
    "extraFields": [
        {
            "packageId": 37,
            "fillType": 3,
            "required": 1,
            "extraField": {
                "fieldId": 31,
                "companyId": 27,
                "name": "NumDogovor",
                "description": "№ договора поставки",
                "dataType": 1,
                "status": 1,
                "value": "21312фыва1ё"
            }
    "contractDictionaries": [
        {
            "contractId": 1,
            "dictionaryId": 1,
            "dictionary": {
                "dictionaryId": 1,
                "companyId": 1,
                "name": "Сегмент клієнта",
                "code": "SEGMENT",
                "isActive": 1,
                "values": [
                    {
                        "valueId": 1,
                        "dictionaryId": 1,
                        "name": "Мідмаркет",
                        "code": "01",
                        "isActive": 1
                    }
                ]
            }
        }
    ],
    "isRead": 0,
    "isReadFromApi": 0,
    "isReadyForSend": 1,
    "packageDirection": 2,
    "packageUuid": "693ffb23-6b13-4d49-999d-7368e7069c2a"
}