Клиенты

Карточка клиента

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 Описание
Email string Почта
Icq string Номер ICQ
Facebook 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 Дата изменения
Twitter 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": "[email protected]",
            "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 Email
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 Описание клиента
Email string E-mail
Facebook string Facebook
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 Время обновления
Twitter string Twitter

Пример ответа в 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":"[email protected]",
        "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>[email protected]</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 Идентификатор клиента, которого надо разблокировать

Выходные данные