Контакты (person)

Метод “person”

Метод позволяет управлять записями Контактов – добавлять, обновлять, удалять. Метод аналогичен методу “client”, но в нем отсутствуют специфичные сущности "Контакт" параметры.

URL для вызова - http(s)://crm_url/developer/v2/person?параметр=значение

Запрос “fields”

Запрос позволяет получить список доступных полей, хранящих информацию о клиенте в формате – «Имя поля» - «Расшифровка назначения» для формирования дальнейших запросов.

В список включены поля, активированные в Панели управления / Формы. Не активные поля игнорируются при обработке.

Пример запроса:


  $params = [
    "login" => "vladislav@isaler.ru",
    "apikey" => "aMgiCQyj8bCToNc47BZZYrRICoWSIl",
    "action" => "fields"
  ]

$urlparams = http_build_query($params);

Ответ:


{
 "data":{
   "pid":"Уникальный идентификатор записи контакта",
   "date_create":"Дата создания. Timestamp",
   "date_edit":"Дата последнего изменения. Timestamp",
   "clid":"Клиент",
   "ptitle":"Должность",
   "person":"Ф.И.О.",
   "tel":"Тел.",
   "fax":"Факс",
   "mob":"Моб.",
   "mail":"Почта",
   "rol":"Роль",
   "social":"Прочее",
   "iduser":"Ответственный",
   "loyalty":"Лояльность",
   "input1":"Дата рождения",
   "clientpath":"Источник клиента",
   "blog":"Блог",
   "mysite":"Сайт",
   "twitter":"Twitter",
   "icq":"ICQ",
   "skype":"Skype",
   "google":"Google",
   "yandex":"Я.ru",
   "mykrug":"Мой круг"
   }  
}

Возможные ответы в случае ошибок:

400 – Не верный API key
401 – Неизвестный пользователь
402 – Неизвестный метод

Запрос “list”

Запрос позволяет получить список контактов, доступных текущему сотруднику, в т.ч. с применением фильтров.

Параметры запроса (не обязательные):

  • offset – страница вывода, с учетом того, что установлен лимит в 200 записей на страницу (по умолчанию offset = 0)
  • order – поле, по которому будет производится сортировка списка (по умолчанию order = date_create)
  • first – направление сортировки ( new – сначала новые, old – сначала старые ). (по умолчанию first = new)

Фильтры (не обязательные):

  • user – ограничение по пользователю (указывается логин пользователя)
  • dateStart – начальная дата создания записи (формат - YYYY-MM-DD)
  • dateEnd – конечная дата создания записи (не обязательно, формат - YYYY-MM-DD)
    • только dateStart – вывод записей с датой создания больше указанной даты
    • только dateEnd – вывод записей с датой создания меньше указанной даты
  • word – слово поиска по полям person, ptitle, tel, mail
  • fields – ограничение вывода информации по записям с разделением запятыми без пробелов. Например, при указании fields= person,tel в ответе будут получены только ФИО контакта и его телефон
  • socinfo – включает вывод социальных контактов (Блог, Сайт, Twitter, ICQ, Skype, Google, Я.ru, Мой круг)

Дополнительные фильтры:

  • filter - массив, содержащий дополнительные фильтры:
    • clid - идентификатор клиента (целое число)
    • clientpath - источник клиента в текстовом виде
    • input1...input10 - доп.поле

Пример формирования запроса в PHP:


$params = [
    "login"  => "vladislav@isaler.ru",
    "apikey" => "aMgiCQyj8bCToNc47BZZYrRICoWSIl",
    // указываем метод
    "action"    => 'list',
    // страница, с учетом вывода 200 записей на страницу
    "offset"    => 0,
    // поле для упорядочивания записей
    "order"     => 'date_create',
    // направление сортировки; new - по-умолчанию, old - сначала более старые
    "first"     => '',
    // ограничение по login пользователя, пользователь должен быть в подчинении у текущего
    "user"      => '',
    // даты создания
    "dateStart" => '2016-01-01',
    "dateEnd"   => '2018-06-01',
    // строка поиска по полям title, des, phone, mail_url, site_url
    "word"      => '',
    // фильтры
    "filter"    => [
        // string, фильтр по типу отношений (список доступен в методе guides в запросе relations)
        "loyalty"  => 'Лояльный',
        // string|integer, фильтр по должности
        "ptitle" => 'Директор',
        // string, фильтр по источнику
        "clientpath" => '',
        // string, фильтр по доп.полю
        "input1"     => ''
    ],
    // для вывода только заданных полей из конкретной записи == list, info
    //"fields"    => 'clid,person,tel,mob,mail',
    // для включения социальных контактов
    //"socinfo"  => 'yes'
];

$urlparams = http_build_query($params);

Ответ:

В поле “data” приходит список записей, в поле "count" - приходит общее количество записей в выборке

Возможные ответы в случае ошибок:

400 – Не верный API key
401 – Неизвестный пользователь
402 – Неизвестный метод

Запрос “info”

Запрос позволяет получить информацию о Контакте по его идентификатору - pid.

