Клиенты (client)

Метод “client”

Метод позволяет управлять записями Клиентов – добавлять, обновлять, удалять.

URL для вызова:

http(s)://{{baseurl}}/developer/v3/client/запрос?параметр=значение

Запрос “fields”

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

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

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

GET http://localhost/developer/v3/client/fields
Content-Type: application/json
apikey: t1xdeOwWSIqgDol70CkRdK3WD4N4cm
login: vladislav@isaler.ru

Ответ:

{
    "data":{
        "clid":"Уникальный идентификатор записи клиента в CRM",
        "uid":"Уникальный идентификатор записи клиента в вашей ИС",
        "type":"Тип записи - client,person,concurent,contractor,partner",
        "date_create":"Дата создания. Timestamp",
        "date_edit":"Дата последнего изменения. Timestamp",
        "title":"Название",
        "iduser":"Ответственный",
        "idcategory":"Отрасль",
        "head_clid":"Головн. орг-ия",
        "pid":"Осн. контакт",
        "address":"Адрес",
        "phone":"Телефон",
        "fax":"Факс",
        "site_url":"Сайт",
        "mail_url":"Почта",
        "territory":"Территория",
        "des":"Описание",
        "scheme":"Принятие решений",
        "tip_cmr":"Тип отношений",
        "recv":"Реквизиты",
        "clientpath":"Источник клиента"
    }
}

Запрос “list”

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

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

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

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

  • string user – ограничение по пользователю (указывается логин пользователя)
  • int iduser – ограничение по пользователю (указывается ID пользователя)
  • date dateStart – начальная дата создания записи (формат - YYYY-MM-DD)
  • date dateEnd – конечная дата создания записи (не обязательно, формат - YYYY-MM-DD)
    • только dateStart – вывод записей с датой создания больше указанной даты
    • только dateEnd – вывод записей с датой создания меньше указанной даты
  • string word – слово поиска по полям title, des, phone, mail_url, site_url
  • string fields – ограничение вывода информации по записям с разделением запятыми без пробелов.
    • Например, при указании fields=title,phone в ответе будут получены только названия клиента и его телефон
  • bool bankinfo – вывод банковских реквизитов клиента (true / false – по умолчанию)
  • bool uids – вывод связанных идентификаторов внешних систем (true / false – по умолчанию) [ см. Заявки ]

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

  • array filter - массив, содержащий дополнительные фильтры:
    • string|int relation - тип отношений в текстовом виде (например, "Постоянный клиент")
    • string|int idcategory - отрасль в текстовом или явном (в виде ID) виде
    • string|int territory - территория в текстовом или явном (в виде ID) виде
    • string|int clientpath - источник клиента в текстовом или явном (в виде ID) виде
    • bool trash - признак нахождения в корзине (true / false)
    • string type - тип клиента в текстовом виде (client, person, partner, contractor, concurent)
    • string input1...input10 - доп.поле

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

GET http://localhost/developer/v3/client/list
Content-Type: application/json
apikey: t1xdeOwWSIqgDol70CkRdK3WD4N4cm
login: vladislav@isaler.ru

{
    "order": "date_change",
    "dateChangeStart": "2022-01-01",
    "dateChangeEnd": "2023-01-31",
    "fields": "clid,title,type,iduser,date_chage,date_create",
    "uids": true,
    "filter": {
        "type": "client",
        "territory": "Москва",
        "idcategory": "Промышленность",
        "trash": false
    }
}

Ответ:

  • data - список записей
  • params - доп.данные
    • page - текущая страница
    • pageall - общее кол-во страниц
  • count - общее количество записей в выборке

Запрос “info”

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

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

  • int clid – уникальный идентификатор записи клиента ИЛИ
  • string uid – уникальный идентификатор записи клиента во внешней системе ИЛИ
  • string inn – поиск по ИНН
  • bool bankinfo – вывод банковских реквизитов клиента (true / false – по умолчанию)
  • bool uids – вывод связанных идентификаторов внешних систем (true / false – по умолчанию) [ см. Заявки ]
  • bool contacts – вывод всех связанных контактов (true / false – по умолчанию)

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

GET http://sm2021.crm/developer/v3/client/info
Content-Type: application/json
apikey: t1xdeOwWSIqgDol70CkRdK3WD4N4cm
login: vladislav@isaler.ru

{
    "clid": 1781,
    "contacts": true,
    "bankinfo": true,
    "uids": true
}

