GetReferenceData: Contacts — Контактные лица клиента
Функция позволяет получить список контактных лиц клиента, необходимых для использования в других функциях при вызове web-сервиса.
| Параметр | Тип | Обязательно | Описание |
|---|---|---|---|
| login | string | логин | |
| password | string | пароль | |
| parameters | Element | список параметров |
Параметр parameters содержит настройки запроса в виде иерархической структуры, соответствующей XML-представлению.
Он должен включать:
Key: строка со значением parameters (обязательное);
List: непустой массив элементов, каждый из которых представляет отдельный параметр и сам является структурой с тремя полями:
- Key: имя параметра (например, Reference);
- Value: значение параметра указывающая на то какой parameters описывается;
- ValueType: тип значения — строка, указывающая тип Value(string, int и т.д.).
Пример одного элемента из List:
<car:List>
<car:Key>Reference</car:Key>
<car:Value>Contacts</car:Value>
<car:ValueType>string</car:ValueType>
</car:List>Каждый такой элемент — независимый узел внутри parameters. Если List отсутствует или пуст — запрос отклоняется.
Иерархия структуры parameters:
parameters → List (массив) → каждый элемент List → Key, Value, ValueType.
| Параметр | Тип | Обязательно | Описание |
|---|---|---|---|
| Reference | string | Имя справочника, должно быть равно «Contacts» |
Параметр Element в ответе содержит информацию о видах грузов.
Он включает элементы справочника:
Key: идентификатор справочника, к которому относится запись (например, Contacts);
List: контейнер записи контакта. Каждый контакт представлен отдельным блоком.
Каждая блок List в виде структуры Element описывает один контакт и имеет структуру:
- Key: уникальный идентификатор контакта (GUID) (например, 0fadf116-aa3d-11e5-b703-005056b1a128);
- Value: наименование контакта;
- ValueType: тип значения — строка, указывающая тип Value (string, dateTime и т.п.);
- Fields: основные атрибуты контакта (ФИО, подразделение, проект и т.д.);
- List: вложенные списки контактной информации (телефоны, email и т.д.).
Структура ответа иерархична:
Element → Key + List (массив) → каждый элемент List → Key + Value +ValueType +Fields+List → каждый элемент Fields → Key, Value, ValueType, каждый элемент List → Key, Value, ValueType.
Если во время запроса произошла ошибка, информация о ней будет отражена в свойстве Properties (см. метод GetReferenceData: ErrorCodes — Коды ошибок).
| Параметр | Тип | Обязательно | Описание |
|---|---|---|---|
| Key | string | Уникальный номер элемента справочника в формате GUID (Globally Unique Identifier) | |
| Value | string | Полное наименование (имя) контакта | |
| Fields | Element | Другие свойства элемента справочника | |
| List | Element | Контактная информация контакта |
Каждый блок Fields содержит в себе информацию о контактном лице и состоит из элементов:
- Key: имя поля (например, FirstName);
- Value: значение поля (может быть пустым);
- ValueType: тип значения (string, boolean, и т.д.).
| Параметр | Тип | Обязательно | Описание |
|---|---|---|---|
| FirstName | string | Имя | |
| LastName | string | Фамилия | |
| Patronymic | string | Отчество | |
| Department | string | GUID подразделения контактного лица | |
| Project | string | GUID проект контактного лица | |
| DeletionMark | boolean | Признак, что в базе «Карго» данный контакт помечен на удаление |
Каждый блок List внутри основного контейнера описывает один способ связи контактного лица и имеет структуру:
- Key: тип контактной информации (например, Телефон / Телефон контактного лица);
- Value: значение контактной информации (номер телефона, email и т.д.);
- ValueType: тип значения (string);
- Fields: атрибуты контактной информации (Type, SubType).
| Параметр | Тип | Обязательно | Описание |
|---|---|---|---|
| Type | string | Код типа контактной информации (см. GetReferenceData: типы контактной информации) | |
| SubType | string | Код подтипа контактной информации (см. GetReferenceData: типы контактной информации) |
<soap:Envelope
xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
xmlns:car="http://www.cargo3.ru">
<soap:Header/>
<soap:Body>
<car:GetReferenceData>
<car:login>test</car:login>
<car:password>2016</car:password>
<car:parameters>
<car:Key>parameters</car:Key>
<car:List>
<car:Key>Reference</car:Key>
<car:Value>Contacts</car:Value>
<car:ValueType>string</car:ValueType>
</car:List>
</car:parameters>
</car:GetReferenceData>
</soap:Body>
</soap:Envelope> <soap:Envelope
xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Body>
<m:GetReferenceDataResponse
xmlns:m="http://www.cargo3.ru">
<m:return
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<m:Key>Contacts</m:Key>
<m:List>
<m:Key>0fadf116-aa3d-11e5-b703-005056b1a128</m:Key>
<m:Value xsi:type="xs:string">1 2 3</m:Value>
<m:ValueType>string</m:ValueType>
<m:Fields>
<m:Key>FirstName</m:Key>
<m:Value xsi:type="xs:string">2</m:Value>
<m:ValueType>string</m:ValueType>
</m:Fields>
<m:Fields>
<m:Key>LastName</m:Key>
<m:Value xsi:type="xs:string">1</m:Value>
<m:ValueType>string</m:ValueType>
</m:Fields>
<m:Fields>
<m:Key>Patronymic</m:Key>
<m:Value xsi:type="xs:string">3</m:Value>
<m:ValueType>string</m:ValueType>
</m:Fields>
<m:Fields>
<m:Key>Department</m:Key>
<m:Value xsi:type="xs:string"/>
<m:ValueType>string</m:ValueType>
</m:Fields>
<m:Fields>
<m:Key>Project</m:Key>
<m:Value xsi:type="xs:string"/>
<m:ValueType>string</m:ValueType>
</m:Fields>
<m:Fields>
<m:Key>DeletionMark</m:Key>
<m:Value xsi:type="xs:boolean">false</m:Value>
<m:ValueType>boolean</m:ValueType>
</m:Fields>
<m:List>
<m:Key>Телефон / Телефон контактного лица</m:Key>
<m:Value xsi:type="xs:string">5</m:Value>
<m:ValueType>string</m:ValueType>
<m:Fields>
<m:Key>Type</m:Key>
<m:Value xsi:type="xs:string">1</m:Value>
<m:ValueType>string</m:ValueType>
</m:Fields>
<m:Fields>
<m:Key>SubType</m:Key>
<m:Value xsi:type="xs:string">992147df-0af4-4cda-980c-4f64c8779c78</m:Value>
<m:ValueType>string</m:ValueType>
</m:Fields>
</m:List>
<m:List>
<m:Key>Адрес электронной почты / e-mail контактного лица</m:Key>
<m:Value xsi:type="xs:string">6</m:Value>
<m:ValueType>string</m:ValueType>
<m:Fields>
<m:Key>Type</m:Key>
<m:Value xsi:type="xs:string">2</m:Value>
<m:ValueType>string</m:ValueType>
</m:Fields>
<m:Fields>
<m:Key>SubType</m:Key>
<m:Value xsi:type="xs:string">7b7b047f-2ba5-44b1-807e-f8c9803359bb</m:Value>
<m:ValueType>string</m:ValueType>
</m:Fields>
</m:List>
</m:List>
</m:return>
</m:GetReferenceDataResponse>
</soap:Body>
</soap:Envelope> 