Параметры запроса:

  • pid – уникальный идентификатор записи клиента
  • fields – ограничение вывода информации по полям с разделением запятыми без пробелов. Например, при указании fields=title,phone в ответе будут получено только название клиента и его телефон
  • socinfo – включает вывод социальных контактов (Блог, Сайт, Twitter, ICQ, Skype, Google, Я.ru, Мой круг)

Пример запроса:


$params = [
    "login"  => "vladislav@isaler.ru",
    "apikey" => "aMgiCQyj8bCToNc47BZZYrRICoWSIl",
    // указываем метод
    "action"  => 'info',
    // id контакта
    "pid"     => '2475',
    // для вывода только заданных полей из конкретной записи == list, info
    "fields"  => 'clid,person,ptitle,tel,mob,mail',
    // для включения банковских реквизитов
    "socinfo" => 'yes'
];

$urlparams = http_build_query($params);

Ответ:


{
    "data":{
        "clid":"1781",
        "client":"Сейлзмен Рус",
        "person":"Андреев Владислав Германович",
        "ptitle":"Коммерческий директор",
        "tel":"7 (342) 206-72-02",
        "mob":"7 (922) 328-94-66",
        "mail":"v@salesman.pro",
        "socials":{
            "blog":"333",
            "mysite":"333",
            "twitter":"333",
            "icq":"333",
            "skype":"andreev.v.g",
            "google":"333",
            "yandex":"333",
            "mykrug":"333"
        }
    }
}

Возможные ответы в случае ошибок:

400 – Не верный API key
401 – Неизвестный пользователь
402 – Неизвестный метод
403 – Клиент с указанным pid не найден в пределах аккаунта указанного пользователя
404 – Не найдено
405 – Отсутствуют параметры - pid контакта

Запрос “add”

Запрос позволяет добавить нового контакта в базу CRM. При этом ответственным устанавливается сотрудник, логин которого использовался в запросе или указанный отдельно в параметре user

Параметры запроса:

  • person – название клиента (обязательное поле)
  • user – login пользователя в SalesMan CRM назначаемого Ответственным за клиента
  • mperson - yes|no - установить контакт основным
  • прочие поля fields – информация для добавления
  • socials – массив полей для социальных контактов
    • blog => Блог
    • mysite => Сайт
    • twitter => Twitter
    • icq => ICQ
    • skype => Skype
    • google => Google
    • yandex => Я.ru
    • mykrug => Мой круг

Примечание

  • параметр date_create может быть указан в запросе. Если он отсутствует, то будет принято автоматически
  • при пустом поле user Ответственным будет назначен текущий пользователь (из запроса)
  • mperson - для установки контакта Основным (если привязывается к Клиенту) (mperson=yes)
  • следующие параметры передаются в явном, текстовом виде:
    • loyalty – лояльность
    • clientpath – источник клиента

В случае отсутствия переданных значений в справочниках будут созданы новые записи

Пример формирования запроса в PHP:


$params = [
    "login"      => "vladislav@isaler.ru",
    "apikey"     => "aMgiCQyj8bCToNc47BZZYrRICoWSIl",
    // указываем метод
    "action"     => 'add',
    "clid"       => 1781,
    "person"     => 'Апиров Апист Иванович',
    "ptitle"     => 'Технический директор',
    "tel"        => '+7(342)250-50-50, +7(342)290-50-51',
    "mob"        => '+7(922)250-50-50',
    "mail"       => 'a.i.apirov@mailio.ru',
    "clientpath" => 'Voxlink',
    "loyalty"    => '0 - Не лояльный',
    "socials"    => [
        "blog"    => 'http://api.blog.rus',
        "mysite"  => 'http://apiapi.rus',
        "twitter" => 'apiapi',
        "icq"     => '123456789',
        "skype"   => 'apiapi',
        "google"  => 'apiapi',
        "yandex"  => 'apiapi',
        "mykrug"  => 'apiapi'
    ],
    // установить основным контактом
    "mperson"    => "yes"
];

$urlparams = http_build_query($params);

Ответ:

{"result":"Успешно","data":2502}

Возможные ответы в случае ошибок:

400 – Не верный API key
401 – Неизвестный пользователь
402 – Неизвестный метод
405 – Отсутствуют параметры
406 – Найден существующий контакт

Запрос “add.list”

Запрос позволяет добавить несколько новых клиентов в базу CRM. При этом ответственным устанавливается сотрудник, логин которого использовался в запросе или указанный отдельно в параметре user.

Параметры запроса:

  • user – login пользователя назначаемого Ответственным за клиентов. Он может быть указан для конкретной добавляемой записи
  • остальные параметры аналогичны запросу "add"

Запрос аналогичен запросу add, но параметры для каждой добавляемой записи передаются в массиве persons

Пример формирования запроса в PHP:


