Створення компанії POST /api/external/company/create
Метод створює компанію у статусі DRAFT, з договором-офертою OFFER, створює чернетку ключа суперадміністратора та привʼязує компанію до зовнішньої системи.
Якщо компанія з таким кодом вже привʼязана до цієї зовнішньої системи, метод не створює нову компанію, а повертає існуючий обʼєкт ESSCompany.
Якщо компанія з таким кодом вже активна, але не привʼязана до цієї зовнішньої системи, метод повертає помилку company_already_active.
REQUEST
|
URL |
|
|
Метод запиту |
POST |
|
URL запиту |
/api/external/company/create |
|
|
Authorization
Auth type
API keyKey / Value
x-system-id - токен, отриманий при підключенніHeaders
Content-Type
application/json
REQUEST
REQUEST Body
info (обов’язково) JSON - дані суперадміністратора компанії, для додаванняякого співробітника;буде створено чернетку ключа.
company (обов’язково) JSON - підписаний контейнер ідентифікації співробітника.
Всі персональні дані ідентифікації берутьсяобʼєкт з підпису/сертифікатаданими упро fileкомпанію identification, а не з JSON info. ESSCompany
COMPANYCOMPANY:
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 | ПІБ керівника. |
1 - Під визначенням колонки Тип поля мається на увазі скорочене позначення:
M (mandatory) — обов’язкові до заповнення поля;
O (optional) — необов’язкові (опціональні) до заповнення поля.
Поля договору у запиті передавати не потрібно. Сервер завжди створює компанію з:
| Поле | Значення |
|---|---|
status |
DRAFT |
agreemType |
OFFER |
agreemNumber |
null |
agreemDate |
0 |
INFOINFO:
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-ідентифікацією.