Контур.Диадок API: Забирать входящие документы

Сценарий из mcp-everything. Актуально на 2026-10-25.

Лента событий ящика: каждое событие содержит новое сообщение или дополнение к нему.

  1. Вызови GET /V8/GetNewEvents?boxId=...&documentDirection=Inbound.
  2. Обработай Events[]: Message — новые документы, Patch — подписи, отказы, титулы.
  3. Сохрани IndexKey последнего события и передавай его в afterIndexKey при следующем вызове.
  4. Содержимое документа скачай: GET /V4/GetEntityContent?boxId=...&messageId=...&entityId=....
curl "https://diadoc-api.kontur.ru/V8/GetNewEvents?boxId=$BOX_ID&documentDirection=Inbound&afterIndexKey=$LAST_INDEX_KEY" \
  -H "Authorization: DiadocAuth ddauth_api_client_id=$CLIENT_ID, ddauth_token=$TOKEN"

curl "https://diadoc-api.kontur.ru/V4/GetEntityContent?boxId=$BOX_ID&messageId=$MESSAGE_ID&entityId=$ENTITY_ID" \
  -H "Authorization: DiadocAuth ddauth_api_client_id=$CLIENT_ID, ddauth_token=$TOKEN" -o document.xml

Базовые URL

Авторизация

Тип: Другое

Нужны ключ разработчика (выдаётся по заявке на https://www.diadoc.ru/integrations/api) и авторизационный токен пользователя. Оба передаются в заголовке по схеме DiadocAuth:

Токен выдаёт POST /V3/Authenticate: по логину и паролю (type=password, JSON с login и password), по сертификату (type=certificate, ответ расшифровывается закрытым ключом и подтверждается через /V3/AuthenticateConfirm) или по auth.sid (type=sid).

Authorization: DiadocAuth ddauth_api_client_id={{client_id}}, ddauth_token={{auth_token}}

Методы сценария

GET /V8/GetNewEvents — Лента событий ящика

Events[]: EventId, Message, Patch, IndexKey; TotalCount.

Документация: https://developer.kontur.ru/doc/diadoc.api/method?type=get&path=%2FV8%2FGetNewEvents

Параметр Где Тип Обяз. Описание
boxId query string да Ящик (GUID)
afterIndexKey query string нет Ключ последнего полученного события
documentDirection query array нет Inbound, Outbound и др., через запятую
messageType query array нет Тип сообщения, например Draft
typeNamedId query array нет Типы документов
counteragentBoxId query string нет Ящик контрагента
timestampFromTicks query string нет Начало периода (тики от 01.01.0001)
timestampToTicks query string нет Конец периода
orderBy query string нет Ascending (по умолчанию) или Descending
limit query integer нет Элементов на странице

GET /V4/GetEntityContent — Содержимое сущности

Возвращает файл документа, титула или подписи.

Документация: https://developer.kontur.ru/doc/diadoc.api/method?type=get&path=%2FV4%2FGetEntityContent

Параметр Где Тип Обяз. Описание
boxId query string да Ящик (GUID)
messageId query string да Сообщение
entityId query string да Сущность в сообщении

Нюансы

Другие сценарии


Если этого недостаточно — официальная документация: https://developer.kontur.ru/doc/diadoc-api/ Вся интеграция одним документом: https://mcp-everything.ru/integrations/diadoc.md