Пример ответа:

{
    "data":{
        "clid":"1781",
        "title":"Сейлзмен Рус",
        "phone":"7(342)254-55-77, 8(912)884-45-55",
        "mail_url":"info@salesman.su",
        "bankinfo":{
            "castUrName":"Сейлзмен Рус",
            "castInn":"5904338272",
            "castKpp":"590401001",
            "castBank":"СИБИРСКИЙ ФИЛИАЛ АО КБ \"МОДУЛЬБАНК\", НОВОСИБИРСК",
            "castBankKs":"30101810350040000864",
            "castBankRs":"40702810621810000563",
            "castBankBik":"045004864",
            "castOkpo":"",
            "castOgrn":"1165958091530",
            "castDirName":"Андреева Владислава Германовича",
            "castDirSignature":"Андреев В.Г.",
            "castDirStatus":"Генерального директора",
            "castDirStatusSig":"Генеральный директор",
            "castDirOsnovanie":"Устава",
            "castUrAddr":"614007, г. Пермь, ул. Максима Горького, д. 83, оф.402"
        }
    }
}

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

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

Значения реквизитов клиента:

  • castUrName - Юридическое название
  • castInn - ИНН
  • castKpp - КПП
  • castBank - Банк
  • castBankKs - Кор.счет
  • castBankRs - Расч.счет
  • castBankBik - БИК банка
  • castOkpo - ОКПО
  • castOgrn - ОГРН
  • castDirName - ФИО руководителя, в род.падеже (в лице кого) - Иванова Ивана Ивановича
  • castDirSignature - ФИО руководителя, Иванов И.И.
  • castDirStatus - Должность руководителя, в род.падеже, Директора
  • castDirStatusSig - Должность руководителя, например: Директор
  • castDirOsnovanie - Основание Руководителя, в род. падеже - Устава, Доверенности №ХХХ
  • castUrAddr - Юр.адрес

Запрос “add”

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

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

  • string title – название клиента (обязательное поле)
  • string uid – id записи во внешней системе (например в 1С)
  • string type – тип записи: client (юр.лицо) – по умолчанию, person (физ.лицо), concurent, contractor, parnter
  • string user – login пользователя в SalesMan CRM назначаемого Ответственным за клиента
  • string|array phone - номера телефонов (разделенные ",", если отправляется в виде строки)
  • date date_create - дата добавления (опционально, в формате YYYY-MM-DD H:i:s)
  • прочие поля fields – информация для добавления
  • array recv – массив реквизитов (см.выше), не обязательное поле

Примечание

  • параметр date_create может быть указан в запросе. Если он отсутствует, то будет принят timestamp
  • при пустом поле user Ответственным будет назначен текущий пользователь (из запроса)
  • следующие параметры передаются в явном, текстовом виде:

    • string idcategory – отрасль
    • string tip_cmr – тип отношений
    • string territory** – территория
    • string clientpath – источник клиента

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

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

POST http://sm2020.crm/developer/v3/client/add
Content-Type: application/json
apikey: t1xdeOwWSIqgDol70CkRdK3WD4N4cm
login: vladislav@isaler.ru

{
  "type": "client",
  "uid": "123400092",
  "title": "Пробный клиент 2024.1",
  "phone": ["+7(342)550-10-30", "+7(342)550-10-31"],
  "mail_url": "testplus20241@isaler.ru",
  "site_url": "testplus20241.ru",
  "territory": "Пермь",
  "clientpath": "100crm",
  "tip_cmr": "Потенциальный клиент",
  "idcategory": "Информационные технологии",
  "recv": {
    "castUrName": "ООО \"Пробный клиент 2024.1\"",
    "castInn": "590456789008",
    "castKpp": "590404218",
    "castBank": "Филиал ОАО «УРАЛСИБ» в г. Уфа",
    "castBankKs": "30101810600000000778",
    "castBankRs": "40702810301220001998",
    "castBankBik": "048073770",
    "castOgrn": "1145958040268"
  }
}

Ответ:

В поле “data” приходит id записи

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

В случае ошибки 406 в поле data придет clid найденной существующей записи клиента

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

405 – Отсутствуют параметры
406 – Найден существующий клиент

Запрос “add.list”

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

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

  • параметры аналогичны запросу "add"
  • user – login пользователя в SalesMan CRM назначаемого Ответственным за клиента (не обязательный параметр, в случае отсутствия Ответственным назначается пользователь из параметра "login")

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

