Skip to main content

Передати підписи PDF і активувати ключ POST /api/external/company/employee/pkey/activation

REQUEST

URL


Метод запиту

POST

URL запиту

/api/external/company/employee/pkey/activation

URL параметри

companyCode (обов’язково) - код Компанії;

employeeIpn (обов’язково) - ІПН/РНОКПП співробітника.

Authorization


Auth type

API key

Key / Value

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

Headers

 

Content-Type

application/json

REQUEST

 

JSON Body

Приклад запиту:

 

{
  "keyUuid": "019ec000-0000-7000-8000-000000000001",
  "activate": true,
  "forms": {
    "PK_FORM": [
      "BASE64_DETACHED_SIGNATURE_BY_EMPLOYEE",
      "BASE64_DETACHED_SIGNATURE_BY_ADMIN"
    ],
    "PK_APPENDIX": [
      "BASE64_DETACHED_SIGNATURE_BY_EMPLOYEE",
      "BASE64_DETACHED_SIGNATURE_BY_SUPER_ADMIN"
    ],
    "AFFILIATION_CONFIRMATION": [
      "BASE64_DETACHED_SIGNATURE_BY_ADMIN"
    ],
    "POWER_OF_ATTORNEY": [
      "BASE64_DETACHED_SIGNATURE_BY_SUPER_ADMIN"
    ]
  }
}

Опис полів запиту:

Поле Тип Обовʼязкове Опис
keyUuid string UUID так UUID ключа з відповіді 9.1: pKey.uuid.
activate boolean так true — одразу активувати ключ; false — передати ключ на активацію КНЕДП.
forms object/map так Map підписів для PDF-документів, отриманих у 9.1 та 9.2.
forms.{formType} string[] так для кожної PDF-форми Масив detached-підписів PDF у base64. Ключ map — enum name ESSRegFormType.

Важливо:
- треба передати підписи для кожної PDF-форми, отриманої у 9.1 та 9.2;
- підпис має бути detached: у forms.{formType} передається тільки підпис у base64, без PDF-контенту;
- підпис має бути сформований по точних bytes PDF з поля pdf відповідної форми;
- для одного formType треба передати масив підписів, навіть якщо підпис один.

Правила підписання:

formType Хто підписує
PK_FORM співробітник + admin/super_admin
PK_APPENDIX співробітник + super_admin
AFFILIATION_CONFIRMATION admin/super_admin
POWER_OF_ATTORNEY super_admin
RESPONSE

В тілі відповіді передаються статус 200 та оновлений повний обʼєкт ESSPrivateKey .

Якщо activate=true, очікуваний статус:

{
  "uuid": "019ec000-0000-7000-8000-000000000001",
  "status": "ACTIVATED"
}

Якщо activate=false, очікуваний статус:

{
  "uuid": "019ec000-0000-7000-8000-000000000001",
  "status": "COMPANY_ADMIN_APPROVED"
}
CURL 
curl -X POST 'https://host/api/external/company/employee/pkey/activation?...'   -H 'x-system-id: 019eb581-307b-7562-8a1f-20227511e898'   -H 'Content-Type: application/json'   -d '{
    "keyUuid": "019ec000-0000-7000-8000-000000000001",
    "activate": true,
    "forms": {
      "PK_FORM": [
        "BASE64_DETACHED_SIGNATURE_BY_EMPLOYEE",
        "BASE64_DETACHED_SIGNATURE_BY_ADMIN"
      ],
      "AFFILIATION_CONFIRMATION": [
        "BASE64_DETACHED_SIGNATURE_BY_ADMIN"
      ]
    }
  }'
Помилки 
HTTP type Додаткові поля Опис
400 key_uuid_not_found Не переданий keyUuid.
400 employee_not_found Співробітник не знайдений.
400 employee_not_active Співробітник не активний або не ідентифікований.
400 pkey_not_found Ключ не знайдений або не належить company/employee.
400 pkey_wrong_status status Ключ не у статусі COMPANY_GENERATED.
400 forms_not_found Не передані підписи або для ключа немає PDF-форм.
400 unexpected_form formType Переданий підпис для форми, яка не була згенерована для ключа.
400 admin_not_found Адміністратор не знайдений.
400 admin_not_active Адміністратор не активний або не ідентифікований.
400 admin_wrong_role Адміністратор не має ролі admin/super_admin.
400 admin_must_be_super_admin Для однієї з форм потрібен super_admin.
400 form_sign_not_found formType Не переданий підпис для однієї зі збережених форм.
400 unsupported_form formType Непідтримуваний тип форми для цього запиту.
400 wrong_sign_count formType Кількість підписів для форми не відповідає очікуваній.
400 duplicate_signature formType Для форми передано однаковий підпис більше одного разу.
400 invalid_signature formType Підпис не проходить перевірку для PDF.
400 wrong_signer formType Підписант не відповідає очікуваному підписанту форми.
403 company_access_denied Немає доступу до company.
403 company_wrong_status status Компанія не ACTIVE.