Прайс-лист (price)

Метод “price”

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

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

Запрос “fields”

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

В список включены уровни прайса, активированные в Панели управления

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

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

$urlparams = http_build_query($params);

Ответ:


{
    "prid":"id",
    "artikul":"Артикул",
    "title":"Наименование",
    "descr":"Описание",
    "edizm":"Ед.изм.",
    "datum":"Дата добавления",
    "category":"Категория",
    "nds":"НДС",
    "price_in":{
        "title":"Закуп",
        "values":"",
        "required":"required"
    },
    "price_1":{"title":"Розница","values":"35","required":"required"},
    "price_2":{"title":"Уровень 1","values":"25","required":""},
    "price_3":{"title":"Уровень 2","values":"20","required":"required"}
}

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

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

Запрос “info”

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

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

  • id – уникальный идентификатор записи
  • или artikul – артикул позиции

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


$params = [
    "login"    => "vladislav@isaler.ru",
    "apikey"   => "aMgiCQyj8bCToNc47BZZYrRICoWSIl",
    "action"  => 'info',
    "id"      => 2353,
    "artikul" => "7414"
];

$urlparams = http_build_query($params);

Ответ:


{
    "data":{
        "price":{
            "prid":"2353",
            "artikul":"7414",
            "title":"BizFAX E100 факс-сервер, 1 FXO, 1 FXS, 1 RJ45",
            "description":"Давно выяснено, что при оценке дизайна и композиции читаемый текст мешает сосредоточиться.",
            "datum":"2018-05-11 07:18:21",
            "price_in":"13900.00",
            "price_1":"18000.00",
            "price_2":"15809.00",
            "price_3":"0.00",
            "price_4":"0.00",
            "price_5":"0.00",
            "edizm":"шт.",
            "categoryID":"180",
            "categoryName":"Телефония",
            "nds":"0"
        },
        "sklad":{
            "content":"Yeastar BizFax E100 – это электронный факс-сервер, с помощью которого можно улучшить документооборот через факс. Во время отправки документа форматом «doc» или «pdf «производится их автоматическое преобразование в tiff, что способствует улучшению качества и ускорению доставки факсового сообщения. ",
            "status":"4",
            "id":"103",
            "countSklad":38,
            "countReserve":33,
            "countZayavka":0,
            "images":[
                {"name":"874.970.jpg","file":"http://sm2018.crm/files/modcatalog/1475045355.jpg"},
                {"name":"875.970.JPEG","file":"http://sm2018.crm/files/modcatalog/1475045356.JPEG"},
                {"name":"876.970.PNG","file":"http://sm2018.crm/files/modcatalog/1475045357.PNG"}
            ]
        }
    }
}

Примечание:

  1. Если активен модуль "Каталог-склад", то в ответе будет содержаться 2 блока:
    • price - прайсовый блок
    • sklad - блок из модуля "Каталог-склад"
  2. Если модуль "Каталог-склад" не активен, то ответ в блоке "data" вернется содержимое блока "price"

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

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

Запрос “list”

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

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

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

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

  • word – слово поиска по полям title, description, artikul
  • archive - фильтр по статусу: yes - только архивные позиции, no - только актуальные. Если не указано - выводятся все

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


  $params = [
    "login" => "vladislav@isaler.ru",
    "apikey" => "aMgiCQyj8bCToNc47BZZYrRICoWSIl",
    // указываем метод
    "action"    => 'list',
    // страница, с учетом вывода 200 записей на страницу
    "offset"    => 0,
    // поле для упорядочивания записей: title, artikul
    "order"     => 'title',
    // направление сортировки; new - по-умолчанию, old - сначала более старые
    "first"     => '',
    // фильтр по полям title, des, tip
    "word"      => '',
    //фильтр по статусу: yes - только архивные позиции, no - только актуальные
    "archive"    => 'no'
  ]

$urlparams = http_build_query($params);

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


