Описание: Принять от 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/onlyOffice/api/editor/ProcessCallback/{itemId}Content-Type: application/jsonAuthorization: <JWT-токен, сформированный OnlyOffice Document Server> (не обычный токен сессии пользователя)📥 Параметры запроса (URL Path)
| Параметр | Тип | Описание |
|---|---|---|
itemId | Guid | ID элемента-файла, к которому относится callback |
📦 Тело запроса (Request Body)
Стандартный объект callback OnlyOffice:
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
key | string | Да | Ключ документа (должен совпадать со значением в JWT) |
status | int | Да | Код статуса (см. таблицу выше) |
url | string | Нет | Ссылка на скачивание итогового файла (обязательна при статусах "готов к сохранению"/"force save") |
changesurl | string | Нет | Ссылка на файл изменений (не используется для сохранения содержимого) |
history | object | Нет | История изменений (не используется для сохранения содержимого) |
users | string[] | Нет | Список ID пользователей, редактировавших документ (для сохранения используется первый элемент как ID пользователя, от имени которого сохраняется файл) |
📤 Тело ответа (Response Body)
| Поле | Тип | Описание |
|---|---|---|
error | int | 0 — успех, 1 — ошибка |
При любой внутренней ошибке (включая ошибки проверки подписи/содержимого JWT) метод не выбрасывает исключение наружу, а всегда возвращает { "error": 1 }, как того требует протокол OnlyOffice.