• Post category:Запрос
  • Запись изменена:21.11.2023

Запрос с токеном в теле

При выполнении HTTP-запросов от Сервера документов в параметры добавляется токен для проверки данных. При выполнении HTTP-запросов к Серверу документов в параметры необходимо добавить токен для проверки данных.

Начиная с версии 5.2, токен можно использовать в параметрах тела с Сервером документов. Чтобы включить его, установите для Services.CoAuthoring.token.inbox.inBody и Services.CoAuthoring.token.outbox.inBody в файле конфигурации значение true.

Начиная с версии 7.1 эти параметры устарели. Теперь входящие запросы используют токен в теле, если он существует. В противном случае берется токен заголовка. Чтобы указать, что будет использоваться далее для проверки данных, в файл конфигурации local.json необходимо добавить Services.CoAuthoring.server.tokenRequiredParams. Если это правда, используются только данные токена. В противном случае открытая часть запроса объединяется с данными токена.

Исходящие запросы используют как токен в теле, так и токен в заголовке. Они могут быть разными. Например, информация об истории версий может быть удалена из токена заголовка из-за ограничения размера токена в заголовке.

Токен в теле используется только для запросов POST. Для запросов GET используется токен в заголовке.

Параметры

Параметры Описание Тип Пример
services.CoAuthoring.token.inbox.inBody Указывает включение проверки токена в теле запроса к службе команд документов, службе конвертации документов и службе создания документов. логический false
services.CoAuthoring.token.outbox.inBody Указывает включение генерации токена для тела запроса службой редактирования документов для службы хранения документов. логический false

Полезная нагрузка для веб-токена JSON содержит параметры тела запроса.

Входящие запросы

  • Запрос на получение статуса редактируемого документа Проверка осуществляется для входящих запросов с командами из службы хранения документов в службу команд документов.

    Примеры параметров запроса на получение статуса редактируемого документа

    {
        "c": "info",
        "key": "Khirz6zTPdfd7"
    }
    

    Эти параметры необходимо закодировать в токене так, чтобы запрос выглядел следующим образом:

    Образец запроса на получение статуса редактируемого документа

    POST coauthoring/CommandService.ashx HTTP/1.1
    Host: documentserver
    Content-Type: application/json
    
    {
        "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjIjoiaW5mbyIsImtleSI6IktoaXJ6NnpUUGRmZDcifQ.r_6sThjFABsHMNHhkVdHDSz4jwkbXRQNYdvawkBGJgg"
    }
    

    Как видите, нет необходимости включать приведенные выше параметры в тело запроса, поскольку все они уже закодированы в токен и отправлены внутри него.

  • Запрос на конвертацию документа Проверка осуществляется для входящих запросов с командами от службы хранения документов к службе конвертации документов.

    Примеры параметров запроса на конвертацию документа

    {
        "filetype": "docx",
        "key": "Khirz6zTPdfd7",
        "outputtype": "pdf",
        "title": "Example Document Title.docx",
        "url": "https://example.com/url-to-example-document.docx"
    }
    

    Где example.com — это имя сервера, на котором установлен менеджер документов и служба хранения документов.

    Образец запроса на конвертацию документа

    POST ConvertService.ashx HTTP/1.1
    Host: documentserver
    Content-Type: application/json
    
    {
        "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJmaWxldHlwZSI6ImRvY3giLCJrZXkiOiJLaGlyejZ6VFBkZmQ3Iiwib3V0cHV0dHlwZSI6InBkZiIsInRpdGxlIjoiRXhhbXBsZSBEb2N1bWVudCBUaXRsZS5kb2N4IiwidXJsIjoiaHR0cDovL2V4YW1wbGUuY29tL3VybC10by1leGFtcGxlLWRvY3VtZW50LmRvY3gifQ.U-YAfuuy7clWjn-xOncfJ-sxVG5DlcYn0AOzJYkoR0M"
    }
    

    Где example.com — это имя сервера, на котором установлен менеджер документов и служба хранения документов.

  • Запрос к сервису конструктора документов Проверка выполняется для входящих запросов с командами от сервиса хранения документов к сервису конструктора документов.

    Примеры параметров запроса к сервису конструктора документов

    {
        "async": true,
        "url": "https://example.com/url-to-example-script.docbuilder"
    }
    

    Где example.com — это имя сервера, на котором установлена служба хранения документов.

    Образец запроса в службу документооборота

    POST docbuilder HTTP/1.1
    Host: documentserver
    Content-Type: application/json
    
    {
        "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhc3luYyI6dHJ1ZSwidXJsIjoiaHR0cHM6Ly9leGFtcGxlLmNvbS91cmwtdG8tZXhhbXBsZS1zY3JpcHQuZG9jYnVpbGRlciJ9.dzoTbRzSMa95Fpg34CjnF3ZUPdGA2CnBedFL_qOOxAs"
    }
    

    Где example.com — это имя сервера, на котором установлена служба хранения документов.

Исходящие запросы

  • Запрос на адрес «callbackUrl» сервисом редактирования документов, когда последний пользователь закрыл документ на редактирование без изменений. Валидация выполняется для исходящих запросов на адрес «callbackUrl» сервисом редактирования документов.

    Примеры параметров запроса на адрес callbackUrl сервисом редактирования документов, когда последний пользователь закрыл документ на редактирование без изменений

    {
        "key": "Khirz6zTPdfd7",
        "status": 4
    }
    
    Пример запроса сервиса редактирования документов на адрес callbackUrl, когда последний пользователь закрыл документ на редактирование без изменений
    POST url-to-callback.ashx HTTP/1.1
    Host: example.com
    Content-Type: application/json
    
    {
        "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJLaGlyejZ6VFBkZmQ3Iiwic3RhdHVzIjo0fQ.gCyNKPpg6ISAnhvFQmRiY6BRqG6WPcEGgnK79hREdkU"
    }
    

    Где example.com — это имя сервера, на котором установлен менеджер документов и служба хранения документов.

    При выполнении GET-запросов от Сервера документов добавляется авторизационный заголовок с токеном.