Клиенты¶
Карточка клиента¶
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>
Блокировка¶
URI: /BumsCommonApiV01/UserAccount/block.api|xml
Входные параметры¶
Имя поля  | 
Тип  | 
Описание  | 
|---|---|---|
ContractorId  | 
integer  | 
Идентификатор клиента, которого надо заблокировать  | 
Разблокировка¶
URI: /BumsCommonApiV01/UserAccount/unblock.api|xml
Входные параметры¶
Имя поля  | 
Тип  | 
Описание  | 
|---|---|---|
ContractorId  | 
integer  | 
Идентификатор клиента, которого надо разблокировать  | 
Выходные данные¶
—