$params = [
    "login"      => "vladislav@isaler.ru",
    "apikey"     => "aMgiCQyj8bCToNc47BZZYrRICoWSIl",
    // указываем метод
    "action"     => 'addlist',
    "persons" => [
        [
            "clid"       => 6212,
            "person"     => 'Тест 900000',
            "ptitle"     => 'Технический директор',
            "tel"        => '+7(342)250-50-50, +7(342)290-50-51',
            "mob"        => '+7(922)250-50-54',
            "mail"       => 'test90000@mailio.ru',
            "clientpath" => 'Voxlink',
            "loyalty"    => '1 - Пока не понятно',
            "socials"    => [
                "blog"    => 'http://api.blog2.rus',
                "mysite"  => 'http://apiapi2.rus',
                "twitter" => 'apiapi',
                "icq"     => '12345678900',
                "skype"   => 'apiapi2',
                "google"  => 'apiapi2',
                "yandex"  => 'apiapi2',
                "mykrug"  => 'apiapi2'
            ]
        ],
        [
            "clid"       => 6213,
            "mperson"    => "yes",
            "person"     => 'Тест 100000',
            "ptitle"     => 'Генеральный директор',
            "tel"        => '+7(342)290-90-90, +7(342)290-90-91',
            "mob"        => '+7(922)290-90-94',
            "mail"       => 'test100000@mailio.ru',
            "clientpath" => 'Вконтакте',
            "loyalty"    => '2 - Нейтральный',
            "user"       => "marand@omadaru.ru",
            "socials"    => [
                "blog"    => 'http://api.blog2.rus',
                "mysite"  => 'http://apiapi2.rus',
                "twitter" => 'apiapi4',
                "icq"     => '25345678900',
                "skype"   => 'apiapi4',
                "google"  => 'apiapi4',
                "yandex"  => 'apiapi4',
                "mykrug"  => 'apiapi4'
            ]
        ]
    ]
];

$urlparams = http_build_query($params);

Ответ:

Ответ приходит для каждой добавляемой записи отдельно


[
    {"result":"Успешно","data":2509},
    {"result":"Успешно","data":2510}
]

Важно

  • Проверка на дубли не производится - см. [модуль "Дубли"](https://salesman.pro/docs/137 "Модуль "Дубли"")

Возможные ответы в случае ошибок:

400 – Не верный API key
401 – Неизвестный пользователь
402 – Неизвестный метод
405 – Отсутствуют параметры
406 – Найден существующий контакт

Запрос “update”

Запрос позволяет обновить данные указанного клиента по его clid. При этом нет необходимости передавать все данные клиента – можно передать только изменившиеся данные.

Параметры запроса:

  • pid – уникальный идентификатор контакта (обязательное поле)
  • прочие поля fields – информация для обновления
  • socials – информация для обновления

Пример формирования запроса в PHP:


$params = [
    "login"      => "vladislav@isaler.ru",
    "apikey"     => "aMgiCQyj8bCToNc47BZZYrRICoWSIl",
    // указываем метод
    "action"     => 'update',
    "pid"        => 2750,
    "person"     => 'Апиров Апист Иванович',
    //"ptitle"     => 'Технический директор',
    //"tel"        => '+7(342)250-50-50, +7(342)290-50-51',
    "mob"        => '+7(922)250-50-54',
    //"mail"       => 'a.i.apirov@mailio.ru',
    "clientpath" => 'Voxlink',
    "loyalty"    => '1 - Пока не понятно',
    "socials"    => [
        "blog"    => 'http://api.blog2.rus',
        "mysite"  => 'http://apiapi2.rus',
        "twitter" => 'apiapi',
        "icq"     => '12345678900',
        "skype"   => 'apiapi2',
        "google"  => 'apiapi2',
        "yandex"  => 'apiapi2',
        "mykrug"  => 'apiapi2'
    ]
];

$urlparams = http_build_query($params);

Ответ:

{"result":"Успешно","data":"2509","social":"Соц.контакты обновлены"}

Если данные совпадают с имеющимися в базе запрос не будет обработан, но ошибки не вернет:

{"result":"Данные корректны, но идентичны имеющимся","data":2509}

Возможные ответы в случае ошибок:

400 – Не верный API key
401 – Неизвестный пользователь
402 – Неизвестный метод
403 – Клиент с указанным pid не найден в пределах аккаунта указанного пользователя
405 – Отсутствуют параметры - pid контакта

Запрос “delete”

Запрос позволяет удалить указанный Контакт по его pid. Метод работает только в случае, если у клиента нет сделок (активных или закрытых).

Параметры запроса:

  • pid – уникальный идентификатор контакта (обязательное поле)

Пример запроса:


$params = [
    "login"  => "vladislav@isaler.ru",
    "apikey" => "aMgiCQyj8bCToNc47BZZYrRICoWSIl",
    "action" => "delete",
    "pid"    => 2509
];

$urlparams = http_build_query($params);

Ответ:

{"result":"Успешно","data":2509}

Возможные ответы в случае ошибок:

400 – Не верный API key
401 – Неизвестный пользователь
402 – Неизвестный метод
403 – Клиент с указанным pid не найден в пределах аккаунта указанного пользователя
405 – Отсутствуют параметры - pid контакта
406 – Удаление контакта невозможно - есть сделки