Docflow approvals

Согласовать несколько проходов одним вызовом

Changed on

«Согласовать выбранные» очереди «Ждут меня»: до 100 проходов, на каждый — решение approve с одним необязательным комментарием. Это несколько одиночных решений подряд, а не одно общее: каждая строка проходит те же проверки, что POST /approvals/{id}/decisions (чья виза, запрет самосогласования заявки на оплату, состояние прохода), в своей транзакции, и согласованная заявка встаёт в очередь финансов вместе со своим решением.

Ответ 200 несёт итог по КАЖДОЙ переданной строке в исходном порядке: ok=true и новое состояние прохода либо code и detail того же отказа, которым ответила бы одиночная дверь (docflow.approval.not_yours — ход уже не ваш, docflow.approval.not_found, docflow.approval.state_conflict и т. д.). Отказ одной строки не откатывает соседние. Вернуть на доработку и отказать пакетом нельзя: у каждого такого решения своя обязательная причина.

Отказ всего вызова — только когда решать нечем: пустой пакет или больше 100 строк (400), нет права docflow.flow:approve (403), согласование не подключено (503).

post/api/v1/docflow/approvals/batch-approve

Request

  • Base URL: https://erp.akeda.ru
  • URL: https://erp.akeda.ru/api/v1/docflow/approvals/batch-approve
  • Auth: one of:
    • HTTP bearer
    • OAuth 2 (authorization code, authorization URL https://erp.akeda.ru/oauth2/authorize, token URL https://erp.akeda.ru/oauth2/token, scopes: akeda:delegate)

Headers

X-Tenantstring required

Slug выбранного кабинета; кабинет не является юрлицом

Request body

approval_idsUUID[] required

Проходы, которые согласовать; повторы схлопываются

commentstring

Необязательный комментарий, один на все решения пакета; пишется в историю каждого

Response

Итог по каждой строке

approvedinteger required

Сколько строк согласовано

failedinteger required

Сколько строк не согласовано

Changes