Клиенты

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

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

Идентификатор клиента, которого надо разблокировать

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