Creatio development guide
PDF
Это документация Creatio версии 7.16.0. Мы рекомендуем использовать новую версию документации.

Интеграция с Creatio по протоколу OData 3

Glossary Item Box

Общие сведения

OData (Open Data Protocol) — это утвержденный ISO/IEC стандарт OASIS, который определяет набор лучших практик для построения и использования REST API. Он позволяет создавать службы на основе REST, которые предоставляют возможность веб-клиентам с помощью простых HTTP-запросов публиковать и редактировать ресурсы, идентифицированные с использованием URL и определенные в модели данных.

Приложение Creatio поддерживает протоколы OData 3 и OData 4. OData 4, пришедший на смену OData 3, значительно расширяет возможности последнего, при этом данные протоколы не совместимы по формату данных, возвращаемых сервером. Детальную информацию про функциональность и отличия можно найти в документации OData.

При планировании интеграции с Creatio по протоколу OData необходимо использовать протокол версии 4. Использование протокола OData 4 описано в статье "Интеграция с Creatio по протоколу OData 4".

 

Выполнение запросов к Creatio невозможно без аутентификации.

Реализация протокола OData 3 в Creatio

Доступ к объектам Creatio по протоколу OData 3 предоставляет веб-сервис EntityDataService.svc.

Адрес сервиса EntityDataService.svc:

https://mycreatio.com/0/ServiceModel/EntityDataService.svc

Структура запроса по протоколу OData 3

Структурные элементы запроса:

  • Строка.
  • Заголовки.
  • Тело.

Строка запроса

Структура строки запроса:

method my_Creatio_site/0/ServiceModel/EntityDataService.svc/data_resource?$parameters
Пример строки POST-запроса
 
 
// Добавить экземпляр объекта коллекции AcademyURL.
POST https://mycreatio.com/0/ServiceModel/EntityDataService.svc/AcademyURLCollection
Пример строки GET-запроса
 
 
// Получить экземпляры объектов коллекции Employee, в которых значение поля FullJobTitle равно Developer и значение поля Name вложенной коллекции объектов Account содержит другие значения кроме Our company.
GET https://mycreatio.com/0/ServiceModel/EntityDataService.svc/EmployeeCollection?$filter=FullJobTitle eq 'Developer' and Account/Name ne 'Our company'

method

Приложение Creatio поддерживает следующие методы запроса:

  • GET — получение данных.
  • POST — добавление данных.
  • PATCH — изменение данных.
  • DELETE — удаление данных.

data_resource

Под ресурсом данных необходимо понимать путь к источнику информации, которую необходимо получить в ответе на запрос.

Структура ресурса данных:

objects_collectionCollection(guid'object_id')/object_field

При интеграции с Creatio по протоколу OData 3 к первому имени коллекции объектов в строке запроса необходимо добавлять слово Collection (например, ContactCollection). Для указания идентификатора экземпляра объекта коллекции необходимо использовать конструкцию guid'object_id' (например, guid'00000000-0000-0000-0000-000000000000').

Структурные элементы ресурса данных:

objects_collection (required)
Имя таблицы базы данных (имя коллекции объектов).
Получить перечень таблиц базы данных можно выполнив запрос:
для MySQL
SELECT * FROM INFORMATION_SCHEMA.TABLES
для Oracle
SELECT * FROM ALL_TABLES
для PostgreSQL
SELECT table_name FROM information_schema.tables

object_id (optional)
Идентификатор строки записи таблицы базы данных (идентификатор экземпляра объекта коллекции).
object_field (optional)
Поле записи таблицы базы данных (поле экземпляра объекта коллекции).

parameters

Необязательные параметры OData 3, которые разрешены к использованию в строке GET-запроса к Creatio:

$value
Значение поля.
$count
$count
Количество элементов, которые попали в выборку.
$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'
Фильтрация полей, которые должны попасть в выборку.

При работе с параметрами разрешено использовать следующие операторы:

?
Указание параметров.
$
Указание имени параметра.
&
Использование 2-х и более параметров.

Заголовки запроса

Заголовки, которые разрешены к использованию в запросе к Creatio:

