Перейти до змісту

Опис API е-кабінету

API або прикладний програмний інтерфейс (англ. Application Programming Interface,) - це набір визначень взаємодії різнотипного програмного забезпечення. «Електронний кабінет» за допомогою АРІ забезпечує взаємодію з різноманітним програмним забезпеченням, що реалізує функції подання звітності.

Взаємодія через програмний інтерфейс REST АРІ

REST (скор. англ. Representational State Transfer, «передача репрезентативного стану») — підхід до архітектури мережевих протоколів, які забезпечують доступ до інформаційних ресурсів.

Дані передаються у вигляді стандартного формату JSON (до якого вкладено підписаний та зашифрований XML документ).

Робота АРІ Кабінету організована наступним чином:

Розташування у мережі Internet:

Вузол: https://cabinet.fiu.gov.ua

Основной шлях: /public/api/exchange

Повний шлях: https://cabinet.fiu.gov.ua/public/api/exchange/

Загальна схема взаємодії з API

Надсилання звіту за допомогою REST АРІ

Метод, що використовується: POST.

Додатковий шлях (додається до основного або повного шляху): /report

Параметри

Приймає - application/json

Тип Ім'я Обов'язковий Схема Опис
Body Parameters list true InReportDao Передається масив
array contentBase64, fname

Сформований XML-документ повинен бути підписаний в одному файлі, алгоритм підпису ДСТУ 4145, формат підпису CAdES-X Long - довогостроковий з повними даними для перевірки, зашифрований та переданий в параметрі contentBase64

Відкритий сертифікат шифрування е-Кабінету

Ім'я файлу-повідомлення в форматі Zx0123456789YYYYMMDD.nnn де:

  • x- тип файлу-повідомлення
  • 0123456789 - код ЄДРПОУ/РНОКПП
[
    {
        "fname": "Ім'я файлу-повідомлення",
        "contentBase64": "файл-повідомлення підписане особистим КЕП відправника зашифроване на відкритий сертифікат шифрування е-Кабінету та закодоване у Base64",
        "crtCryptBase64": "Відкритий сертифікат шифрування відправника закодований у Base64"
    }
]

Відповіді

HTTP код Опис Схема
200 OK ReturnReport
201 Created No Content
401 Unauthorized No Content
403 Forbidden No Content
404 Not Found No Content

Повертає - application/json за тим же шляхом

Отримання квитанцій за допомогою REST АРІ

Метод, що використовується: POST

Додатковий шлях (додається до основного): /kvt_by_id

Параметри

Приймає - application/json

Тип Обов'язковий Схема Опис
Body Parameters true RequestKvt encryptedId, crtCryptBase64

Ідентифікатор повідомлення повинен бути підписаний в одному файлі, алгоритм підпису ДСТУ 4145, формат підпису CAdES-X Long - довогостроковий з повними даними для перевірки, зашифрований та переданий в параметрі encryptedId

Відкритий сертифікат шифрування е-Кабінету

{
    "encryptedId": "Ідентифікатор повідомлення (ID), підписаний особистим КЕП відправника, зашифрований на відкритий сертифікат шифрування е-Кабінету та закодований у Base64",
    "crtCryptBase64": "Відкритий сертифікат шифрування відправника закодований у Base64"
}

Відповіді

HTTP код Опис Схема
200 OK ReturnReport
201 Created No Content
401 Unauthorized No Content
403 Forbidden No Content
404 Not Found No Content

Повертає - application/json за тим же шляхом

Визначення

InReportDao

Ім’я Опис Обов’язковість Схема
contentBase64 дані false string
fname назва файлу false string
crtCryptBase64 сертификат false string

ReturnKvt

Ім’я Опис Обов’язковість Схема
finalKvt ознака false integer (int32)
kvtBase64 дані false string
kvtFname назва файлу false string
numKvt номер квитанції false integer (int32)
status статус false integer (int32)

ReturnReport

Ім’я Опис Обов’язковість Схема
id ідентифікатор false integer (int64)
kvt1Base64 дані false string
kvt1Fname назва файлу false string
kvtList перелік квитанцій false ReturnKvt array
message сповіщення false string
status статус false enum (OK,ERROR,
ERROR_DECRYPT,
ERROR_STRUCT_REPORT,
ERROR_DB ERROR_DOC,
ERROR_SERTIF_ORG
ERROR_SERTIF,
ERROR_FILE_NAME,
ERROR_CNT,
ERROR_XSD ERROR_USER,
NOT_KVT)

RequestKvt

Ім’я Опис Обов’язковість Схема
encryptedId ідентифікатор false string
crtCryptBase64 сертификат false string