Мне нужно получить идентификаторы записей в поле перекрестной ссылки с помощью веб-API. Есть ли метод API для решения такого типа задач? Или, по крайней мере, я хочу знать, как получить значение определенного поля?
В документации описано много разных способов работы с полями списка (например, GetValuesListValue
), и мне интересно, есть ли такой же способ решить мою задачу.
Я могу использовать метод ExecuteSeach
, но это не очень удобно.
Александр, вы можете использовать API REST или Webservices.
REST API
Используя функцию «Получить контент по идентификатору», /api/core/content/*contentid*
Затем вы можете передать OData, чтобы просто получить содержимое поля (id), передав следующее в теле
{"Value":"?$filter=FieldId eq '*field id of cross-reference field*'"}
API-интерфейсы веб-сервисов
Вы можете вызвать /ws/record.asmx GetRecordById, передав следующее
<?xml version = "1.0" encoding = "utf-8"?>
<soap:Envelope xmlns:xsi = "http://www.w3.org/2001/XMLSchemainstance" xmlns:xsd = "http://www.w3.org/2001/XMLSchema" xmlns:soap = "http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetRecordById xmlns = "http://archer-tech.com/webservices/">
<sessionToken>session token</sessionToken>
<moduleId>int</moduleId>
<contentId>int</contentId>
</GetRecordById>
</soap:Body>
</soap:Envelope>
Затем вам придется перебрать возвращенный XML, чтобы получить содержимое поля.