Accept
Accept: application/atom+xml; type=entry
Тип данных, который можно ожидать в ответе от сервера. Сервер возвращает ответ в формате XML.
Content-Type
Content-Type: application/json; odata=verbose
Кодировка и тип ресурса, который передается в теле запроса.
ForceUseSession
ForceUseSession: true
Заголовок ForceUseSession отвечает за принудительное использование уже существующей сессии. Отсутствует необходимость использования в запросе к сервису аутентификации AuthService.svc.
BPMCSRF
BPMCSRF: authentication_cookie_value
Аутентификационный cookie.

Заголовки Content-Type и Accept не обязательны к использованию в GET-запросах.

Пример заголовков POST-запроса
 
 
Accept: application/atom+xml; type=entry
Content-Type: application/json; odata=verbose
ForceUseSession: true
BPMCSRF: OpK/NuJJ1w/SQxmPvwNvfO
Пример заголовков GET-запроса
 
 
ForceUseSession: true
BPMCSRF: OpK/NuJJ1w/SQxmPvwNvfO

Тело запроса

Структура тела запроса:

{
    "field1": "value1",
    "field2": "value2",
    ...
}

Структурные элементы тела запроса:

field1, field2, ... (required)
Имена полей, которые передаются в теле запроса.
value1, value2, ... (required)
Значения полей field1, field2, ..., которые передаются в теле запроса.
Пример тела POST-запроса
 
 
{
    // Добавить в поле Name значение Academy.
    "Name": "Academy",
    // Добавить в поле Description значение https://academy.creatio.com/.
    "Description": "https://academy.creatio.com/"
}

Структура ответа на запрос

Структурные элементы ответа на запрос:

  • Код состояния.
  • Тело.

Код состояния

В ответе на запрос сервер возвращает код состояния, который зашифрован в 3-х цифрах. Первая цифра указывает на класс состояния. Вторая и третья цифры — порядковый номер ответа. При интеграции с приложением Creatio по протоколу OData 3, сервер возвращает следующие классы http-кодов:

  1. 2xx (успех) — успешное принятие и обработка запроса клиента.
  2. 3хх (перенаправление) — для успешного выполнения операции необходимо сделать другой запрос.
  3. 4хх (ошибка клиента) — при построении запроса на стороне клиента произошла ошибка. Сервер должен вернуть гипертекстовое объяснение получения кода класса 4хх.

Получение кода класса 4хх является результатом неуспешного выполнения запроса.

При отправке запроса по протоколу OData 3 в ответ от сервера Creatio можно получить следующие коды состояния:

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-адресе, не существуют. Тело ответа должно быть пустым.  

Тело ответа

Структура тела ответа на запрос:

<?xml version="1.0" encoding="utf-8"?>
<feed xml:base="http://mycreatio.com/0/ServiceModel/EntityDataService.svc/" xmlns="http://www.w3.org/2005/Atom" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
    <id>http://mycreatio.com/0/ServiceModel/EntityDataService.svc/data_resource</id>
    <title type="text">data_resource</title>
    <updated>date and time of request</updated>
    <link rel="self" title="data_resource" href="data_resource" />
    <entry>
        metadata_data
        <content type="application/xml">
            <m:properties>
                <d:object1 field1>object1 field_value1</d:object1 field1>
                <d:object1 field2>object1 field_value2</d:object1 field2>
                ...
            </m:properties>
        </content>
    </entry>
    <entry>
        metadata_data
        <content type="application/xml">
            <m:properties>
                <d:object2 field1>object2 field_value1</d:object2 field1>
                <d:object2 field2>object2 field_value2</d:object2 field2>
                ...
            </m:properties>
        </content>
    </entry>
    ...
</feed>

Структурные элементы тела ответа:

entry
Экземпляр объекта коллекции.
metadata_data
Метаданные экземпляра объекта коллекции.
object1 field1, object1 field2, ..., object2 field1, object2 field2, ...
Имена полей field1, field2, ... экземпляров объектов object1, object2, ... коллекции.
object1 field_value1, object1 field_value2, ..., object2 field_value1, object2 field_value2, ...
Значения полей field1, field2, ... экземпляров объектов object1, object2, ... коллекции.
Пример ответа на POST-запрос
 
 
Status: 201 Created

