Передати підписи 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 |
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. |