Описание: Принять от OnlyOffice Document Server уведомление об изменении статуса редактируемого документа (стандартный callback-протокол OnlyOffice) — вызывается самим document-сервером (по адресу из editorConfig.callbackUrl конфигурации GetConfig), а не пользователем портала. При статусе "документ готов к сохранению" метод скачивает итоговый файл по присланной ссылке и сохраняет его как новую версию элемента.

Обрабатываемые статусы:

statusЗначениеДействие
1Идёт редактированиеИгнорируется (error: 0)
2Документ готов к сохранениюФайл скачивается по url и сохраняется в элемент
3Ошибка при сохраненииВозвращается error: 1
4Документ закрыт без измененийИгнорируется (error: 0)
6Принудительное сохранение (force save)Файл скачивается по url и сохраняется в элемент
7Ошибка принудительного сохраненияВозвращается error: 1

🌐 HTTP-информация

  • Метод: POST
  • URL: /onlyOffice/api/editor/ProcessCallback/{itemId}
  • Headers:
    • Content-Type: application/json
    • Authorization: <JWT-токен, сформированный OnlyOffice Document Server> (не обычный токен сессии пользователя)

📥 Параметры запроса (URL Path)

ПараметрТипОписание
itemIdGuidID элемента-файла, к которому относится callback

📦 Тело запроса (Request Body)

Стандартный объект callback OnlyOffice:

ПолеТипОбяз.Описание
keystringДаКлюч документа (должен совпадать со значением в JWT)
statusintДаКод статуса (см. таблицу выше)
urlstringНетСсылка на скачивание итогового файла (обязательна при статусах "готов к сохранению"/"force save")
changesurlstringНетСсылка на файл изменений (не используется для сохранения содержимого)
historyobjectНетИстория изменений (не используется для сохранения содержимого)
usersstring[]НетСписок ID пользователей, редактировавших документ (для сохранения используется первый элемент как ID пользователя, от имени которого сохраняется файл)

📤 Тело ответа (Response Body)

ПолеТипОписание
errorint0 — успех, 1 — ошибка

При любой внутренней ошибке (включая ошибки проверки подписи/содержимого JWT) метод не выбрасывает исключение наружу, а всегда возвращает { "error": 1 }, как того требует протокол OnlyOffice.

  • No labels