<?xml version="1.0" encoding="utf-8"?>
<entry xml:base="http://mycreatio.com/0/ServiceModel/EntityDataService.svc/" xmlns="http://www.w3.org/2005/Atom" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
    <id>http://mycreatio.com/0/ServiceModel/EntityDataService.svc/AcademyURLCollection(guid'b634e2d0-6baf-4a13-b9e5-869b717f6406')</id>
    <category term="Terrasoft.Configuration.AcademyURL" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" />
    <link rel="edit" title="AcademyURL" href="AcademyURLCollection(guid'b634e2d0-6baf-4a13-b9e5-869b717f6406')" />
    <link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/CreatedBy" type="application/atom+xml;type=entry" title="CreatedBy" href="AcademyURLCollection(guid'b634e2d0-6baf-4a13-b9e5-869b717f6406')/CreatedBy" />
    <link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/ModifiedBy" type="application/atom+xml;type=entry" title="ModifiedBy" href="AcademyURLCollection(guid'b634e2d0-6baf-4a13-b9e5-869b717f6406')/ModifiedBy" />
    <title />
    <updated>2020-04-01T05:46:43Z</updated>
    <author>
        <name />
    </author>
    <content type="application/xml">
        <m:properties>
            <d:Id m:type="Edm.Guid">b634e2d0-6baf-4a13-b9e5-869b717f6406</d:Id>
            <d:Name>Academy</d:Name>
            <d:CreatedOn m:type="Edm.DateTime">2020-04-01T05:46:41.7819089Z</d:CreatedOn>
            <d:CreatedById m:type="Edm.Guid">410006e1-ca4e-4502-a9ec-e54d922d2c00</d:CreatedById>
            <d:ModifiedOn m:type="Edm.DateTime">2020-04-01T05:46:41.7819089Z</d:ModifiedOn>
            <d:ModifiedById m:type="Edm.Guid">410006e1-ca4e-4502-a9ec-e54d922d2c00</d:ModifiedById>
            <d:ProcessListeners m:type="Edm.Int32">0</d:ProcessListeners>
            <d:Description>https://academy.creatio.com/</d:Description>
        </m:properties>
    </content>
</entry>
Пример ответа на GET-запрос
 
 
Status: 200 OK

