Подписание через E-IMZO
Перед отправкой контрагенту документ подписывается электронной подписью E-IMZO. Процесс состоит из трёх частей: получить хеш, подписать, отправить.
Шаг 1. Получить данные для подписи
curl "https://back.e-invoice.uz/api/ru/documents/invoice/sign/{id}" \
-H "Authorization: Bearer ВАШ_ТОКЕН"
В ответе — хеш документа и метаданные, которые нужно подписать ключом E-IMZO на стороне клиента.
Шаг 2. Создать подпись
Хеш подписывается библиотекой E-IMZO (браузерный модуль или desktop-приложение).
Результат — строка sign.
Подпись создаётся на стороне клиента ключом организации. Сервер e-invoice.uz не хранит ваш закрытый ключ.
Шаг 3. Отправить подписанный документ
curl -X POST "https://back.e-invoice.uz/api/ru/sign/invoice/send/single" \
-H "Authorization: Bearer ВАШ_ТОКЕН" \
-H "Content-Type: application/json" \
-d '{ "facturaid": "0123456789abcdef01234567", "sign": "ПОДПИСЬ_E_IMZO" }'
Действия сторон
Разные участники подписывают разными эндпоинтами:
| Действие | Эндпоинт |
|---|---|
| Продавец: подписать и отправить | POST /sign/invoice/send/single |
| Покупатель: принять | POST /sign/invoice/accept |
| Покупатель: отклонить | POST /sign/invoice/reject |
| Продавец: отменить | POST /sign/invoice/cancel/single |
| Доверенное лицо: принять/отклонить | POST /sign/invoice/accept/agent · .../reject/agent |
Полное описание — во вкладке API Reference, раздел «Фактуры подписать».
Для массового подписания используйте POST /sign/invoice/progress/queue —
он ставит несколько документов в очередь на подпись и отправку.