Skip to main content

Створення компанії POST /api/external/company/create

Метод створює компанію у статусі DRAFT, з договором-офертою OFFER, створює чернетку ключа суперадміністратора та привʼязує компанію до зовнішньої системи.

Якщо компанія з таким кодом вже привʼязана до цієї зовнішньої системи, метод не створює нову компанію, а повертає існуючий обʼєкт ESSCompany.

Якщо компанія з таким кодом вже активна, але не привʼязана до цієї зовнішньої системи, метод повертає помилку company_already_active.

Endpoint

REQUEST

URL


Метод запиту

POST

URL запиту

/api/external/company/create

URL параметри

 

Authorization


Auth type

API key

Key / Value

x-system-id - токен, отриманий при підключенні

Headers

 

Content-Type

application/json

REQUEST

 

REQUEST Body

info (обов’язково) JSON - дані для додавання співробітника;

company (обов’язково) JSON - підписаний контейнер ідентифікації співробітника.

 

Всі персональні дані ідентифікації беруться з підпису/сертифіката у file identification,

а
не з JSON info

Request body 

Content-Type: application/jsonCOMPANY

{
  "company": {
    "fullName": "ТОВАРИСТВО З ОБМЕЖЕНОЮ ВІДПОВІДАЛЬНІСТЮ \"ТЕСТ\"",
    "shortName": "ТОВ \"ТЕСТ\"",
    "fullNameEN": "TEST LLC",
    "shortNameEN": "TEST LLC",
    "type": "COMPANY",
    "code": "00000000",
    "ipn": null,
    "country": "UA",
    "state": "м. Київ",
    "locality": "Київ",
    "street": "вул. Тестова, 1",
    "ceoName": "Іваненко Іван Іванович"
  },
  "info": {
    "fullName": "Іваненко Іван Іванович",
    "ipn": "0000000000",
    "phone": "380671234567",
    "email": "ivanenko@example.com",
    "organizationUnit": "Адміністрація",
    "position": "Директор"
  }
}

company 

company — обʼєкт ESSCompany.

Поле Тип Обовʼязкове Опис
fullName string так Повна назва компанії/ФОП.
shortName string так Скорочена назва компанії/ФОП.
fullNameEN string/null ні Повна назва англійською.
shortNameEN string/null ні Скорочена назва англійською.
type enum так Тип компанії: COMPANY або SELF_EMPLOYED.
code string так Для компанії — ЄДРПОУ, для ФОП — РНОКПП.
ipn string/null ні ІПН платника ПДВ, якщо є.
country string/null ні Країна.
state string/null ні Область/регіон.
locality string/null ні Населений пункт.
street string/null ні Адреса.
ceoName string/null ні ПІБ керівника.

Поля договору у запиті передавати не потрібно. Сервер завжди створює компанію з:

Поле Значення
status DRAFT
agreemType OFFER
agreemNumber null
agreemDate 0

info 

INFO

info — дані суперадміністратора компанії, для якого буде створенастворено чернеткачернетку ключа.

Поле Тип Обовʼязкове Опис
fullName string так ПІБ суперадміністратора.
ipn string так ІПН/РНОКПП суперадміністратора.
phone string так Телефон у форматі 380XXXXXXXXX.
email string так Email суперадміністратора.
organizationUnit string/null ні Підрозділ для даних ключа.
position string/null ні Посада для даних ключа.

Response

200

Повертається

обʼєкт
ESSCompany.
JSON приклад запиту

{
  "id"company": 12345,{
    "fullName": "ТОВАРИСТВО З ОБМЕЖЕНОЮ ВІДПОВІДАЛЬНІСТЮ \"ТЕСТ\"",
    "shortName": "ТОВ \"ТЕСТ\"",
    "fullNameEN": "TEST LLC",
    "shortNameEN": "TEST LLC",
    "type": "COMPANY",
    "code": "00000000",
    "ipn": null,
    "status": "DRAFT",
  "country": "UA",
    "state": "м. Київ",
    "locality": "Київ",
    "street": "вул. Тестова, 1",
    "ceoName": "Іваненко Іван Іванович"
  },
  "agreemType"info": {
    "fullName": "OFFER"Іваненко Іван Іванович",
    "agreemNumber": null,
  "agreemDate": 0,
  "ecdsaStatus"ipn": "READY"0000000000",
    "role"phone": null,"380671234567",
    "employeeStatus"email": null,"ivanenko@example.com",
    "employeeEmail"organizationUnit": null"Адміністрація",
    "position": "Директор"
  }
}
Поле Тип Опис id number Внутрішній ідентифікатор компанії. fullName string Повна назва компанії/ФОП. shortName string Скорочена назва компанії/ФОП. fullNameEN string/null Повна назва англійською. shortNameEN string/null Скорочена назва англійською. type enum Тип компанії: COMPANY або SELF_EMPLOYED. code string Для компанії — ЄДРПОУ, для ФОП — РНОКПП. ipn string/null ІПН платника ПДВ, якщо є. status enum Статус компанії. Для створеної компанії — DRAFT. country string/null Країна. state string/null Область/регіон. locality string/null Населений пункт. street string/null Адреса. ceoName string/null ПІБ керівника. agreemType enum Тип договору. Для цього методу — OFFER. agreemNumber string/null Номер договору. Для цього методу — null. agreemDate number Дата договору. Для цього методу — 0. ecdsaStatus enum Готовність компанії до ECDSA за наявністю англійських назв. role enum/null Роль поточного користувача в компанії. Для цього external-методу зазвичай null. employeeStatus enum/null Статус поточного користувача в компанії. Для цього external-методу зазвичай null. employeeEmail string/null Email поточного користувача в компанії. Для цього external-методу зазвичай null.

curl

RESPONSE 

У відповідь повертаються  статус 200 та обʼєкт ESSCompany.

CURL
curl -X POST 'https://host/api/external/company/create' \
  -H 'x-system-id: 019eb581-307b-7562-8a1f-20227511e898' \
  -H 'Content-Type: application/json' \
  -d '{
    "company": {
      "fullName": "ТОВАРИСТВО З ОБМЕЖЕНОЮ ВІДПОВІДАЛЬНІСТЮ \"ТЕСТ\"",
      "shortName": "ТОВ \"ТЕСТ\"",
      "fullNameEN": "TEST LLC",
      "shortNameEN": "TEST LLC",
      "type": "COMPANY",
      "code": "00000000",
      "ipn": null,
      "country": "UA",
      "state": "м. Київ",
      "locality": "Київ",
      "street": "вул. Тестова, 1",
      "ceoName": "Іваненко Іван Іванович"
    },
    "info": {
      "fullName": "Іваненко Іван Іванович",
      "ipn": "0000000000",
      "phone": "380671234567",
      "email": "ivanenko@example.com",
      "organizationUnit": "Адміністрація",
      "position": "Директор"
    }
  }'