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