<?xml version="1.0" encoding="utf-8"?>
<feed xml:base="http://mycreatio.com/0/ServiceModel/EntityDataService.svc/" xmlns="http://www.w3.org/2005/Atom" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
    <id>http://mycreatio.com/0/ServiceModel/EntityDataService.svc/EmployeeCollection</id>
    <title type="text">EmployeeCollection</title>
    <updated>2020-03-31T06:32:52Z</updated>
    <link rel="self" title="EmployeeCollection" href="EmployeeCollection" />
    <entry>
        <id>http://mycreatio.com/0/ServiceModel/EntityDataService.svc/EmployeeCollection(guid'c31c7862-fe33-4a13-9bbc-0943fa08fd02')</id>
        <category term="Terrasoft.Configuration.Employee" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" />
        <link rel="edit" title="Employee" href="EmployeeCollection(guid'c31c7862-fe33-4a13-9bbc-0943fa08fd02')" />
        <link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/CreatedBy" type="application/atom+xml;type=entry" title="CreatedBy" href="EmployeeCollection(guid'c31c7862-fe33-4a13-9bbc-0943fa08fd02')/CreatedBy" />
        <link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/ModifiedBy" type="application/atom+xml;type=entry" title="ModifiedBy" href="EmployeeCollection(guid'c31c7862-fe33-4a13-9bbc-0943fa08fd02')/ModifiedBy" />
        <link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/Contact" type="application/atom+xml;type=entry" title="Contact" href="EmployeeCollection(guid'c31c7862-fe33-4a13-9bbc-0943fa08fd02')/Contact" />
        <link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/OrgStructureUnitCollectionByHead" type="application/atom+xml;type=feed" title="OrgStructureUnitCollectionByHead" href="EmployeeCollection(guid'c31c7862-fe33-4a13-9bbc-0943fa08fd02')/OrgStructureUnitCollectionByHead" />
        <link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/OrgStructureUnit" type="application/atom+xml;type=entry" title="OrgStructureUnit" href="EmployeeCollection(guid'c31c7862-fe33-4a13-9bbc-0943fa08fd02')/OrgStructureUnit" />
        <link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/Job" type="application/atom+xml;type=entry" title="Job" href="EmployeeCollection(guid'c31c7862-fe33-4a13-9bbc-0943fa08fd02')/Job" />
        <link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/Owner" type="application/atom+xml;type=entry" title="Owner" href="EmployeeCollection(guid'c31c7862-fe33-4a13-9bbc-0943fa08fd02')/Owner" />
        <link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/ReasonForDismissal" type="application/atom+xml;type=entry" title="ReasonForDismissal" href="EmployeeCollection(guid'c31c7862-fe33-4a13-9bbc-0943fa08fd02')/ReasonForDismissal" />
        <link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/Account" type="application/atom+xml;type=entry" title="Account" href="EmployeeCollection(guid'c31c7862-fe33-4a13-9bbc-0943fa08fd02')/Account" />
        <link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/Manager" type="application/atom+xml;type=entry" title="Manager" href="EmployeeCollection(guid'c31c7862-fe33-4a13-9bbc-0943fa08fd02')/Manager" />
        <link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/EmployeeCollectionByManager" type="application/atom+xml;type=feed" title="EmployeeCollectionByManager" href="EmployeeCollection(guid'c31c7862-fe33-4a13-9bbc-0943fa08fd02')/EmployeeCollectionByManager" />
        <link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/EmployeeCareerCollectionByEmployee" type="application/atom+xml;type=feed" title="EmployeeCareerCollectionByEmployee" href="EmployeeCollection(guid'c31c7862-fe33-4a13-9bbc-0943fa08fd02')/EmployeeCareerCollectionByEmployee" />
        <link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/EmployeeFileCollectionByEmployee" type="application/atom+xml;type=feed" title="EmployeeFileCollectionByEmployee" href="EmployeeCollection(guid'c31c7862-fe33-4a13-9bbc-0943fa08fd02')/EmployeeFileCollectionByEmployee" />
        <link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/EmployeeInFolderCollectionByEmployee" type="application/atom+xml;type=feed" title="EmployeeInFolderCollectionByEmployee" href="EmployeeCollection(guid'c31c7862-fe33-4a13-9bbc-0943fa08fd02')/EmployeeInFolderCollectionByEmployee" />
        <link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/EmployeeInTagCollectionByEntity" type="application/atom+xml;type=feed" title="EmployeeInTagCollectionByEntity" href="EmployeeCollection(guid'c31c7862-fe33-4a13-9bbc-0943fa08fd02')/EmployeeInTagCollectionByEntity" />
        <link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/SalaryCollectionByEmployee" type="application/atom+xml;type=feed" title="SalaryCollectionByEmployee" href="EmployeeCollection(guid'c31c7862-fe33-4a13-9bbc-0943fa08fd02')/SalaryCollectionByEmployee" />
        <link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/VwEmployeesHierarchyCollectionByEmployee" type="application/atom+xml;type=feed" title="VwEmployeesHierarchyCollectionByEmployee" href="EmployeeCollection(guid'c31c7862-fe33-4a13-9bbc-0943fa08fd02')/VwEmployeesHierarchyCollectionByEmployee" />
        <title />
        <updated>2020-03-31T06:32:52Z</updated>
        <author>
            <name />
        </author>
        <content type="application/xml">
            <m:properties>
                <d:Id m:type="Edm.Guid">c31c7862-fe33-4a13-9bbc-0943fa08fd02</d:Id>
                <d:Name>William Walker</d:Name>
                <d:CreatedOn m:type="Edm.DateTime">2017-03-30T14:50:04Z</d:CreatedOn>
                <d:CreatedById m:type="Edm.Guid">76929f8c-7e15-4c64-bdb0-adc62d383727</d:CreatedById>
                <d:ModifiedOn m:type="Edm.DateTime">2020-02-14T06:30:46.234Z</d:ModifiedOn>
                <d:ModifiedById m:type="Edm.Guid">410006e1-ca4e-4502-a9ec-e54d922d2c00</d:ModifiedById>
                <d:ProcessListeners m:type="Edm.Int32">0</d:ProcessListeners>
                <d:ContactId m:type="Edm.Guid">227aab3b-7c0c-4181-abf9-81585563ab23</d:ContactId>
                <d:OrgStructureUnitId m:type="Edm.Guid">d436a9ce-9690-4415-9e03-e8061d7cabb5</d:OrgStructureUnitId>
                <d:Notes></d:Notes>
                <d:JobId m:type="Edm.Guid">11d68189-ced6-df11-9b2a-001d60e938c6</d:JobId>
                <d:FullJobTitle>Developer</d:FullJobTitle>
                <d:OwnerId m:type="Edm.Guid">76929f8c-7e15-4c64-bdb0-adc62d383727</d:OwnerId>
                <d:CareerStartDate m:type="Edm.DateTime">2019-09-08T00:00:00</d:CareerStartDate>
                <d:CareerDueDate m:type="Edm.DateTime">0001-01-01T00:00:00</d:CareerDueDate>
                <d:ProbationDueDate m:type="Edm.DateTime">2020-01-09T00:00:00</d:ProbationDueDate>
                <d:ReasonForDismissalId m:type="Edm.Guid">00000000-0000-0000-0000-000000000000</d:ReasonForDismissalId>
                <d:AccountId m:type="Edm.Guid">a0bf3e92-f36b-1410-0499-00155d043204</d:AccountId>
                <d:ManagerId m:type="Edm.Guid">3e5bd47e-1ebd-41db-a9a6-a3560dcee3cb</d:ManagerId>
            </m:properties>
        </content>
    </entry>
