Skip to main content

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

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

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

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

REQUEST

URL


Метод запиту

POST

URL запиту

/api/external/company/create

Authorization


Auth type

API key

Key / Value

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

Headers

 

Content-Type

application/json

REQUEST

 

REQUEST Body

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

company - обʼєкт з даними про компанію ESSCompany

COMPANY:

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

1 - Під визначенням колонки Тип поля мається на увазі скорочене позначення:
  • M (mandatory) — обов’язкові до заповнення поля;

  • O (optional) — необов’язкові (опціональні) до заповнення поля.

 

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

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

INFO:

Поле Тип Обовʼязкове Опис
fullName string так ПІБ суперадміністратора.
ipn string так ІПН/РНОКПП суперадміністратора.
phone string так Телефон у форматі 380XXXXXXXXX.
email string так Email суперадміністратора.
organizationUnit string/null ні Підрозділ для даних ключа.
position string/null ні Посада для даних ключа.
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": "Директор"
  }
}

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": "Директор"
    }
  }'
Помилки
type Опис
access_denied Невірний x-system-id або доступ за IP заборонений.
empty_body Тіло запиту порожнє.
invalid_body Некоректний JSON або відсутні обовʼязкові поля.
company_already_active Компанія з таким кодом вже активна, але не привʼязана до цієї зовнішньої системи.
unknown_company Компанію не знайдено в публічних реєстрах, але не коректний ІПН/РНОКПП
wrong_ipn Користувач з таким телефоном вже існує, але має інший ІПН/РНОКПП.
offline_exists Користувач з таким телефоном вже існує з offline-ідентифікацією.