В зависимости от используемого типа запроса протокол OData 3 может возвращать различные данные. Структура запроса и ответа рассмотрена ниже.
Строка запроса
Приложение Creatio поддерживает следующие методы запроса:
- GET — получение данных.
- POST — добавление данных.
- PATCH — изменение данных.
- DELETE — удаление данных.
Адрес приложения Creatio.
Путь к веб-сервису протокола OData 3. Неизменяемая часть запроса.
Адрес веб-сервиса протокола OData 3. Неизменяемая часть запроса.
Имя таблицы базы данных (имя коллекции объектов). При использовании протокола OData 3 к первому имени коллекции объектов в строке запроса необходимо добавлять слово Collection (например, ContactCollection). Получить перечень таблиц базы данных можно выполнив запрос к базе данных.
Идентификатор строки записи таблицы базы данных (идентификатор экземпляра объекта коллекции). Например, guid'00000000-0000-0000-0000-000000000000').
Поле записи таблицы базы данных (поле экземпляра объекта коллекции).
Необязательные параметры OData 3, которые разрешены к использованию в строке 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' | Фильтрация полей, которые должны попасть в выборку. |
Заголовки запроса
Тип данных, который можно ожидать в ответе от сервера. Сервер возвращает ответ в формате XML. Не обязательный к использованию в GET-запросах.
Кодировка и тип ресурса, который передается в теле запроса. Не обязательный к использованию в GET-запросах.
Заголовок ForceUseSession отвечает за принудительное использование уже существующей сессии. Отсутствует необходимость использования в запросе к сервису аутентификации AuthService.svc.
Аутентификационный cookie.
Тело запроса
Имена полей, которые передаются в теле запроса.
Значения полей field1, field2, ..., которые передаются в теле запроса.
Код состояния ответа
Код состояния ответа на запрос.
200 OK | Запрос GET, PUT, MERGE или PATCH успешно завершен. Тело ответа должно содержать значение объекта или свойства, указанного в URL-адресе запроса. |
---|---|
201 Created | Запрос POST успешно создал объект или ссылку. Тело ответа должно содержать обновленный объект. |
202 Accepted | Запрос на изменение данных был принят в обработку, но еще не завершен. Тело ответа должно содержать заголовок Location в дополнение в заголовке Retry-After. Тело ответа должно быть пустым. Сервер должен вернуть код ответа 303 с заголовком Location, который содержит окончательный URL-адрес для получения результата запроса. Тело и заголовки окончательного URL-адреса должны быть отформатированы также, как и выполнение первоначального запроса на изменение данных. |
204 No content | Запрос на изменение данных. Запрашиваемый ресурс имеет нулевое значение. Тело ответа должно быть пустым. |
3xx Redirection | Запрос на изменение данных. Перенаправление указывает что клиент должен предпринимать дальнейшие действия для выполнения запроса. Ответ должен включать заголовок Location c URL-адресом, по которому можно получить результат. |
4xx Client Error | Некорректные запросы. Сервер возвращает код в ответ на клиентские ошибки в дополнение к запросам на несуществующие ресурсы, такие как сущности, коллекции сущностей или свойства. Если тело ответа определено для кода ошибки, тело ошибки является таким, как определено для соответствующего формата. |
404 Not Found | Объект или коллекция, указанные в URL-адресе, не существуют. Тело ответа должно быть пустым. |