</feed>

Типы запросов

Получение данных

Основные правила GET-запросов:

  • Разрешено использовать параметры.
  • Отсутствует тело запроса.
  • Присутствует тело ответа.

Структура GET-запроса:

GET my_Creatio_site/0/ServiceModel/EntityDataService.svc/data_resource?$parameters

ForceUseSession: true
BPMCSRF: authentication_cookie_value

Структура тела ответа на GET-запрос:

<?xml version="1.0" encoding="utf-8"?>
<feed xml:base="http://mycreatio.com/0/ServiceModel/EntityDataService.svc/" xmlns="http://www.w3.org/2005/Atom" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
    <id>http://mycreatio.com/0/ServiceModel/EntityDataService.svc/data_resource</id>
    <title type="text">data_resource</title>
    <updated>date and time of request</updated>
    <link rel="self" title="data_resource" href="data_resource" />
    <entry>
        metadata_data
        <content type="application/xml">
            <m:properties>
                <d:object1 field1>object1 field_value1</d:object1 field1>
                <d:object1 field2>object1 field_value2</d:object1 field2>
                ...
            </m:properties>
        </content>
    </entry>
    <entry>
        metadata_data
        <content type="application/xml">
            <m:properties>
                <d:object2 field1>object2 field_value1</d:object2 field1>
                <d:object2 field2>object2 field_value2</d:object2 field2>
                ...
            </m:properties>
        </content>
    </entry>
    ...
</feed>

Структурные элементы тела ответа на GET-запрос принимают следующие значения:

entry
Экземпляр объекта коллекции.
metadata_data
Метаданные экземпляра объекта коллекции.
object1 field1, object1 field2, ..., object2 field1, object2 field2, ...
Имена полей field1, field2, ... экземпляров объектов object1, object2, ... коллекции.
object1 field_value1, object1 field_value2, ..., object2 field_value1, object2 field_value2, ...
Значения полей field1, field2, ... экземпляров объектов object1, object2, ... коллекции.

Добавление данных

Основные правила POST-запросов:

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

Структура POST-запроса:

POST my_Creatio_site/0/ServiceModel/EntityDataService.svc/objects_collectionCollection

Accept: application/atom+xml; type=entry
Content-Type: application/json; odata=verbose
ForceUseSession: true
BPMCSRF: authentication_cookie_value

В качестве ресурса данных POST-запроса может выступать только коллекция объектов, в которой необходимо создать новый экземпляр объекта коллекции.

Структурные элементы строки POST-запроса:

