Контакты (person)
Метод “person”
Метод позволяет управлять записями Контактов – добавлять, обновлять, удалять. Метод аналогичен методу “client”, но в нем отсутствуют специфичные сущности "Контакт" параметры.
URL для вызова:
http(s)://{{baseurl}}/developer/v3/person/запрос?параметр=значение
Запрос “fields”
Запрос позволяет получить список доступных полей, хранящих информацию о клиенте в формате – «Имя поля» - «Расшифровка назначения» для формирования дальнейших запросов. В список включены поля, активированные в Панели управления / Формы. Не активные поля игнорируются при обработке.
Запрос “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 - доп.поле
Пример запроса:
GET http://{{baseurl}}/developer/v3/person/list
Content-Type: application/json
apikey: {{token}}
login: vladislav@isaler.ru
{
"order": "date_edit",
"dateStart": "2021-01-01",
"dateEnd": "2023-01-31",
"fields": "clid,person,ptitle,tel,mob,mail",
"socinfo": true,
"filter": {
"clientpath": 177
}
}
Ответ:
В поле “data” приходит список записей, в поле "count" - приходит общее количество записей в выборке
Запрос “info”
Запрос позволяет получить информацию о Контакте по его идентификатору - pid.
Параметры запроса:
- pid – уникальный идентификатор записи клиента
- fields – ограничение вывода информации по полям с разделением запятыми без пробелов. Например, при указании fields=title,phone в ответе будут получено только название клиента и его телефон
- socinfo – включает вывод социальных контактов (Блог, Сайт, Twitter, ICQ, Skype, Google, Я.ru, Мой круг)
Пример запроса:
GET http://{{baseurl}}/developer/v3/person/info
Content-Type: application/json
apikey: {{token}}
login: vladislav@isaler.ru
{
"pid": 2797,
"fields": "pid,clid,person,ptitle,tel,mob,mail"
}
Ответ:
{
"data": {
"pid": 2797,
"clid": 6255,
"client": "Ляпис Трубецкой",
"person": "Георгий Трубецкой",
"ptitle": "Коммерческий директор",
"tel": "7 (945) 700-70-70",
"mob": null,
"mail": "george.truba@gmail.com"
}
}
Возможные ответы в случае ошибок:
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 – источник клиента
В случае отсутствия переданных значений в справочниках будут созданы новые записи
Пример запроса:
POST http://sm2020.crm/developer/v3/person/add
Content-Type: application/json
apikey: {{token}}
login: vladislav@isaler.ru
{
"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": "salesman.pro",
"loyalty": "0 - Не лояльный"
}
Ответ:
{
"result": "Контакт добавлен",
"data": 2804,
"error": ""
}
Возможные ответы в случае ошибок:
405 – Отсутствуют параметры
406 – Найден существующий контакт
Запрос “add.list”
Запрос позволяет добавить несколько новых клиентов в базу CRM. При этом ответственным устанавливается сотрудник, логин которого использовался в запросе или указанный отдельно в параметре user.
Пример запроса:
POST http://{{baseurl}}/developer/v3/person/add.list
Content-Type: application/json
apikey: {{token}}
login: vladislav@isaler.ru
{
"persons": [
{
"clid": 6276,
"person": "Тест 911",
"ptitle": "Технический директор",
"tel": "+7(342)250-50-98, +7(342)290-50-99",
"mob": "+7(922)250-50-99",
"mail": "test911@mailio.ru",
"clientpath": "salesman.pro",
"loyalty": "1 - Пока не понятно"
},
{
"clid": 6276,
"person": "Тест 912",
"ptitle": "Генеральный директор",
"tel": "+7(342)250-20-98, +7(342)290-20-99",
"mob": "+7(922)250-20-99",
"mail": "test912@mailio.ru",
"clientpath": "salesman.pro",
"loyalty": "1 - Пока не понятно"
}
]
}
Параметры запроса:
- user – login пользователя назначаемого Ответственным за клиентов. Он может быть указан для конкретной добавляемой записи
- остальные параметры аналогичны запросу "add"
Запрос аналогичен запросу add, но параметры для каждой добавляемой записи передаются в массиве persons
Ответ:
Ответ приходит для каждой добавляемой записи отдельно
[
{
"result": "Контакт добавлен",
"data": 2805,
"error": ""
},
{
"result": "Контакт добавлен",
"data": 2806,
"error": ""
}
]
Важно
- Проверка на дубли не производится - см. [модуль "Дубли"](https://salesman.pro/docs/137 "Модуль "Дубли"")
Возможные ответы в случае ошибок:
405 – Отсутствуют параметры
406 – Найден существующий контакт
Запрос “update”
Запрос позволяет обновить данные указанного клиента по его clid. При этом нет необходимости передавать все данные клиента – можно передать только изменившиеся данные.
Параметры запроса:
- pid – уникальный идентификатор контакта (обязательное поле)
- прочие поля fields – информация для обновления
- socials – информация для обновления
Пример запроса:
POST http://{{baseurl}}/developer/v3/person/update
Content-Type: application/json
apikey: {{token}}
login: vladislav@isaler.ru
{
"pid": 2804,
"ptitle": "Технический инженер",
"mob": "+7(922)250-59-59",
"mail": "a.i.apirovv@mailio.ru",
"loyalty": "1 - Пока не понятно"
}
Ответ:
{
"result": "Данные контакта обновлены",
"data": 2804,
"error": ""
}
Если данные совпадают с имеющимися в базе запрос не будет обработан, но ошибки не вернет:
{
"result":"Данные корректны, но идентичны имеющимся",
"data":2804
}
Возможные ответы в случае ошибок:
403 – Клиент с указанным pid не найден в пределах аккаунта указанного пользователя
405 – Отсутствуют параметры - pid контакта
Запрос “delete”
Запрос позволяет удалить указанный Контакт по его pid. Метод работает только в случае, если у клиента нет сделок (активных или закрытых).
Параметры запроса:
- pid – уникальный идентификатор контакта (обязательное поле)
Пример запроса:
POST http://{{baseurl}}/developer/v3/person/delete
Content-Type: application/json
apikey: {{token}}
login: vladislav@isaler.ru
{
"pid": 2804
}
Ответ:
{
"message": "Успешно: Контакт удален. Также удалено 4 записи истории активностей. Удалено 0 записей напоминаний. Удалено 0 файлов",
"result": "Клиент удален",
"data": 2804
}
Возможные ответы в случае ошибок:
403 – Клиент с указанным pid не найден в пределах аккаунта указанного пользователя
405 – Отсутствуют параметры - pid контакта
406 – Удаление контакта невозможно - есть сделки