Skip to main content

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

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

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

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

REQUEST

URL


Метод запиту

POST

URL запиту

/api/external/company/create

URL параметри

 

Authorization


Auth type

API key

Key / Value

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

Headers

 

Content-Type

application/json

REQUEST

 

REQUEST Body

info (обов’язково) JSON - дані суперадміністратора компанії, для додаванняякого співробітника;буде створено чернетку ключа.

company (обов’язково) JSON - підписаний контейнер ідентифікації співробітника.

 

Всі персональні дані ідентифікації берутьсяобʼєкт з підпису/сертифікатаданими упро fileкомпанію identification, а не з JSON infoESSCompany

COMPANYCOMPANY:

company — обʼєкт ESSCompany

Поле ТипФормат ОбовʼязковеТип 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

    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-ідентифікацією.