objects_collection (required)
Имя коллекции, в которой необходимо создать новый экземпляр объекта коллекции.

Структура тела POST-запроса:

{
    "field1": "value1",
    "field2": "value2",
    ...
}

Структурные элементы тела POST-запроса:

field1, field2, ... (required)
Имена полей создаваемого экземпляра объекта коллекции, которые необходимо заполнить.
value1, value2, ... (required)
Значения полей field1, field2, ..., создаваемого экземпляра объекта коллекции, которые необходимо заполнить.

Структура тела ответа на POST-запрос:

<?xml version="1.0" encoding="utf-8"?>
<feed xml:base="http://mycreatio.com/0/ServiceModel/EntityDataService.svc/" xmlns="http://www.w3.org/2005/Atom" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
    <id>http://mycreatio.com/0/ServiceModel/EntityDataService.svc/data_resource</id>
    <title type="text">data_resource</title>
    <updated>date and time of request</updated>
    <link rel="self" title="data_resource" href="data_resource" />
    <entry>
        metadata_data
        <content type="application/xml">
            <m:properties>
                <d:object1 field1>object1 field_value1</d:object1 field1>
                <d:object1 field2>object1 field_value2</d:object1 field2>
                ...
            </m:properties>
        </content>
    </entry>
    <entry>
        metadata_data
        <content type="application/xml">
            <m:properties>
                <d:object2 field1>object2 field_value1</d:object2 field1>
                <d:object2 field2>object2 field_value2</d:object2 field2>
                ...
            </m:properties>
        </content>
    </entry>
    ...
</feed>

Структурные элементы тела ответа на POST-запрос принимают следующие значения:

entry
Экземпляр объекта коллекции.
metadata_data
Метаданные созданного экземпляра объекта коллекции.
object1 field1, object1 field2, ..., object2 field1, object2 field2, ...
Имена полей созданного экземпляра объекта коллекции.
object1 field_value1, object1 field_value2, ..., object2 field_value1, object2 field_value2, ...
Значения полей field1, field2, ... созданного экземпляра объекта коллекции.

Изменение данных

Основные правила PATCH-запросов:

  • Запрещено использовать параметры.
  • Присутствует тело запроса.
  • Отсутствует тело ответа.

В качестве ресурса данных PATCH-запроса может выступать только коллекция объектов, в которой необходимо изменить данные экземпляра объекта.

Структура PATCH-запроса:

PATCH my_Creatio_site/0/ServiceModel/EntityDataService.svc/objects_collectionCollection(guid'object_id')

Accept: application/atom+xml; type=entry
Content-Type: application/json; odata=verbose
ForceUseSession: true
BPMCSRF: authentication_cookie_value

Структурные элементы строки PATCH-запроса:

objects_collection (required)
Имя коллекции, экземпляр объекта которой необходимо изменить.
object_id (required)
Идентификатор изменяемого экземпляра объекта коллекции.

Структура тела PATCH-запроса:

{
    "field1": "value1",
    "field2": "value2",
    ...
}

Структурные элементы тела PATCH-запроса:

field1, field2, ... (required)
Имена полей изменяемого экземпляра объекта коллекции.
value1, value2, ... (required)
Новые значения для полей field1, field2, ... изменяемого экземпляра объекта коллекции.

Удаление данных

Основные правила DELETE-запросов:

  • Запрещено использовать параметры.
  • Отсутствует тело запроса.
  • Отсутствует тело ответа.

В качестве ресурса данных DELETE-запроса может выступать только коллекция объектов, экземпляр объекта которой необходимо удалить.

Структура DELETE-запроса:

DELETE my_Creatio_site/0/ServiceModel/EntityDataService.svc/objects_collectionCollection(guid'object_id')

Accept: application/atom+xml; type=entry
Content-Type: application/json; odata=verbose
ForceUseSession: true
BPMCSRF: authentication_cookie_value

Структурные элементы строки DELETE-запроса:

objects_collection (required)
Имя коллекции, экземпляр объекта которой необходимо удалить.
object_id (required)
Идентификатор удаляемого экземпляра объекта коллекции.
© Terrasoft 2002-2020.

Был ли данный материал полезен?

Как можно улучшить эту статью?