POST http://sm2020.crm/developer/v3/client/add.list
Content-Type: application/json
apikey: t1xdeOwWSIqgDol70CkRdK3WD4N4cm
login: vladislav@isaler.ru

{
    "client": [
        {
            "uid": "1234",
            "user": "marand@omadaru.ru",
            "type": "client",
            "title": "Пробный клиент t1000",
            "phone": "+7(343)260-10-10",
            "mail_url": "info@test100001.ru",
            "site_url": "test10001.ru",
            "territory": "Пермь",
            "clientpath": "Сайт",
            "tip_cmr": "Потенциальный клиент",
            "idcategory": "Торговля",
            "date_create": "2015-05-30 23:05:30",
            "recv": {
                "castUrName": "ООО \"Пробный клиент 01\"",
                "castInn": "590456789006",
                "castKpp": "590404210",
                "castBank": "Филиал ОАО \u00abУРАЛСИБ\u00bb в г. Уфа",
                "castBankKs": "30101810600000000770",
                "castBankRs": "40702810301220001991",
                "castBankBik": "048073770",
                "castOgrn": "1145958040260"
            }
        },
        {
            "uid": "1235",
            "user": "marand@omadaru.ru",
            "type": "client",
            "title": "Пробный клиент t2000",
            "phone": "+7(343)260-10-11",
            "mail_url": "info@test200001.ru",
            "site_url": "test200002.ru",
            "territory": "Пермь",
            "clientpath": "Сайт",
            "tip_cmr": "Потенциальный клиент",
            "idcategory": "Промышленность",
            "date_create": "2015-05-30 23:05:30",
            "recv": {
                "castUrName": "ООО \"Пробный клиент 02\"",
                "castInn": "590456789006",
                "castKpp": "590404210",
                "castBank": "Филиал ОАО \u00abУРАЛСИБ\u00bb в г. Уфа",
                "castBankKs": "30101810600000000770",
                "castBankRs": "40702810301220001991",
                "castBankBik": "048073770",
                "castOgrn": "1145958040260"
            }
        }
    ]
}

Ответ:

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

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

405 – Отсутствуют параметры
406 – Найден существующий клиент

Запрос “update”

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

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

  • integer clid – уникальный идентификатор клиента (обязательное поле) ИЛИ
  • string uid – уникальный идентификатор клиента во внешней системе
  • прочие поля fields – информация для обновления
  • array recv – массив реквизитов (см.выше), не обязательное поле

Примечание

  • При передаче пустого поля - данные поля будут очищены в карточке Клиента
  • Реквизиты обрабатываются независимо от обновления основной информации в случае, если они указаны
  • Можно передавать только те реквизиты, которые надо обновить
  • Результат выносится в отдельный ответ "recv"

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

POST http://sm2020.crm/developer/v3/client/update
Content-Type: application/json
apikey: t1xdeOwWSIqgDol70CkRdK3WD4N4cm
login: vladislav@isaler.ru

{
    "clid": 6274,
    "uid": "123400192",
    "title": "Пробный клиент 2024.10",
    "phone": [
        "+7(342)550-10-30",
        "+7(342)550-10-31"
    ],
    "mail_url": "testplus20241@testplus20241.ru",
    "site_url": "testplus20241.ru",
    "tip_cmr": "2 - Потенциальный клиент",
    "recv": {
        "castKpp": "5904042180"
    }
}

Ответ:

В поле “data” приходит id записи

{
    "data": 6274,
    "hid": 25319,
    "result": "Успешно; Реквизиты обновлены"
}

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

{
    "data": 6274,
    "result": "Данные корректны, но идентичны имеющимся.; Реквизиты обновлены"
}

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

403 – Клиент с указанным clid не найден в пределах аккаунта указанного пользователя
405 – Отсутствуют параметры - clid клиента

Запрос “delete”

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

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

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

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

GET http://sm2020.crm/developer/v3/client/delete
Content-Type: application/json
apikey: t1xdeOwWSIqgDol70CkRdK3WD4N4cm
login: vladislav@isaler.ru

{
    "clid": 6274
}

Ответ:

В поле “data” приходит id записи

{
    "message": "Успешно: Клиент удален.<br>Также удалено 5 записи истории активностей. Снята привязка к Клиенту у 0 Контактов. Удалено 0 записей напоминаний. Удалено 0 файлов.",
    "result": "Клиент удален",
    "data": 6274
}

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

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