Данная документация позволит интегрировать платформу с другими системами. Например выгружать заказы и клиентов в 1C или другие учетные программы.
Обмен данными осуществляется по протоколу HTTP
Для аутентификации используется HTTP Basic Auth
Данные для записи передаются через POST
Сервер возвращает ответы в JSON
Примеры запросов выполнены с использованием curl
Полномочия сотрудников при доступе учитываются
логин == логин сотрудника магазина в панели управления
пароль == пароль сотрудника магазина
ВАЖНО!!! Полномочия сотрудников при доступе учитываются. Если у вашего сотрудника урезаны права доступа к функционалу, следовательно некоторые методы описанные в данной документации могут не работать.
Сотрудники Получить список сотрудников (GET /panel/manager) Выходные параметры managers Пример использования Способы доставки Получить способы доставки магазина (GET /panel/order/shipping_type) Выходные параметры shipping_types Пример использования Пример вывода Добавить способ доставки (POST /panel/order/shipping_type) Входные параметры Пример использования Пример вывода Изменить способ доставки по id (POST /panel/order/shipping_type/$ID) Входные параметры Пример использования Пример вывода Удалить способ доставки (POST /panel/order/remove_shipping_type) Входные параметры Пример использования Пример вывода Пример вывода при ошибке Статусы заказов Получить статусы заказов (GET /panel/order/status) Выходные параметры statuses Пример использования Пример вывода Добавить статус заказа (POST /panel/order/status) Входные параметры Пример использования Пример вывода Изменить статус заказа по id (POST /panel/order/status/$ID) Входные параметры Пример использования Пример вывода Удалить статус заказа (POST /panel/order/remove_status) Входные параметры Пример использования Пример вывода Пример вывода при ошибке Группы клиентов Получить скидочные группы (GET /panel/client/group) Выходные параметры groups Пример использования Пример вывода Добавить скидочную группу (POST /panel/client/group_form) Входные параметры Пример использования Пример вывода Изменить скидочную группу по id (POST /panel/client/group_form/$ID) Входные параметры Пример использования Пример вывода Удалить скидочную группу (POST /panel/client/remove_group) Входные параметры Пример использования Работа с клиентами Получить список клиентов (GET /panel/client) Фильтры Выходные параметры clients filters pages Пример использования Пример вывода Получить расширенные данные клиента (GET /panel/client/form/$ID) Выходные параметры client Пример использования Пример вывода Создать клиента (POST /panel/client/form) Входные параметры Пример использования Пример вывода Пример вывода при ошибке Изменить клиента (POST /panel/client/form/$ID) Входные параметры Пример использования Пример вывода Пример вывода при ошибке Работа с балансами Получить операции с балансом клиента (GET /panel/client/balance/$ID) Выходные параметры groups Пример использования Пример вывода Добавить операцию (GET /panel/client/add_transaction/$ID) Входные параметры Пример использования Работа с заказами Получить список заказов (GET /panel/order) Фильтры Выходные параметры orders filters pages Пример использования Пример вывода Изменить статус позиции (POST /panel/order/set_status/$ID) Входные параметры Пример использования Снять позицию (GET /panel/order/deny/$ID) Пример использования Оплатить позицию. У клиента должно быть достаточно средств на лицевом счету. При указании $ID оплаченной позиции снимает оплату с позиции. При снятии оплаты средства вернутся на лицевой счёт (GET /panel/order/pay/$ID) Пример использования Добавить позицию в архив (GET /panel/order/archive/$ID) Пример использования Снять позицию (GET /panel/order/unarchive/$ID) Пример использования Создать документы на выбранные позиции (GET /panel/order/documentds/$IDs) Входные параметры Пример использования
Сотрудники
Метод /panel/manager , тип GET
Получить список сотрудников
Исходящие данные:
Содержит коллекцию managers
Поле Тип Описание id int Идентификатор phone text Телефон (также используется как логин) name text Имя сотрудника seat text Должность email text Email point_id int Идентификатор офиса point_name text Полное название офиса point_address text Адрес офиса manager_group_id int Идентификатор группы сотрудников manager_group_name text Название группы сотрудников client_count int Кол-во назначенных клиентов status bool Сотрудник активен? client_use bool Назначать сотруднику клиентов contact_show bool Показывать сотрудника в разделе «контакты» клиентской части backup json Служебное поле, сюда сбрасываются менеджеры при деактивации менеджера и перераспределении клиентов
Пример использования:
curl http://логин:пароль@адрес_магазина/panel/manager
Способы доставки
Метод /panel/order/shipping_type , тип GET
Получить способы доставки магазина
Исходящие данные:
Содержит коллекцию shipping_types
Поле Тип Описание id int Идентификатор способа name text Имя min_price int Минимальная цена, с которой этот способ будет доступен для выбора
Пример использования:
curl http://логин:пароль@адрес_магазина/panel/order/shipping_type
Пример ответа:
{
"shipping_types": [
{
"id": "1",
"name": "\u0414\u043e\u0441\u0442\u0430\u0432\u043a\u0430 \u043f\u043e \u0433\u043e\u0440\u043e\u0434\u0443",
"min_price": "1"
},
{
"id": "2",
"name": "\u0414\u043e\u0441\u0442\u0430\u0432\u043a\u0430 \u0434\u043e \u0422\u041a ",
"min_price": "2"
}
]
}
Метод /panel/order/shipping_type , тип POST
Добавить способ доставки
Поле Тип Описание name text Название min_price int Минимальная цена
Пример использования:
curl http://логин:пароль@адрес_магазина/panel/order/shipping_type --data "name=Новый способ&min_price=1000"
Пример ответа:
{
"status": "success"
}
Метод /panel/order/shipping_type/$ID , тип POST
Изменить способ доставки по id
Поле Тип Описание name text Название min_price int Минимальная цена
Пример использования:
curl http://логин:пароль@адрес_магазина/panel/order/shipping_type/1 --data "name=Измененное название способа&min_price=1000"
Пример ответа:
{
"status": "success"
}
Метод /panel/order/remove_shipping_type , тип POST
Удалить способ доставки
Поле Тип Описание id int Идентификатор способа
Пример использования:
curl http://логин:пароль@адрес_магазина/panel/order/remove_shipping_type --data "id=3"
Пример ответа:
{
"status": "success"
}
Пример неудачного ответа Способа не существует:
{
"status": "error"
}
Статусы заказов
Метод /panel/order/status , тип GET
Получить статусы заказов
Исходящие данные:
Содержит коллекцию statuses
Поле Тип Описание id int Идентификатор статуса name text Название статуса color text Цвет статуса sms bool SMS уведомление при установке статуса email bool email уведомление при установке статуса
Пример использования:
curl http://логин:пароль@адрес_магазина/panel/order/status
Пример ответа:
{
"statuses": [
{
"id": "2",
"name": "\u0412 \u0440\u0430\u0431\u043e\u0442\u0435",
"color": "CBFFC9",
"sms": "0",
"email": "0"
},
{
"id": "4",
"name": "\u0412\u044b\u0434\u0430\u043d\u043e (\u041e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e)",
"color": "70FF83",
"sms": "0",
"email": "1"
},
{
"id": "7",
"name": "\u0417\u0430\u043a\u0430\u0437\u0430\u043d\u043e",
"color": "FFFFFF",
"sms": "0",
"email": "0"
},
{
"id": "3",
"name": "\u041e\u043f\u0440\u0438\u0445\u043e\u0434\u043e\u0432\u0430\u043d\u043e \u043e\u0444\u0438\u0441\u043e\u043c",
"color": "EDFF78",
"sms": "0",
"email": "1"
},
{
"id": "6",
"name": "\u041f\u0440\u0438\u043d\u044f\u0442\u043e",
"color": "FAFFB3",
"sms": "0",
"email": "1"
},
{
"id": "1",
"name": "\u041f\u0440\u0438\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043e",
"color": "BAF8FF",
"sms": "0",
"email": "0"
},
{
"id": "5",
"name": "\u0421\u043d\u044f\u0442\u043e",
"color": "FFBADA",
"sms": "0",
"email": "1"
}
]
}
Метод /panel/order/status , тип POST
Добавить статус заказа
Поле Тип Описание name text Название color text Цвет sms bool Отсылать SMS уведомление email bool Отсылать Email уведомление
Пример использования:
curl http://логин:пароль@адрес_магазина/panel/order/status --data "name=Новый статус&color=ABABAB&sms=1&email=0"
Пример ответа:
{
"status": "success"
}
Метод /panel/order/status/$ID , тип POST
Изменить статус заказа по id
Поле Тип Описание name text Название color text Цвет sms bool Отсылать SMS уведомление email bool Отсылать Email уведомление
Пример использования:
curl http://логин:пароль@адрес_магазина/panel/order/status/1 --data "name=Измененное название способа&color=ABABAB&sms=1&email=0"
Пример ответа:
{
"status": "success"
}
Метод /panel/order/remove_status , тип POST
Удалить статус заказа
Поле Тип Описание id int Идентификатор статуса
Пример использования:
curl http://логин:пароль@адрес_магазина/panel/order/remove_status --data "id=3"
Пример ответа:
{
"status": "success"
}
Пример неудачного ответа Статуса не существует:
{
"status": "error"
}
Пример неудачного ответа Статус используется в настройках магазина:
{
"status": "error",
"text": "\u0421\u0442\u0430\u0442\u0443\u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445 \u043c\u0430\u0433\u0430\u0437\u0438\u043d\u0430."
}
Группы клиентов
Метод /panel/client/group , тип GET
Получить скидочные группы
Исходящие данные:
Содержит коллекцию groups
Поле Тип Описание id int Идентификатор группы name text Наименование группы discount int Скидка, % comment text Комментарий
Пример использования:
curl http://логин:пароль@адрес_магазина/panel/client/group
Пример ответа:
{
"groups": [
{
"group_id": "1",
"name": "\u0420\u043e\u0437\u043d\u0438\u0446\u0430 - 0%",
"discount": "0",
"comment": ""
},
{
"group_id": "7",
"name": "\u041c\u0435\u043b\u043a\u0438\u0439 \u043e\u043f\u0442 - 5% - 5%",
"discount": "5",
"comment": ""
}
]
}
Добавить скидочную группу
Поле Тип Описание name text Название discount int Скидка, % comment text Комментарий
curl http://логин:пароль@адрес_магазина/panel/client/group_form --data "name=Web&discount=1&comment=Интернет-клиенты"
{
"status": "success",
"text": "\u0413\u0440\u0443\u043f\u043f\u0430 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430."
}
Изменить скидочную группу по id
Поле Тип Описание name text Название discount int Скидка, % comment text Комментарий
curl http://логин:пароль@адрес_магазина/panel/order/group_form/8 --data "name=Web&discount=2&comment=Интернет-клиенты"
{
"status": "success",
"text": "\u0413\u0440\u0443\u043f\u043f\u0430 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0430."
}
Метод /panel/client/remove_group , тип POST
Удалить скидочную группу
Поле Тип Описание id int Идентификатор группы
Пример использования:
curl http://логин:пароль@адрес_магазина/panel/client/remove_group --data "id=3"
Пример ответа:
{
"status": "success",
"text": "\u0413\u0440\u0443\u043f\u043f\u0430 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0443\u0434\u0430\u043b\u0435\u043d\u0430."
}
Пример неудачного ответа:
{
"status": "error",
"text": "\u0413\u0440\u0443\u043f\u043f\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445 \u043c\u0430\u0433\u0430\u0437\u0438\u043d\u0430, \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e."
}
Работа с клиентами
Метод /panel/client , тип GET
Получить список клиентов
Метод поддерживает следующие фильтры:
Фильтры указываются в виде /panel/client/filter/ключ1/значение1/ключ2/значение2 Ключи и значения должны быть URL-кодированные
Поле Тип Описание Пример client_id int Идентификатор клиента (можно указать несколько идентификаторов через запятую) client_id/1 или client_id/1,2,3 client_name text Часть имени клиента или названия юр. лица phone text Номер телефона клиента 1234567890 или +7(123)456-78-90 email text Email клиента is_wholesaler bool Признак юр. лица, 1 — искать юр.лица, 0 — искать физ.лица client_group int Идентификатор скидочной группы клиента date_from date Регистрация совершена с 2016-12-31 date_to date Регистрация совершена до 2017-01-04 manager_id int Идентификатор менеджера page int Номер страницы per_page int Сколько клиентов показывать на одной странице (<=150)
Исходящие данные:
Содержит коллекцию clients
Поле Тип Описание id int Идентификатор phone text Телефон (также используется как логин) name text Имя клиента address text Адрес доставки email text Email date_added datetime Дата регистрации is_wholesaler bool Юр. лицо? wholesaler_info text Имя организации если клиент зарегистрирован как юр. лицо date_modified datetime Дата изменения group_id int Идентификатор скидочной группы group text Название скидочной группы manager_id int Идентификатор привязанного менеджера (0 если не привязан) manager text Имя привязанного менеджера (null если не привязан) point_id int Идентификатор офиса point text Полное название офиса status bool Клиент активен? comment text Комментарий менеджеров для менеджеров shipping_id int Идентификатор способа доставки по-умолчанию balance float Лицевой счёт клиента debt float Задолженность клиента blocked_debt float Задолженность клиента по приостановленным заказам limit int Лимит задолженности (кредит)
Содержит filters
Применённые фильтры
Содержит pages
Всего страниц
Пример использования:
curl http://логин:пароль@адрес_магазина/panel/client
Пример ответа:
{
"clients": [
{
"id": "2",
"phone": "2222222222",
"name": "\u0421\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a Saplab 2",
"address": "\u0443\u043b. \u041b\u0435\u043d\u0438\u043d\u0430, 48",
"email": "wholesaler@example.com",
"date_added": "2017-01-14 22:50:08.610461",
"is_wholesaler": "1",
"wholesaler_info": "\u041e\u041e\u041e \"\u0420\u043e\u0433\u0430 \u0438 \u041a\u043e\u043f\u044b\u0442\u0430\"",
"date_modified": "2017-01-15 17:31:21.560473",
"group": "\u041c\u0435\u043b\u043a\u0438\u0439 \u043e\u043f\u0442",
"group_id": "2",
"manager": null,
"manager_id": "0",
"point": "\u041c\u043e\u0441\u043a\u0432\u0430: \u0443\u043b. \u041a\u0440\u0430\u0441\u043d\u043e\u0430\u0440\u043c\u0435\u0439\u0446\u0435\u0432, 49",
"point_id": "1",
"status": "1",
"comment": "\u0425\u043e\u0440\u043e\u0448\u0438\u0439 \u043a\u043b\u0438\u0435\u043d\u0442",
"shipping_id": "0",
"balance": "0",
"debt": "0",
"blocked_debt": "0",
"limit": "10000"
},
{
"id": "1",
"phone": "1111111111",
"name": "\u041f\u0443\u043f\u043a\u0438\u043d \u0412\u0430\u0441\u0438\u043b\u0438\u0439 \u041f\u0435\u0442\u0440\u043e\u0432\u0438\u0447",
"address": " \u0433. \u0423\u0444\u0430, \u0411\u0430\u043a\u0430\u043b\u0438\u043d\u0441\u043a\u0430\u044f \u0443\u043b., 23",
"email": "regular@example.com",
"date_added": "2017-01-05 13:03:32.703139",
"is_wholesaler": "0",
"wholesaler_info": "",
"date_modified": "2017-01-15 17:28:24.919877",
"group": "\u0420\u043e\u0437\u043d\u0438\u0446\u0430",
"group_id": "1",
"manager": null,
"manager_id": "0",
"point": "\u041c\u043e\u0441\u043a\u0432\u0430: \u0443\u043b. \u041a\u0440\u0430\u0441\u043d\u043e\u0430\u0440\u043c\u0435\u0439\u0446\u0435\u0432, 49",
"point_id": "1",
"status": "1",
"comment": "\u041f\u043b\u043e\u0445\u043e\u0439 \u043a\u043b\u0438\u0435\u043d\u0442",
"shipping_id": "1",
"balance": "14",
"debt": "9211",
"blocked_debt": "0",
"limit": "0"
}
],
"filters": {
"per_page": 20
},
"pages": 1
}
Получить расширенные данные клиента
Поле Тип Описание id int Идентификатор phone text Телефон (также используется как логин) name text Имя клиента address text Адрес доставки email text Email status bool Клиент активен? group_id int Идентификатор скидочной группы group text Название скидочной группы discount int Скидка клиента (из скидочной группы) shipping_id int Идентификатор способа доставки по-умолчанию manager_id int Идентификатор привязанного менеджера (0 если не привязан) is_wholesaler bool Юр. лицо? wholesaler_info text Имя организации если клиент зарегистрирован как юр. лицо wholesaler_data array Детальная информация о юридическом лице (отсутствувет если is_wholesaler=0)ПолеТипОписаниеbiktextБИК банкаinntextИННkpptextКППbanktextНазвание БанкаorgntextОРГНtypetextТип юридического лица (ООО, ПАО, ЗАО, ТОО, АО, ИП, ПБОЮЛ etc)accounttextР/CчетaddresstextЮридический адресorg_nametextНаименование юридического лицаbank_accounttextK/Cчет comment text Комментарий менеджеров для менеджеров point_id int Идентификатор офиса balance float Лицевой счёт клиента debt float Задолженность клиента blocked_debt float Задолженность клиента по приостановленным заказам limit int Лимит задолженности (кредит) date_added datetime Дата регистрации date_modified datetime Дата изменения
curl http://логин:пароль@адрес_магазина/panel/client/form/2
{
"client": {
"id": "2",
"phone": "2222222222",
"name": "\u0421\u0435\u0440\u0433\u0435\u0439 \u0421\u0435\u0440\u0433\u0435\u0435\u0432\u0438\u0447",
"address": "\u0443\u043b. \u041b\u0435\u043d\u0438\u043d\u0430, 48",
"email": "wholesaler@example.com",
"status": "1",
"group_id": "2",
"group": "\u041c\u0435\u043b\u043a\u0438\u0439 \u043e\u043f\u0442",
"discount": "5",
"shipping_id": "0",
"manager_id": "0",
"is_wholesaler": "1",
"wholesaler_info": "\u041e\u041e\u041e \"\u0420\u043e\u0433\u0430 \u0438 \u041a\u043e\u043f\u044b\u0442\u0430\"",
"comment": "\u0425\u043e\u0440\u043e\u0448\u0438\u0439 \u043a\u043b\u0438\u0435\u043d\u0442",
"wholesaler_data": {
"bik": "00000000000",
"inn": "12345678901234",
"kpp": "987654321",
"bank": "\u0421\u0431\u0435\u0440\u0431\u0430\u043d\u043a",
"orgn": "456789052",
"type": "\u041e\u041e\u041e",
"account": "00000000000",
"address": "\u0443\u043b. \u041b\u0435\u043d\u0438\u043d\u0430, 48",
"org_name": "\u0420\u043e\u0433\u0430 \u0438 \u041a\u043e\u043f\u044b\u0442\u0430",
"bank_account": "00000000000"
},
"point_id": "1",
"balance": "0",
"debt": "0",
"blocked_debt": "0",
"limit": "10000",
"date_added": "2017-01-14 22:50:08.610461",
"date_modified": "2017-01-15 17:31:21.560473"
}
}
Создать клиента
Поле Тип Описание name text Имя клиента email text Email phone text Номер телефона password text Пароль address text Адрес доставки point_id int Идентификатор офиса manager_id int Идентификатор менеджера group_id int Идентификатор скидочной группы shipping_id int Способ доставки по-умолчанию limit int Лимит задолженности (кредит) comment text Комментарий status bool Клиент активен? is_wholesaler bool Юр. лицо? wholesalers array Данные юр.лицаПолеТипОписаниеbiktextБИК банкаinntextИННkpptextКППbanktextНазвание БанкаorgntextОРГНtypetextТип юридического лица (ООО, ПАО, ЗАО, ТОО, АО, ИП, ПБОЮЛ etc)accounttextР/CчетaddresstextЮридический адресorg_nametextНаименование юридического лицаbank_accounttextK/Cчет
#Розничный клиент/физ. лицо:
curl http://логин:пароль@адрес_магазина/panel/client/form --data "name=Пупкин Василий Петрович&email=regular@example.com&phone=1111111111&password=&address= г. Уфа, Бакалинская ул., 23&point_id=1&manager_id=0&group_id=1&shipping_id=1&limit=0&comment=Плохой клиент&status=on"
#Оптовый клиент/юр.лицо:
curl http://логин:пароль@адрес_магазина/panel/client/form --data "name=Сергей Сергеевич&email=wholesaler@example.com&phone=2222222222&password=&address=ул. Ленина, 48&point_id=1&manager_id=0&group_id=2&shipping_id=0&limit=10000&comment=Хороший клиент&status=on&is_wholesaler=on&wholesalers[type]=ООО&wholesalers[org_name]=Рога и Копыта&wholesalers[inn]=12345678901234&wholesalers[kpp]=987654321&wholesalers[orgn]=456789052&wholesalers[address]=ул. Ленина, 48&wholesalers[bank]=Сбербанк&wholesalers[bik]=00000000000&wholesalers[account]=00000000000&wholesalers[bank_account]=00000000000"
{
"status": "success",
"text": "\u041a\u043b\u0438\u0435\u043d\u0442 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d."
}
{
"email": "\u041f\u043e\u043b\u0435 Email \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u043c.",
"phone": "\u041f\u043e\u043b\u0435 \u0422\u0435\u043b\u0435\u0444\u043e\u043d \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u043c."
}
Изменить клиента
Поле Тип Описание name text Имя клиента email text Email phone text Номер телефона password text Пароль address text Адрес доставки point_id int Идентификатор офиса manager_id int Идентификатор менеджера group_id int Идентификатор скидочной группы shipping_id int Способ доставки по-умолчанию limit int Лимит задолженности (кредит) comment text Комментарий status bool Клиент активен? is_wholesaler bool Юр. лицо? wholesalers array Данные юр.лицаПолеТипОписаниеbiktextБИК банкаinntextИННkpptextКППbanktextНазвание БанкаorgntextОРГНtypetextТип юридического лица (ООО, ПАО, ЗАО, ТОО, АО, ИП, ПБОЮЛ etc)accounttextР/CчетaddresstextЮридический адресorg_nametextНаименование юридического лицаbank_accounttextK/Cчет
#Розничный клиент/физ. лицо:
curl http://логин:пароль@адрес_магазина/panel/client/form/1 --data "name=Пупкин Василий Петрович&email=regular@example.com&phone=71111111111&password=&address= г. Уфа, Бакалинская ул., 23&point_id=1&manager_id=0&group_id=1&shipping_id=1&limit=0&comment=Плохой клиент&status=on"
#Оптовый клиент/юр.лицо:
curl http://логин:пароль@адрес_магазина/panel/client/form/2 --data "name=Сергей Сергеевич&email=wholesaler@example.com&phone=72222222222&password=&address=ул. Ленина, 48&point_id=1&manager_id=0&group_id=2&shipping_id=0&limit=10000&comment=Хороший клиент&status=on&is_wholesaler=on&wholesalers[type]=ООО&wholesalers[org_name]=Рога и Копыта&wholesalers[inn]=12345678901234&wholesalers[kpp]=987654321&wholesalers[orgn]=456789052&wholesalers[address]=ул. Ленина, 48&wholesalers[bank]=Сбербанк&wholesalers[bik]=00000000000&wholesalers[account]=00000000000&wholesalers[bank_account]=00000000000"
{
"status": "success",
"text": "\u0414\u0430\u043d\u043d\u044b\u0435 \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u044b."
}
{
"email": "\u041f\u043e\u043b\u0435 Email \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u043c."
}
Работа с балансами
Метод /panel/client/balance/$ID , тип GET
Получить операции с балансом клиента
Исходящие данные:
Содержит коллекцию groups
Поле Тип Описание date datetime Дата совершения операции amount float Сумма операции comment text Описание операции
Пример использования:
curl http://логин:пароль@адрес_магазина/panel/client/balance/1
Пример ответа:
{
"pages": 26,
"transactions": [
{
"date": "2017-04-11 21:31:24.48985",
"amount": "-109",
"comment": "\u041e\u043f\u043b\u0430\u0442\u0430 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 WEEN - 122-2412 (1 \u0448\u0442.)"
},
{
"date": "2017-01-31 01:39:50.091795",
"amount": "-270",
"comment": "\u041e\u043f\u043b\u0430\u0442\u0430 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 LYNX1 - PR48620 (1 \u0448\u0442.)"
},
{
"date": "2017-01-31 01:39:46.254441",
"amount": "270",
"comment": "\u041e\u0442\u043c\u0435\u043d\u0430 \u043e\u043f\u043b\u0430\u0442\u044b \u043f\u043e\u0437\u0438\u0446\u0438\u0438 LYNX1 - PR48620 (1 \u0448\u0442.)"
},
{
"date": "2017-01-31 00:34:19.715461",
"amount": "-266",
"comment": "\u041e\u043f\u043b\u0430\u0442\u0430 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 LYNX - PR48620 (1 \u0448\u0442.)"
},
{
"date": "2017-01-31 00:34:19.715461",
"amount": "-270",
"comment": "\u041e\u043f\u043b\u0430\u0442\u0430 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 LYNX - PR48620 (1 \u0448\u0442.)"
},
{
"date": "2017-01-31 00:33:57.630052",
"amount": "-270",
"comment": "\u041e\u043f\u043b\u0430\u0442\u0430 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 LYNX1 - PR48620 (1 \u0448\u0442.)"
},
{
"date": "2016-12-19 17:57:43.788968",
"amount": "-2989",
"comment": "\u041e\u043f\u043b\u0430\u0442\u0430 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 MONROE - G16287 (1 \u0448\u0442.)"
},
{
"date": "2016-12-19 17:57:43.788968",
"amount": "-2989",
"comment": "\u041e\u043f\u043b\u0430\u0442\u0430 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 MONROE - G16768 (1 \u0448\u0442.)"
},
{
"date": "2016-12-19 17:57:43.788968",
"amount": "-3104",
"comment": "\u041e\u043f\u043b\u0430\u0442\u0430 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 MONROE - G16768 (1 \u0448\u0442.)"
},
{
"date": "2016-12-19 17:57:43.788968",
"amount": "-1707",
"comment": "\u041e\u043f\u043b\u0430\u0442\u0430 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 PATRON - PSA333222 (1 \u0448\u0442.)"
}
],
"page": 1
}
Метод /panel/client/add_transaction/$ID , тип GET
Добавить операцию
Поле Тип Описание amount float Сумма (отрицательная для списания) description text Описание операции
Пример использования:
curl http://логин:пароль@адрес_магазина/panel/client/add_transaction/1 --data "amount=-100&description=API списание"
Работа с заказами
Метод /panel/order , тип GET
Получить список заказов
Метод поддерживает следующие фильтры:
Фильтры указываются в виде /panel/order/filter/ключ1/значение1/ключ2/значение2 Ключи и значения должны быть URL-кодированные
Поле Тип Описание Пример order_ids int Идентификатор позиции (можно указать несколько идентификаторов через запятую) order_ids/1 или order_ids/1,2,3 invoice text Метка заказа article text Артикул позиции name text Часть наименования позиции manager_id int Идентификатор менеджера shipping_id int Идентификатор способа доставки point_id int Идентификатор офиса distributor_id int Идентификатор поставщика order_status int Идентификатор статуса is_payed bool Позиция оплачена? unignore_archived bool Включить в выдачу позиции из архива brand text Бренд позиции client_name text Часть имени клиента или названия юр. лица client_group int Идентификатор скидочной группы клиента date_from date Заказ совершен с 2016-12-31 date_to date Заказ совершен до 2017-01-04 page int Номер страницы per_page int Сколько позиций показывать на одной странице (<=150)
Исходящие данные:
Содержит коллекцию orders
Поле Тип Описание id int Идентификатор invoice text Номер группы (заказа) client_id int Идентификатор клиента client_name text Имя клиента is_wholesaler bool Клиент юр. лицо? wholesaler_info text Имя организации если клиент зарегистрирован как юр. лицо distributor_id int Идентификатор поставщика товара distributor_name text Название поставщика товара brand text Бренд article text Артикул name text Наименование delivarytime_min int Срок поставки от delivarytime_max int Срок поставки до initial_price float Цена закупа price float Цена quantity int Количество товара в позиции total float Итого status_id int Идентификатор статуса status_name text Статус status_color text Цвет статуса shipping_id int Идентификатор способа доставки (0 если не выбрано) shipping_name text Имя способа доставки shipping_address text Адрес доставки doc_id int Идентификатор сгенерированного документа (null если не сгенерирован) comment array Комментарий. Содержит поля client_comment и manager_comment(если есть) deny_request bool Просил ли клиент снять товар с заказа is_archived bool Позиция в архиве? is_denied bool Позиция отменена? is_payed bool Позиция оплачена? date_added datetime Дата создания заказа date_modified datetime Дата изменения заказа history array История позицииПолеТипОписаниеdatedatetimeВремяcolortextЦветstatustextСтатусmanagertextКто внёс изменения
Содержит filters
Применённые фильтры
Содержит pages
Всего страниц
Пример использования:
curl http://логин:пароль@адрес_магазина/panel/order
Пример ответа:
{
"orders": [
{
"id": "20",
"client_id": "2",
"client_name": "\u041a\u043b\u0438\u0435\u043d\u0442 2",
"wholesaler_info": "\u041e\u041e\u041e \"\u0420\u043e\u0433\u0430 \u0438 \u041a\u043e\u043f\u044b\u0442\u0430\"",
"is_wholesaler": "1",
"date_added": "2017-01-15 22:02:43.114625",
"date_modified": "2017-01-15 22:02:43.114625",
"distributor_id": "3",
"distributor_name": "\u0444\u043e\u0440\u0443\u043c1",
"invoice": "NZ-005",
"brand": "KILEN",
"article": "12133",
"comment": {
"client_comment": ""
},
"name": "\u041f\u0440\u0443\u0436\u0438\u043d\u0430 \u043f\u0435\u0440\u0435\u0434\u043d\u044f\u044f",
"status_name": "\u041e\u043f\u0440\u0438\u0445\u043e\u0434\u043e\u0432\u0430\u043d\u043e \u043e\u0444\u0438\u0441\u043e\u043c",
"deny_request": "0",
"status_color": "EDFF78",
"shipping_id": "0",
"shipping_address": "",
"shipping_name": null,
"deliverytime_max": "0",
"deliverytime_min": "0",
"initial_price": "3958.07",
"price": "3959",
"doc_id": null,
"total": "3959",
"quantity": "1",
"is_archived": "0",
"status_id": "3",
"is_payed": "0",
"history": [
{
"date": "2017-01-15 19:02:43.000000",
"color": "BAF8FF",
"status": "\u041f\u0440\u0438\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043e",
"manager": "\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438"
},
{
"date": "2017-01-15 19:02:43.000000",
"color": "FAFFB3",
"status": "\u041f\u0440\u0438\u043d\u044f\u0442\u043e",
"manager": "\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438"
},
{
"date": "2017-01-15 19:23:51.000000",
"color": "EDFF78",
"status": "\u041e\u043f\u0440\u0438\u0445\u043e\u0434\u043e\u0432\u0430\u043d\u043e \u043e\u0444\u0438\u0441\u043e\u043c",
"manager": "\u0412\u043b\u0430\u0434\u0435\u043b\u0435\u0446 \u041c\u0430\u0433\u0430\u0437\u0438\u043d\u0430"
}
],
"is_denied": "0"
},
{
"id": "19",
"client_id": "1",
"client_name": "\u041f\u0443\u043f\u043a\u0438\u043d \u0412\u0430\u0441\u0438\u043b\u0438\u0439 \u041f\u0435\u0442\u0440\u043e\u0432\u0438\u0447",
"is_wholesaler": "0",
"wholesaler_info": "",
"date_added": "2017-01-15 21:59:28.043621",
"date_modified": "2017-01-15 21:59:28.043621",
"distributor_id": "3",
"distributor_name": "\u0444\u043e\u0440\u0443\u043c1",
"invoice": "NZ-004",
"brand": "UFI",
"article": "30.896.00",
"comment": {
"client_comment": ""
},
"name": "\u0412\u043e\u0437\u0434\u0443\u0448\u043d\u044b\u0439 \u0444\u0438\u043b\u044c\u0442\u0440",
"status_name": "\u041f\u0440\u0438\u043d\u044f\u0442\u043e",
"deny_request": "0",
"status_color": "FAFFB3",
"shipping_id": "1",
"shipping_address": " \u0433. \u0423\u0444\u0430, \u0411\u0430\u043a\u0430\u043b\u0438\u043d\u0441\u043a\u0430\u044f \u0443\u043b., 23",
"shipping_name": "\u0414\u043e\u0441\u0442\u0430\u0432\u043a\u0430 \u043f\u043e \u0433\u043e\u0440\u043e\u0434\u0443",
"deliverytime_max": "0",
"deliverytime_min": "0",
"initial_price": "473.38",
"price": "474",
"doc_id": null,
"total": "474",
"quantity": "1",
"is_archived": "0",
"status_id": "6",
"is_payed": "0",
"history": [
{
"date": "2017-01-15 18:59:28.000000",
"color": "BAF8FF",
"status": "\u041f\u0440\u0438\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043e",
"manager": "\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438"
},
{
"date": "2017-01-15 18:59:28.000000",
"color": "FAFFB3",
"status": "\u041f\u0440\u0438\u043d\u044f\u0442\u043e",
"manager": "\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438"
}
],
"is_denied": "0"
}
],
"filters": {
"per_page": 20
},
"pages": 1
}
Метод /panel/order/set_status/$ID , тип POST
Изменить статус позиции
Поле Тип Описание status_id int Идентификатор нового статуса
Пример использования:
curl http://логин:пароль@адрес_магазина/panel/order/set_status/20 --data "status_id=5"
Пример ответа:
{
"status": "success",
"text": "\u0421\u0442\u0430\u0442\u0443\u0441 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u0443\u0441\u043f\u0435\u0448\u043d\u043e."
}
Пример неудачного ответа:
{
"status": "error",
"text": "\u041d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432."
}
Метод /panel/order/deny/$ID , тип GET
Снять позицию
Пример использования:
curl http://логин:пароль@адрес_магазина/panel/order/deny/20
Пример ответа:
{
"status": "success",
"text": "\u041f\u043e\u0437\u0438\u0446\u0438\u044f \u0441\u043d\u044f\u0442\u0430"
}
Метод /panel/order/pay/$ID , тип GET
Оплатить позицию. У клиента должно быть достаточно средств на лицевом счету. При указании $ID оплаченной позиции снимает оплату с позиции. При снятии оплаты средства вернутся на лицевой счёт
Пример использования:
curl http://логин:пароль@адрес_магазина/panel/order/pay/20
Пример ответа для неоплаченной позиции:
{
"status": "success",
"text": "\u0412\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u041e\u041e\u041e \"\u0420\u043e\u0433\u0430 \u0438 \u041a\u043e\u043f\u044b\u0442\u0430\" \u043e\u043f\u043b\u0430\u0447\u0435\u043d\u044b."
}
Пример ответа для уже оплаченной позиции:
{
"status": "success",
"text": "\u041d\u0430 \u0441\u0447\u0451\u0442 \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u041e\u041e\u041e \"\u0420\u043e\u0433\u0430 \u0438 \u041a\u043e\u043f\u044b\u0442\u0430\" \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e 3959\u20bd "
}
Пример неудачного ответа при нехватке средств:
{
"status": "error",
"text": "\u041d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0441\u0440\u0435\u0434\u0441\u0442\u0432 \u043d\u0430 \u0431\u0430\u043b\u0430\u043d\u0441\u0435 \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u041e\u041e\u041e \"\u0420\u043e\u0433\u0430 \u0438 \u041a\u043e\u043f\u044b\u0442\u0430\" , \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0431\u0430\u043b\u0430\u043d\u0441 \u043d\u0430 10000\u20bd"
}
Пример неудачного ответа для несуществующей позиции:
{
"status": "error",
"text": "\u041d\u0435\u0442 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u0437\u0430\u043a\u0430\u0437\u043e\u0432."
}
Метод /panel/order/archive/$ID , тип GET
Добавить позицию в архив
Пример использования:
curl http://логин:пароль@адрес_магазина/panel/order/archive/20
Пример ответа:
{
"status": "success",
"text": "1 \u0437\u0430\u043a\u0430\u0437\u043e\u0432 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e \u0432 \u0430\u0440\u0445\u0438\u0432."
}
Пример неудачного ответа:
{
"status": "error",
"text": "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0437\u0430\u043a\u0430\u0437\u044b \u0432 \u0430\u0440\u0445\u0438\u0432."
}
Метод /panel/order/unarchive/$ID , тип GET
Снять позицию
Пример использования:
curl http://логин:пароль@адрес_магазина/panel/order/deny/20
Пример ответа:
{
"status": "success",
"text": "\u0417\u0430\u043a\u0430\u0437 \u0440\u0430\u0437\u0430\u0440\u0445\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u043d \u0438 \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u0441\u043f\u0438\u0441\u043a\u0435 \u0437\u0430\u043a\u0430\u0437\u043e\u0432."
}
Пример неудачного ответа:
{
"status": "error",
"text": "\u041d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u0437\u0430\u043a\u0430\u0437\u043e\u0432."
}
Метод /panel/order/documentds/$IDs , тип GET
Создать документы на выбранные позиции
Поле Тип Описание $IDs int Идентификаторы позиций через запятую. Указываются в Query String
Пример использования:
curl http://логин:пароль@адрес_магазина/panel/order/documents/19,20,21
Пример ответа:
{
"status": "success",
"text": "\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u044b \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u044b."
}
По возникающим вопросам или доработке существующего функционала вы можете писать в нашу службу поддержки support@saplab.ru