Контакты¶
Карточка контакта¶
URI: /BumsCrmApiV01/Contractor/card.api|xml
Входные параметры¶
Существует возможность с помощью параметра 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
Выходные данные (поля контакта)¶
Удаление контакта¶
URI: /BumsCrmApiV01/Contractor/delete.api|xml
Входные параметры¶
Список полей контакта¶
URI: /BumsCrmApiV01/Contractor/listFields.api|xml
Выходные параметры (массив полей контакта с переводом поля)¶
| Поле | Тип | Описание | 
|---|---|---|
| Fields | array<object (Name, Translation, Type)> | Массив объектов, где каждый объект является определением поля, содержащим его имя тип и перевод. | 
Список контактов¶
URI: /BumsCrmApiV01/Contractor/list.api|xml
Входные параметры¶
- Offset — порядковый номер в получившейся выборке. Например, если у нас 10 контактов и 5 — с именем Иван, то запрос c - Limit=1, Offset=3 и qs='Иван', вернет третьего по порядку из этих пяти.
Выходные данные¶
Пример ответа в 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
Входные параметры¶
Разблокировка¶
URI: /BumsCommonApiV01/UserAccount/unblock.api|xml
Входные параметры¶
Выходные данные¶
—