Створення компанії 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": "Директор"
}
}'