Skip to main content

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

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

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

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

Endpoint 

POST /api/external/company/create

Request body 

Content-Type: application/json

{
  "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 — дані суперадміністратора компанії, для якого буде створена чернетка ключа.

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

Response 200 

Повертається обʼєкт ESSCompany.

{
  "id": 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": "OFFER",
  "agreemNumber": null,
  "agreemDate": 0,
  "ecdsaStatus": "READY",
  "role": null,
  "employeeStatus": null,
  "employeeEmail": null
}
Поле Тип Опис
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 

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": "Директор"
    }
  }'