{
    "data":[
        {
            "prid":"2354",
            "artikul":"7415",
            "title":"BizFAX E200 факс-сервер, 2 FXO, 1 FXS, 1 RJ45",
            "content":null,
            "edizm":"шт.",
            "category":154,
            "price_in":"20043.00",
            "price_1":"26724.00",
            "price_2":"22716.00",
            "price_3":"0.00",
            "price_4":"0.00",
            "price_5":"0.00",
            "archive":"no"
        },
        {
            "prid":"2353",
            "artikul":"7414",
            "title":"BizFAX E100 факс-сервер, 1 FXO, 1 FXS, 1 RJ45",
            "content":null,
            "edizm":"шт.",
            "category":154,
            "price_in":"13900.00",
            "price_1":"18000.00",
            "price_2":"15809.00",
            "price_3":"0.00",
            "price_4":"0.00",
            "price_5":"0.00",
            "archive":""
        }
    ],
    "count":"2"
}

Ответ:

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

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

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

Запрос “add”

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

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

  • title – название клиента (обязательное поле)
  • uid – id записи во внешней системе (например в 1С)
  • type – тип записи: client (юр.лицо) – по умолчанию, person (физ.лицо), concurent, contractor, parnter
  • user – login пользователя в SalesMan CRM назначаемого Ответственным за клиента
  • прочие поля fields – информация для добавления
  • recv – массив реквизитов (см.выше), не обязательное поле

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


$params = [
    "login"       => "vladislav@isaler.ru",
    "apikey"      => "aMgiCQyj8bCToNc47BZZYrRICoWSIl",
    "action"      => 'add',
    "artikul"     => '1258900',
    "title"       => 'Дополнительная лицензия MyPBX Client MyPBX U500/U510/U520',
    "description" => 'MyPBX Client – это софтфон, предназначенный для целевого применения со следующими IР-АТС компании Yeаstar серии "U": Yeаstar МyРВХ U500, U510 и U520',
    "price_in"    => '1320,50',
    "price_1"     => '1456,20',
    "price_2"     => '1390,40',
    "price_3"     => '',
    "price_4"     => '',
    "price_5"     => '',
    "edizm"       => 'шт.',
    "nds"         => '18',
    "archive"     => 'no',
    "category"    => 0
]

$urlparams = http_build_query($params);

Ответ:

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


{"result":"Success","text":"Позиция добавлена","data":4176}

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

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

Запрос “update”

Запрос позволяет обновить данные позиции.

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

  • id – уникальный идентификатор
  • ИЛИ artikul – артикул позиции

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


$params = [
    "login"       => LOGIN,
    "apikey"      => KEY,
    // указываем метод
    "action"      => 'update',
    "id"          => 4176,
    "artikul"     => '1258900',
    "newartikul"  => '1258950',
    "title"       => 'Дополнительная лицензия MyPBX Client MyPBX U500/U510/U520',
    "description" => 'MyPBX Client – это софтфон, предназначенный для целевого применения со следующими IР-АТС компании Yeаstar серии "U": Yeаstar МyРВХ U500, U510 и U520',
    "price_in"    => '1320,50',
    "price_1"     => '1456,20',
    "price_2"     => '1390,40',
    "price_3"     => '',
    "price_4"     => '',
    "price_5"     => '',
    "edizm"       => 'шт.',
    "nds"         => '18',
    "archive"     => 'no',
    "category"    => 0
];

$urlparams = http_build_query($params);

Ответ:

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

{"result":"Success","text":"Позиция обновлена","data":"4176"}

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

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

Запрос “delete”

Запрос позволяет удалить позицию.

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

  • id – уникальный идентификатор записи
  • ИЛИ artikul – артикул позиции

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


$params = [
    "login"       => LOGIN,
    "apikey"      => KEY,
    // указываем метод
    "action"  => 'delete',
    "id"      => 4176,
    "artikul" => '1258950'
];

$urlparams = http_build_query($params);

Ответ:

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

{"result":"Success","text":"Готово","data":"4176"}

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

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

Запрос “category.list”

Запрос позволяет получить список категорий

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


$params = [
    "login"       => LOGIN,
    "apikey"      => KEY,
    // указываем метод
    "action"  => 'category.list'
];

$urlparams = http_build_query($params);

Ответ:


