Клиенты¶
Карточка клиента¶
URI: /BumsCrmApiV01/Contractor/card.api|xml
Входные параметры¶
Параметр | Тип | Описание |
---|---|---|
Id | integer | Идентификатор клиента |
RequestedFields | array<string> | Массив полей, которые необходимо вывести. Список допустимых для этого параметра полей можно получить отдельным запросом |
FormatSettings[phone] | string | Если передать значение «full», номера клиента будут выводиться с комментариями и префиксами. Подробнее о префиксах и их значениях здесь |
Существует возможность с помощью параметра RequestedFields вывести все e-mail`ы клиента:
/BumsCrmApiV01/Contractor/card.api?Id=1030347&RequestedFields[ContactInfo][0]=Type&RequestedFields[ContactInfo][1]=Value&RequestedFields[ContactInfo][2]=IsMain
В ответе на такой запрос в объекте клиента появится поле-массив ContactInfo содержащий поля Type - тип контактной информации(email), Value - сам адрес в виде строки, IsMain - булево значение, является ли email главным(предпочтительным для связи).
Выходные данные¶
Если был передан в запросе параметр RequestedFields, то выводятся только те поля, который были переданы в нём. Иначе:
Параметр | Тип | Описание |
---|---|---|
Id | integer | Идентификатор клиента |
Type | object(Id,Name) | Тип клиента |
PersonType | string | Тип организации (company или person) |
ActivityType | string | Вид деятельности |
AdvertisingWay | string | Канал привлечения |
Birthday | date | День рождения/Дата основания |
Description | string | Описание |
string | Почта | |
Icq | string | Номер ICQ |
string | Адрес в Фейсбуке | |
Jabber | string | Джаббер |
Locations | string | Адреса |
Name | string | Имя или название |
GUID | string | ИД, созданный при синхронизации с интернет магазином |
PreferTransport | string | Предпочтительный вид связи |
Responsibles | [object(Id,Name)] | Ответственные |
ResponsibleContractors | [object(Id,Name)] | Ответственные клиенты |
Site | string | Сайт |
Skype | string | Скайп |
Status | object(Id,Name) | Статус |
TimeCreated | date | Дата создания |
TimeUpdated | date | Дата изменения |
string | Твиттер | |
Attaches[0..n][Name] | string | Имя файла вложения |
Attaches[0..n][Url] | string | Запрос для получения файла вложения по API |
Attaches[0..n][FileName] | string | Системное имя файла вложения, используется при удалении. |
Attaches[0..n][TimeCreated] | date | Дата создания файла вложения |
Attaches[0..n][Size] | integer | Размер файла вложения, кб |
Если клиент является компанией, то дополнительно присутствуют:¶
Параметр | Тип | Описание |
---|---|---|
CompanyName | string | Название компании |
ChildContacts | array | Массив контактных лиц. (Каждый элемент массива содержит структуру, которая описана в этом разделе) |
Если клиент является контактным лицом, то дополнительно присутствуют:¶
Параметр | Тип | Описание |
---|---|---|
LastName | string | Фамилия |
FisrtName | string | Имя |
MiddleName | string | Отчество |
ParentCompany | object | Компания. Элемент является объектом, структура которого описана в этом разделе |
Gender | string | Пол |
Position | string | Должность |
Примечания.¶
Поле присутствует в ответе только в том случае, если оно заполнено для запрошенного клиента.
Пример ответа в JSON-формате¶
{
"status": {
"code": "ok",
"message": null
},
"data": {
"contractor": {
"Id": 1000013,
"Birthday": "2000-01-01",
"ChildContacts": [
{
"Id": 1000014,
"Name": "Ivan Ivanov"
},
{
"Id": 1000014,
"Name": "Sergey Sergeev"
}
],
"Description": "",
"Email": "income@babayka.ltd",
"Phones": [
"ph_m+7-915-1234567\ttest_api",
"ph_m+7-916-1234567\ttest_api"
],
"Icq": "",
"Facebook": "",
"Jabber": "",
"Locations": [
{
"Id": 5,
"Address": "Some_Address"
}
],
"Name": "Babayka ltd",
"GUID": "",
"Payers": [
{
"Id": 1000013,
"Name": "Babayka"
}
],
"PersonType": "company",
"PreferTransport": "",
"PromisingRate": "0",
"Responsibles": [
{
"Id": 1000006,
"Name": "api_test_employee_first_name_uid_1000091 test"
},
{
"Id": 1000007,
"Name": "api_test_employee_first_name_uid_1000093 test"
}
],
"Site": "",
"Skype": "",
"TimeCreated": "2016-12-02 13:17:07",
"TimeUpdated": "2016-12-02 13:17:08",
"Twitter": "",
"Type": {
"Id": 1,
"Name": "Клиент"
},
"CompanyName": "Company_Name",
"ResponsibleContractors": []
}
}
}
Пример ответа в XML-формате¶
<?xml version="1.0" encoding="utf-8"?>
<response>
<status>
<code>ok</code>
<message></message>
</status>
<params>
<id>1</id>
</params>
<data>
<contractor>
</contractor>
</data>
</response>
Редактирование/Создание клиента¶
URI: /BumsCrmApiV01/Contractor/save.api|xml
Входные параметры¶
Параметр | Тип | Описание |
---|---|---|
Id | integer | ID клиента, если не указан то будет создан новый клиент |
Model[TypePerson] | string | Тип организации, принимает значения: human и company |
Model[Type] | string | ID типа клиента |
Model[FirstName] | string | Имя, обязательное если тип human |
Model[LastName] | string | Фамилия, обязательное если тип human |
Model[MiddleName] | string | Отчество, обязательное если тип human |
Model[CompanyName] | string | Наименование компании, обязательное если тип company |
Model[ParentCompany] | int | Id компании, используется для связи контактного лица с компанией |
Model[Email] | string | |
Model[Phones] | array | Массив телефонов* |
Model[Birthday] | array | День основания компании или день рождения клиента, формат: Y-m-d (Пример: ‘1999-03-27’) |
Model[Responsibles] | string | Идентификаторы ответственных сотрудников перечисленных через запятую (Пример: ‘1000005,1013202’) |
Model[ResponsibleContractors] | string | Идентификаторы ответственных клиентов** перечисленных через запятую (Пример: ‘1000005,1013202’) |
Model[Attaches][Add] | array | Массив приложенных файлов, должен передаваться POST-запросом |
Model[Attaches][Add][0…n][Content] | string | Данные(контент файла), закодированные с использованием MIME base64 |
Model[Attaches][Add][0…n][Name] | string | Имя файла |
Model[Attaches][Delete][0…n] | string | Имя файла, который необходимо удалить*** |
Model[Locations][location] | array | Массив адресов клиента**** |
Model[Имя_поля] | string | Значение расширенного поля контрагента с именем “Имя_поля” (список полей можно получить с помощью отдельного запроса |
∗ - строка с номером телефона должна иметь следующий вид: префикс, определяющий тип телефона (например, домашний или мобильный), код страны, код города и сам номер, разделенные дефисом, через симол табуляции можно передать комментарий к телефону (разделение телефона и комментария знаком табуляции - обязательно). Например: ph_m-7-915-1234567 → комментарий. Список возможных префиксов с названиями можно получить в справочнике.
∗∗ - Отвественными клиентами, могут быть только клиенты с гостевым доступом
∗∗∗ - системное имя файла можно получить, выполнив запрос карточки клиента, выходной параметр - Attaches[0..n][FileName]
**** - Чтобы добавить несколько адресов клиенту, нужно использовать в запросе следующую структуру: Model[Locations][location][n1][Address]=address1&Model[Locations][location][n2][Address]=address2
Выходные данные (поля клиента)¶
Поле | Тип | Описание |
---|---|---|
contractor[Id] | integer | ID клиент |
contractor[PayerId] | integer | ID автоматически созданного плательщика |
Удаление клиента¶
URI: /BumsCrmApiV01/Contractor/delete.api|xml
Входные параметры¶
Параметр | Тип | Описание |
---|---|---|
Id | integer | ID клиента, которого нужно удалить. |
Список полей клиента¶
URI: /BumsCrmApiV01/Contractor/listFields.api|xml
Выходные параметры (массив полей клиента с переводом поля)¶
Поле | Тип | Описание |
---|---|---|
Fields | array<object (Name, Translation, Type)> | Массив объектов, где каждый объект является определением поля, содержащим его имя тип и перевод. |
Список клиентов¶
URI: /BumsCrmApiV01/Contractor/list.api|xml
Входные параметры¶
Параметр | Тип | Описание |
---|---|---|
FilterId | integer | Идентификатор фильтра |
Limit | integer | Сколько выбрать клиентов (LIMIT) Выборка происходит с начала от меньших ID к большим |
Offset* | integer | Начиная с какого выбирать клиента (OFFSET) |
qs | string | Условие поиска |
Phone | string | Номер телефона в произвольном формате |
Model | array | Массив в формате имя поля => значение. Используется для фильтрации по конкретным значениям полей. |
DroppedOnly | bool | Выводить только условно удаленных клиентов. Выходные параметры будут состоять из полей Id и Name. |
- Offset — порядковый номер в получившейся выборке. Например, если у нас 10 клиентов и 5 — с именем Иван, то запрос c
Limit=1, Offset=3 и qs='Иван'
, вернет третьего по порядку из этих пяти.
Выходные данные¶
Параметр | Тип | Описание |
---|---|---|
Id | integer | Идентификатор клиента |
Type | string | Тип клиента |
Name | string | Имя клиента |
Birthday | datetime | Дата рождения |
Description | string | Описание клиента |
string | ||
string | ||
Jabber | string | Jabber |
Payers | object (Id, Name) | Список плательщиков |
PersonType | string | Тип организации |
PreferTransport | string | Предпочтительный способ связи |
PromisingRate | string | Перспективность |
Responsibles | object (Id, Name) | Ответственные |
ResponsibleContractors | object (Id, Name) | Ответственные клиенты https://help.megaplan.ru/FAQCrm_071#a1d3708cb40952acfc105fb6a391ae43d |
Site | string | Сайт |
TimeCreated | datetime | Время создания |
TimeUpdated | datetime | Время обновления |
string |
Пример ответа в JSON-формате¶
{
"status":
{
"code":"ok",
"message":null
},
"params":
{
"FilterId":0,
"Limit":0,
"Offset":0,
"qs":""
},
"data":
{
"clients":[
{
"Id":1022073,
"Name":"Denisov Ivan",
"Birthday":"1980-01-01",
"Description":"",
"Email":"oleg@test.com",
"Facebook":"",
"Jabber":"",
"Payers":[{"Id":1020826,"Name":""}],
"PersonType":"company",
"PreferTransport":"",
"PromisingRate":"0",
"Responsibles":[{"Id":1000000,"Name":"Name"}],
"Site":"",
"TimeCreated":"2012-08-23 12:56:45",
"TimeUpdated":"2012-08-23 13:56:45",
"Twitter":"",
"Type":{"Id":1,"Name":"Клиент"}
}
]
}
}
Пример ответа в XML-формате¶
<?xml version="1.0" encoding="utf-8"?>
<response>
<status>
<code>ok</code>
<message></message>
</status>
<params>
<filter_id>0</filter_id>
<limit>0</limit>
<offset>0</offset>
<qs></qs>
</params>
<data>
<clients>
<item>
<id>1022073</id>
<name>Denisov Ivan</name>
<birthday>1980-01-01</birthday>
<description></description>
<email>oleg@test.com</email>
<facebook></facebook>
<jabber></jabber>
<players>
<id>1020826</id>
<name></name>
</players>
<person_type>company</person_type>
<prefer_transport></prefer_transport>
<promising_rate></promising_rate>
<responsibles>
<id>1020826</id>
<name></name>
</responsibles>
<site></site>
<time_created>2012-08-23 12:56:45</time_created>
<time_updated>2012-08-23 12:56:45</time_updated>
<twitter></twitter>
<type>
<id>1</id>
<name>Клиент</name>
</type>
</item>
</clients>
</data>
</response>