В зависимости от используемого типа запроса протокол OData 4 возвращает различные данные.
Строка запроса
Методы запроса, которые поддерживает приложение Creatio:
- GET — получение данных.
- POST — добавление данных.
- PATCH — изменение данных.
- DELETE — удаление данных.
Адрес приложения Creatio.
Адрес веб-сервиса протокола OData 4. Неизменяемая часть запроса.
Имя таблицы базы данных (имя коллекции объектов). Чтобы получить перечень таблиц базы данных, выполните аутентификацию и один из запросов.
Идентификатор строки записи таблицы базы данных (идентификатор экземпляра объекта коллекции).
Поле записи таблицы базы данных (поле экземпляра объекта коллекции).
Необязательные параметры OData 4, которые разрешены к использованию в строке GET запроса к Creatio. Для указания параметров используйте оператор ?. Имя параметра записывается после оператора $. Чтобы использовать два и более параметров, воспользуйтесь оператором &.
$value | Значение поля. | |
$count | $count=true | Количество элементов, которые попали в выборку. |
$skip | $skip=n | n первых элементов, которые не должны попасть в выборку. |
$top | $top=n | n первых элементов, которые должны попасть в выборку. |
$select | $select=field1,field2,... | Набор полей, которые должны попасть в выборку. |
$orderby | $orderby=field asc или $orderby=field desc | Сортировка значений поля, которые попали в выборку. |
$expand | $expand=field1,field2,... | Расширение связанных полей. |
$filter | $filter=field template 'field_value' | Фильтрация полей, которые должны попасть в выборку. |
Заголовки запроса
Тип данных, в котором ожидается ответ от сервера. Не обязательный к использованию в GET запросах.
Кодировка и тип ресурса, который передается в теле запроса. Не обязательный к использованию в GET запросах.
Принудительное использование существующей сессии.
Аутентификационный cookie.
Тело запроса
Имена полей, которые передаются в теле запроса.
Значения полей field1, field2, ..., которые передаются в теле запроса.
Коды состояний ответа
Код состояния ответа на запрос.
200 OK |
Запрос, который не создает ресурс, успешно завершен и значение ресурса не равно нулю. Тело ответа содержит значение ресурса, указанного в URL-адресе запроса. Информация, которая возвращается с ответом, зависит от используемого метода запроса: GET — запрашиваемый ресурс найден и передан в теле ответа. POST — ресурс, который описывает результат действия сервера на запрос, передан в теле ответа. |
---|---|
201 Created | Запрос, который успешно создает ресурс. Тело ответа содержит созданный ресурс. Используется для POST запросов, которые создают коллекцию, создают объект мультимедиа (например, фотографию) или вызывают действие через его импорт. |
202 Accepted | Запрос на работу с данными принят в обработку, но еще не завершен. Нет гарантий, что запрос успешно выполнится в процессе обработки данных (асинхронная обработка запроса). |
204 No content | Запрос успешно обработан, но нет необходимости возвращать какие-либо данные. Запрашиваемый ресурс имеет нулевое значение. В ответе передаются только заголовки, тело ответа — пустое. |
3xx Redirection | Перенаправление указывает что для выполнения запроса клиенту необходимо предпринять дальнейшие действия. Ответ включает заголовок Location c URL-адресом, который позволяет получить результат. Также ответ может включать заголовок Retry-After, который отображает время (в секундах). Это период, в течение которого клиент может подождать прежде чем повторить запрос к ресурсу, который возвращен в заголовке Location. |
304 Not modified | Клиент выполняет GET запрос с заголовком If-None-Match и содержимое не изменилось. Ответ не содержит другие заголовки. |
403 Forbidden |
Cервер понял запрос, но отказывается его авторизировать. Это означает, что клиент не уполномочен совершать операции с запрошенным ресурсом. Причиной может быть некорректная кука BPMCSRF. Может возникать при отсутствии CSRF-токена. Для исправления ошибки добавьте передачу куки BPMCSRF. |
404 Not Found | Сервер не может найти ресурс, который указанй в URL-адресе. Дополнительная информация может содержаться в теле ответа. |
405 Method Not Allowed |
Ресурс, который указан в URL-адресе, не поддерживает указанный метод запроса. В ответе необходимо получить заголовок Allow, который содержит перечень доступных методов запроса для ресурса. Может возникать для PUT и DELETE запросов при включенном расширении WebDav HTTP. Для исправления ошибки отключите в IIS расширение WebDav HTTP. |
406 Not Acceptable | Ресурс, который указан в URL-адресе запроса, не имеет текущего представления, которое подходит для клиента в соответствии с Accept, Accept-Charset и Accept-Language заголовками запроса. Служба не желает предоставлять представление по умолчанию. |
410 Gone | Запрошенный ресурс больше недоступен. Ресурс раньше был по указанному URL, но теперь удален и недоступен. |
412 Prediction Failed | Клиент указал в заголовке запроса условие, которое ресурс не может выполнить. |
424 Failed Dependency | Текущий запрос к ресурсу невозможно выполнить, потому что запрошенное действие зависит от другого действия, выполнить которое не удалось. Запрос не выполнен через сбой зависимости. |
501 Not Implemented | Клиент использует метод запроса, который не реализован протоколом OData 4 и этот метод невозможно обработать. Тело ответа содержит описание нереализованного функционала. |
Тело ответа
Информация о типе возвращаемых данных. Кроме пути к источнику данных, элемент data_resource может содержать параметр $entity, который показывает что в ответе был возвращен единственный экземпляр объекта коллекции. Параметр присутствует только для GET и POST запросов.
Содержит коллекцию объектов. Отсутствует, если в ответе возвращен один экземпляр объекта коллекции. Параметр присутствует только для GET запроса.
Коллекция объектов. Параметр присутствует только для GET запроса.
Экземпляры объектов коллекции. Параметр присутствует только для GET и POST запросов.
Имена полей field1, field2, ... экземпляров объектов object1, object2, ... коллекции. Параметр присутствует только для GET и POST запросов.
Значения полей field1, field2, ... экземпляров объектов object1, object2, ... коллекции. Параметр присутствует только для GET и POST запросов.