[
    {"id":"245","title":"! Акция","level":0,"sub":"0"},
    {"id":"247","title":"! Активация","level":1,"sub":"245"},
    {"id":"246","title":"! Акция (старое)","level":1,"sub":"245"},
    {"id":"1","title":"! Оборудование","level":0,"sub":"0"},
    {"id":"156","title":"Тестовая категория 1","level":1,"sub":"1"},
    {"id":"154","title":"Тестовая","level":2,"sub":"156"},
    {"id":"157","title":"Тестовая категория 2","level":2,"sub":"156"},
    {"id":"4","title":"! Программное обеспечение","level":0,"sub":"0"},
    {"id":"158","title":"CRM 08.2014","level":1,"sub":"4"},
    {"id":"153","title":"SalesMan CRM v.7.4","level":1,"sub":"4"},
    {"id":"3","title":"! Услуги","level":0,"sub":"0"},
    {"id":"159","title":"Услуги 08.2014","level":1,"sub":"3"},
    {"id":"248","title":"Грузоподъемное оборудование","level":0,"sub":"0"},
    {"id":"179","title":"ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ","level":0,"sub":"0"},
    {"id":"249","title":"Новая","level":1,"sub":"179"},
    {"id":"180","title":"Телефония","level":0,"sub":"0"},
    {"id":"177","title":"GSM-VoIP шлюзы","level":1,"sub":"180"},
    {"id":"176","title":"IP-АТС и Интерфейсные платы","level":1,"sub":"180"},
    {"id":"173","title":"SIP ATA","level":1,"sub":"180"},
    {"id":"172","title":"SIP-телефоны","level":1,"sub":"180"},
    {"id":"171","title":"USB адаптеры и шлюзы","level":1,"sub":"180"},
    {"id":"170","title":"USB-телефоны","level":1,"sub":"180"},
    {"id":"174","title":"WEB-камеры","level":1,"sub":"180"},
    {"id":"175","title":"Аксессуары","level":1,"sub":"180"},
    {"id":"178","title":"Шлюзы","level":1,"sub":"180"},
    {"id":"250","title":"Тест 100","level":0,"sub":"0"},
    {"id":"251","title":"Тест 100-1","level":1,"sub":"250"},
    {"id":"253","title":"Тест 100-1-1","level":2,"sub":"251"},
    {"id":"254","title":"Тест 100-1-2","level":2,"sub":"251"},
    {"id":"255","title":"Тест 100-1-3","level":2,"sub":"251"},
    {"id":"260","title":"Тест 100-2","level":1,"sub":"250"},
    {"id":"256","title":"Тест 100-2-1","level":2,"sub":"260"},
    {"id":"257","title":"Тест 100-2-2","level":2,"sub":"260"}
]

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

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

Запрос “category.add”

Запрос позволяет добавить новую категорию

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

  • title – название категории
  • sub – название головной категории

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


$params = [
    "login"   => "vladislav@isaler.ru",
    "apikey"  => "aMgiCQyj8bCToNc47BZZYrRICoWSIl",
    "action"  => 'category.add',
    "title"   => "TEST 6000",
    "sub"     => 4
]

$urlparams = http_build_query($params);

Ответ:

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


{"result":"Success","text":"Добавлено","data":263}

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

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

Запрос “category.update”

Запрос позволяет обновить данные категории.

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

  • id – уникальный идентификатор
  • title – название категории
  • sub – название головной категории

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


$params = [
    "login"       => LOGIN,
    "apikey"      => KEY,
    // указываем метод
    "action"  => 'category.update',
    "id"      => '263',
    "title"   => "TEST 6100",
    "sub"     => 156
];

$urlparams = http_build_query($params);

Ответ:

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


{"result":"Success","text":"Обновлено","data":263}

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

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

Запрос “category.delete”

Запрос позволяет удалить позицию.

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

  • id – уникальный идентификатор записи

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


$params = [
    "login"   => LOGIN,
    "apikey"  => KEY,
    // указываем метод
    "action"  => 'delete',
    "id"      => 263
];

$urlparams = http_build_query($params);

Ответ:

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


{
    "result":"Success",
    "text":"Запись удалена. Перемещено - 1 позиций",
    "data":249
}

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

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