Как вам помочь ?
Описание API
Для начала работы с API, необходимо сгенерировать API ключи для вашего магазина. Для этого перейдите в админ панель вашего магазина, в раздел "Настройки - API" (рис. 1).
Рисунок 1.
Затем на вкладках "API" и "API с авторизацией", нажмите на кнопку "Сгенерировать новый api ключ" (рис. 2).
Рисунок 2.
После этого в поле "API ключ" появится ваш ключ. Если он был сгенерирован ранее, то его можно будет также найти в этом поле.
API (Server API)
{ "FirstName": "Иван", // имя "LastName": "Иванов", // фамилия "Patronymic": "Иванович", // отчество "Phone": "790000000", // телефон "Email": "ivan@gmail.com", // email "CustomerId": "", // id пользователя "DiscountValue": "100", // Скидка числом "DiscountPercent": "0", // скидка процентом "Description": "lead from api", // описание "Source": "", // источник лида "FunnelId": 1, // id списка лидов "Sum": "0", // сумма товаров "Products": [ // массив товаров: ArtNo - артикул товара в магазине. { // Если товар будет найден по артикулу, то подставится актуальная цена, название, цвет и тд. "ArtNo": "977", "Name": "Туфли", "Amount": 1, "Price": 1500 } ] }
{ "leadId": 1, "status": "ok", "errors": "", "warnings": "" }
{ "status": "error", "errors": "Заполните обязательные поля" }
Метод запроса может быть POST или GET. Если GET - то параметры в url, если POST, то передается json. Все параметры не обязательны.
Пример json-запроса:{ "customerId": "74593297-36eb-4ace-ae8e-5e8084f13c19", "sumFrom": 0, "sumTo": 100000, "dateFrom": "1970-08-29T12:29:59.577", "dateTo": "2024-08-29T12:29:59.577", "loadItems": true, // по умолчанию false "loadCustomerFields": true, // по умолчанию false "dealStatusId": 4, "salesFunnelId": 1, "search": "", "description": "Описание", "name": "Имя", "managerId": 6, "sourceId": 12, "city": "city", "customerFields": [{"1": {"Value": "value"}}], "leadFields": [{"1": {"Value": "value"}}], "itemsPerPage": 100, // по умолчанию 100 "page": 1 // по умолчанию 1 }
Пример ответа
{ "dataItems": [ { "id": 5, "title": "Лид №5", "description": "Описание", "createdDate": "2020-08-29T12:29:59.577", "createdDateFormatted": "29.08.2020 12:29", "sum": 500.0, "sumFormatted": "500 руб.", "customerComment": "", "adminComment": null, "dealStatusId": 4, "dealStatusName": "Ожидание решения клиента", "salesFunnelId": 1, "salesFunnelName": "Лиды", "sourceId": 12, "customerId": "0000000000-0000-0000-0000-000000000", "firstName": "Имя", "lastName": "Фамилия", "patronymic": "", "phone": "+3(333)333-33-31", "email": "", "customerType": 1, "customerFields": [ { "id": 1, "name": "Название организации", "fieldType": "Text", "value": "ООО \"Аааа\"" }, { "id": 2, "name": "Юридический адрес", "fieldType": "Text", "value": "" }, { "id": 3, "name": "ИНН", "fieldType": "Number", "value": "111111111111" }, { "id": 4, "name": "КПП", "fieldType": "Number", "value": "222222222222222" }, { "id": 5, "name": "ОГРН", "fieldType": "Number", "value": "33333333333333333" }, { "id": 6, "name": "ОКПО", "fieldType": "Number", "value": "44444444444444" }, { "id": 7, "name": "БИК", "fieldType": "Number", "value": "" }, { "id": 8, "name": "Название банка", "fieldType": "Text", "value": "" }, { "id": 9, "name": "Корреспондентский счёт", "fieldType": "Number", "value": "" }, { "id": 10, "name": "Расчётный счёт", "fieldType": "Number", "value": "" } ], "managerId": 6, "managerName": "Администратор Магазина", "productsSum": 0.0, "productsCount": 0.0, "country": null, "region": null, "district": null, "city": null, "zip": null, "leadItems": [] } ], "totalPageCount": 2, "totalItemsCount": 4, "pageIndex": 1, "itemsPerPage": 2 }
Пример ответа с ошибкой
{ "result": false, "errors": [ "Заполните обязательное поле (имя, email, телефон или организацию)" ] }
Метод запроса - POST
Пример json-запроса:{ "OrderCustomer": { "CustomerId": "b4807dc9-a832-4284-b5c7-de203d8e81aa", "FirstName": "Иван", "LastName": "Иванов", "Patronymic": "Иванович", "Organization": "ООО Организация", "Email": "ivan@gmail.com", "Phone": "790000000", "Country": "Россия", "Region": "Москва", "City": "Москва", "Zip": "101000", "CustomField1": "Значение настраиваемого поля 1", "CustomField2": "Значение настраиваемого поля 2", "CustomField3": "Значение настраиваемого поля 3", "Street": "Тверская", "House": "1", "Apartment": "1", "Structure": "", "Entrance": "" }, "Number": "123", "OrderPrefix": "prefix-", "OrderSource": "CRM system", "Currency": "RUB", "CustomerComment": "Комментарий пользователя", "AdminComment": "Комментарий администратора", "ShippingName": "Название доставки", "PaymentName": "Название оплаты", "DeliveryTime": "Как можно скорее", "DeliveryDate": "2030-02-15 00:00:00.000", "ShippingCost": 100, "PaymentCost": 0, "BonusCost": 0, "BonusCardNumber": null, "OrderDiscount": 0, "OrderDiscountValue": 100, "ShippingTaxName": "Название налога для доставки 20%", "TrackNumber": "123456", "TotalWeight": 1, "TotalLength": 100, "TotalWidth": 100, "TotalHeight": 100, "OrderStatusName": "Статус заказа", "ManagerEmail": "manager@gmail.com", "IsPaied": true, "CheckOrderItemExist": true, "CheckOrderItemAvailable": true, "ValidateBonusCost": false, "SkipBusinessProcessesAfterCreatingOrder": false, "SkipBonusPurchase": false, "OrderItems": [{ "ArtNo": "Артикул 1", "Name": "Название товара 1", "Price": 100, "Amount": 1 },{ "ArtNo": "Артикул 2", "Name": "Название товара 2", "Price": 200, "Amount": 1 }] }
Поля Order
Если стоит true и прислали бонусов для списания больше чем можно, то вернется ошибка "Заказ может быть оплачен бонусами на {p}%. Для этого заказ можно списать {n} бонусов.".
По умолчанию false, автоматически посчитается и поставится в заказе сколько бонусов доступно для списания, т.е. если BonusCost = 500, а списать можно только 50, то в заказе поставится 50.
Если стоит true и пришел товар, с артикулом которого нет в магазине, то по вернется ошибка и заказ не будет создан.
По умолчанию true.
Если стоит true и пришел товар, с артикулом товара, который не в наличии, то по вернется ошибка и заказ не будет создан.
По умолчанию true.
Если стоит true, то заказ не будет отправлен во внешние системы, не отработают триггеры на создание заказа, не отправятся Email/Sms.
По умолчанию false, заказ может быть отправлен во внешние системы, отработают триггеры на создание закза, отправятся Email/Sms.
Если стоит true, то продажа не будет создана и покупателю не будут начисленны бонусы после оплаты заказа.
По умолчанию false, продажа будет создана и покупателю будут начисленны бонусы после оплаты заказа.
Поля OrderCustomer
Поля OrderItem
Пример ответа
{ "result": true, "obj": { // Описание объекта заказа "Id": 1, "Number": "1", ... } }
Пример ответа с ошибкой
{ "result": false, "errors": [ "Заполните обязательное поле (имя, email, телефон или организацию)" ] }
Вместо {id} подставляется идентификатор заказа
{ "result": true, "obj": { // Объект заказа "Id": 1, // Идентификатора заказа "Number": "1", // Номер заказа "Currency": "RUB", // Код валюты "Sum": 990.0, // Сумма заказа "Date": "2017-04-10T09:45:17.7", // Дата заказа в формате ISO 8601 "CustomerComment": "", // Комментарий пользователя "AdminComment": "Тестовый заказ", // Комментарий администратора "PaymentName": "Оплата наличными", // Название метода оплаты "PaymentCost": 0.0, // Стоимость оплаты. Наценка или скида при оплате "ShippingName": "Самовывоз", // Название метода доставки "ShippingCost": 0.0, // Стоимость доставки "ShippingTaxName": "НДС по ставке 20%", // НДС доставки "TrackNumber": "", // Номер отслеживания заказа "DeliveryDate": "2020-12-08T00:00:00", // Дата доставки в формате ISO 8601 "DeliveryTime": "с 8 до 10 утра", // Время доставки "OrderDiscount": 0.0, // Скидка заказа. Процент (Либо процент, либо сумма) "OrderDiscountValue": 0.0, // Скидка заказа. Сумма (Либо процент, либо сумма) "BonusCardNumber": 777271, // Номер бонусной карты (long) "BonusCost": 0.0, // Кол-во использованных бонусов "LpId": null, // Идентификатора воронки продаж "IsPaid": true, // Оплачен заказ или нет "ModifiedDate": "2017-04-10T09:45:17.7", // Дата модификации заказа в формате ISO 8601 "Customer": { // Данные покупателя "CustomerId": "f1688306-fa99-4193-a102-a0e6d9977ef2", // Идентификатор покупателя "FirstName": "Александр", // Имя покупателя "LastName": "Сидоров (тест)", // Фамилия покупателя "Patronymic": "Иванович", // Отчество покупателя "Organization": null, // Название организации "Email": "alex-test@sidorov.ru", // Email "Phone": "+7900123456", // Телефон покупателя "Country": "Россия", // Страна "Region": "Самарская область", // Регион "District": null, // Район региона "City": "Самара", // Город "Zip": "112233", // Индекс "CustomField1": "", // Настраиваемое поле 1 "CustomField2": "", // Настраиваемое поле 2 "CustomField3": "", // Настраиваемое поле 3 "Street": "Ленина", // Улица "House": "1", // Дом "Structure": "3", // Стр./корп. "Apartment": "2", // Квартира "Entrance": "4", // Подъезд "Floor": "5" // Этаж }, "Status": { // Данные статуса заказа (Описание объекта статуса заказа) "Id": 5, "Name": "Доставлен", "IsCanceled": false, "IsCompleted": true, "Hidden": false }, "Source": { // Данные источника заказа "Id": 1, // Идентификатор "Name": "Корзина интернет магазина", // Название "Main": true, // Основной в группе "Type": "ShoppingCart" // Группа (тип) }, "Items": [ // Позиции заказа { "ArtNo": "1649", // Артикул "Name": "Ваш товар", // Название "Color": null, // Цвет "Size": null, // Размер "Price": 990.0, // Цена "Amount": 1.0, // Кол-во "PhotoSrc": "http:/mysite.com/small.jpg"// Картинка } ] } }
Пример ответа с ошибкой
{ "result": false, "errors": [ "Заказ не найден" ] }
Пример json-запроса:
{ "Page": 1, // Запрашиваемая страница (Не обяз. Если меньше 1, примет значение 1) "ItemsPerPage": 2 // Кол-во заказов на страницу (Не обяз. Поумолчанию 100/максимум 100. // При LoadItems = true поумолчанию 50/максимум 50. // Если значение больше максимального, то принимает значение поумолчанию) "LoadItems": false, // Загружать позиции заказа (Не обяз. Поумолчанию false) // Фильтры "CustomerId": "f1688306-fa99-4193-a102-a0e6d9977ef2", // Идентификатор покупателя (Не обяз.) "StatusId": 1, // Идентификатор статуса заказа (Не обяз.) "IsPaid": true, // Оплачен заказ или нет (Не обяз.) "SumFrom": 50.0, // Начиная с суммы заказа (Не обяз.) "SumTo": 990.0, // Заканчивая суммой заказа (Не обяз.) "DateFrom": "2020-12-08T00:00:00", // Начиная с даты заказа в формате ISO 8601 (Не обяз.) "DateTo": "2020-12-09T00:00:00" // Заканчивая датой заказа в формате ISO 8601 (Не обяз.) "ModifiedDateFrom": "2020-12-08T00:00:00", // Начиная с даты модификации заказа в формате ISO 8601 (Не обяз.) "ModifiedDateTo": "2020-12-09T00:00:00" // Заканчивая датой модификации заказа в формате ISO 8601 (Не обяз.) }
Пример ответа
{ "result": true, "obj": { "DataItems": [ { // Описание объекта заказа "Id": 1, "Number": "2020-1", ... }, { "Id": 4, "Number": "4", ... } ], "TotalPageCount": 17, // Кол-во страниц "TotalItemsCount": 34, // Общее кол-во заказов по запросу "PageIndex": 1, // Текущая страница "ItemsPerPage": 2 // Кол-во заказов на страницу } }
Пример ответа с ошибкой
{ "result": false, "errors": [ "Неудалось преобразовать дату параметра DateFrom" ] }
Пример json-запроса:
{ "OrderId": 4, // Идентификатора заказа ( обяз.) "StatusId": 1 // Идентификатора статуса заказа ( обяз.) }
Пример ответа
{ "result": true }
Пример ответа с ошибкой
{ "result": false, "errors": [ "Статус не найден" ] }
Пример json-запроса:
{ "OrderId": 4 // Идентификатора заказа ( обяз.) }
Пример ответа
{ "result": true }
Пример ответа с ошибкой
{ "result": false, "errors": [ "Заказ не найден" ] }
Пример json-запроса:
{ "Page": 1, // Запрашиваемая страница (Не обяз. Если меньше 1, примет значение 1) "ItemsPerPage": 2 // Кол-во статусов на страницу (Не обяз. Поумолчанию 100/максимум 100.) // Фильтры "IsCanceled": true, // Статусы отменяющие заказ (Не обяз.) "IsCompleted": true, // Статусы завершающие заказ (Не обяз.) "Hidden": true // Статусы скрытые для клиента (Не обяз.) }
{ "result": true, "obj": { "DataItems": [ { // Объект статуса "Id": 5, // Идентификатор статуса "Name": "Доставлен", // Название "IsCanceled": false, // Заказ отменен "IsCompleted": true, // Заказ завершен "Hidden": false // Скрыт для клиента }, { "Id": 4, "Name": "Новый", ... } ], "TotalPageCount": 17, // Кол-во страниц "TotalItemsCount": 34, // Общее кол-во статусов по запросу "PageIndex": 1, // Текущая страница "ItemsPerPage": 2 // Кол-во статусов на страницу } }
Пример ответа с ошибкой
{ "result": false, "errors": [ "Неудалось преобразовать дату параметра DateFrom" ] }
Получение списка клиентов, удовлетворяющих заданному фильтру. Результат возвращается постранично.
Фильтр. Все поля не обязательны.
{ "CustomerFields" : { "1": { "value": "123" }, "2": { "dateFrom": "2021-10-11", "dateTo": "2021-11-11" }, } }1, 2 - id поля покупателя
CustomerFiled. Все поля не обязательны.
Пример ответа
{ "pagination": { "count": 3, "currentPage": 1, "totalCount": 3, "totalPageCount": 1 }, "customers": [ { "id": "8ec48a6c-06ec-4704-bf76-8ee6c893108a", "email": "test@email.com", "phone": 79123456789, "firstName": "Ivan", "lastName": "Ivanov", "patronymic": "Ivanovich", "organization": "OOO Umbrella", "subscribedForNews": false, "birthday": null, "adminComment": null, "managerId": null, "groupId": 1 } ] }
Ответ
Может содержать дополнительные поля в ответе (contact, fields), если в запросе передается параметр extended=true
Информация о постраничном выводе включает:
{ "id": "b337541c-7c41-4bd1-a3d6-360cf655601b", // Id покупателя "email": "myemail@email.com", // Email обяз. и уникален "phone": 79171234567, // Телефон не обяз., если указан, то должен быть уникален (Тип long) "firstName": "Ivan", "lastName": "Ivanov", "patronymic": "Ivanovich", "organization": "OOO Umbrella", "subscribedForNews": false, "birthday": "2022-01-01T00:00:00", // не обяз. "adminComment": "Our best client!", // не обяз. "managerId": null, // Id менеджера покупателя (не обяз.) "groupId": 1, // Id группы покупателя (не обяз.) "contact": { "contactId": "e56ae1a2-b5f5-49e4-a2be-bb219a44ea54", "name": "Ivan Ivanov", "country": "Россия", "city": "Москва", "district": "", "region": "Москва", "zip": "432000", "street": "Ленина", "house": "1", "apartment": "2", "structure": "", "entrance": "", "floor": "" }, "fields": [ // Поля покупателя (не обяз.) { "id": 1, "name": "Text field", "value": "some text" }, { "id": 2, "name": "Select field", "value": "some value" }, { "id": 3, "name": "Data field", "value": "2021-10-01" } ] }
Пример ответа с ошибкой
{ "status": "error", "errors": "Пользователь не найден" }
POST api/customers/add
{ "email": "myemail@email.com", "phone": 79171234567, "firstName": "Ivan", "lastName": "Ivanov", "patronymic": "Ivanovich", "organization": "OOO Umbrella", "subscribedForNews": false, "birthday": "2022-01-01T00:00:00", "adminComment": "Our best client!", "managerId": null, "groupId": 1, "contact": { "country": "Россия", "city": "Москва", "district": "", "region": "Москва", "zip": "432000", "street": "Ленина", "house": "1", "apartment": "2", "structure": "", "entrance": "", "floor": "" }, "fields": [ { "id": 1, "name": "Text field", "value": "some text" }, { "id": 2, "name": "Select field", "value": "some value" }, { "id": 3, "name": "Data field", "value": "2021-10-01" } ], "ignoreCustomerFieldsConstraints": null|true|false }
Пример ответа
{ "id": "b337541c-7c41-4bd1-a3d6-360cf655601b", // id созданного покупателя "status": "ok" // статус }
Пример ответа с ошибкой
{ "status": "error", "errors": "Пользователь с таким телефоном уже существует" }
POST api/customers/{id}
{ "id": "b337541c-7c41-4bd1-a3d6-360cf655601b", "email": "myemail@email.com", "phone": 79171234567, "firstName": "Ivan", "lastName": "Ivanov", "patronymic": "Ivanovich", "organization": "OOO Umbrella", "subscribedForNews": false, "birthday": "2022-01-01T00:00:00", "adminComment": "Our best client!", "managerId": null, "groupId": 1, "contact": { "contactId": "e56ae1a2-b5f5-49e4-a2be-bb219a44ea54", "name": "Ivan Ivanov", "country": "Россия", "city": "Москва", "district": "", "region": "Москва", "zip": "432000", "street": "Ленина", "house": "1", "apartment": "2", "structure": "", "entrance": "", "floor": "" }, "fields": [ // Поля покупателя (не обяз.) { "id": 1, "name": "Text field", "value": "some text" }, { "id": 2, "name": "Select field", "value": "some value" }, { "id": 3, "name": "Data field", "value": "2021-10-01" } ], "ignoreCustomerFieldsConstraints": null|true|false }
Пример ответа
{ "id": "b337541c-7c41-4bd1-a3d6-360cf655601b", // id покупателя "status": "ok" // статус }
Пример ответа с ошибкой
{ "status": "error", "errors": "Пользователь с таким телефоном уже существует" }
Пример запроса
{"phone": "79171234567"}
Пример ответа
{ "isCodeSended": true }
Пример ответа с ошибкой
{ "status": "error", "errors": "Не подключен модуль sms" }
Пример запроса
{ "phone": "79171234567", "code": "1234" }
Пример ответа
{ "confirmed": true }
Пример ответа с ошибкой
{ "status": "error", "errors": "Не правильный sms-код" }
Пример ответа
{ "cardId": 961640, // номер бонусной карты (long) "amount": 200, // кол-во бонусов (decimal) "percent": 3, // процент карты (decimal) "gradeName": "Гостевой", // название грейда (string) "gradeId": 1, // id грейда (int) "isBlocked": false // заблокирована ли карта (bool) }
Пример ответа с ошибкой
{ "status": "error", "errors": "У покупателя нет бонусной карты" }
Пример ответа
{ "cardId": 961640, // номер бонусной карты (long) "amount": 200, // кол-во бонусов (decimal) "percent": 3, // процент карты (decimal) "gradeName": "Гостевой", // название грейда (string) "gradeId": 1, // id грейда (int) "isBlocked": false // заблокирована ли карта (bool) }
Пример ответа с ошибкой
{ "status": "error", "errors": "У покупателя нет бонусной карты" }
Пример запроса
{ "customerId": "889d82df-aaa5-4d54-a870-8d123e541af9" }
Пример ответа
{ "cardId": 123, "amount": 0, "percent": 3, "gradeName": "Гостевой", "gradeId": 1, "isBlocked": false }
Пример ответа с ошибкой
{ "status": "error", "errors": "У покупателя уже есть бонусная карта" }
Пример ответа
[ { "id": 1, "name": "Начислить бонусы", "amount": 100, "startDate": "2021-11-15T00:00:00", "endDate": "2021-11-30T00:00:00", "description": "Описание", "status": 0 }, { "id": 2, "name": "Начислить бонусы 2", "amount": 500, "startDate": null, "endDate": null, "description": null, "status": 0 } ]
Пример запроса
{ "name": "Начислить бонусы на др", "amount": 100, "reason": "С Днем Рождения!", "startDate": "2021-11-15T00:00:00", "endDate": "2021-11-30T00:00:00", "sendSms": false, }
Пример ответа
{ "status": "ok" }
Пример запроса
{ "bonusId": 1, "amount": 100, "reason": "Списание бонусов", "sendSms": false, }
Пример ответа
{ "status": "ok" }
Пример запроса
{ "amount": 100, "reason": "Списание бонусов", "sendSms": false, }
Пример ответа
{ "status": "ok" }
Пример ответа
{ "transactions": [ { "balance": 111.0000, "createOn": "2021-11-16T16:44:43.253", "amount": 111.0000, "basis": "Основание", "operationType": "AddAdditionBonus", "purchaseId": null }, { "balance": 123456.0000, "createOn": "2021-11-16T16:44:10.39", "amount": 123456.0000, "basis": "Основание", "operationType": "AddMainBonus", "purchaseId": null } ], "pagination": { "count": 2, "currentPage": 1, "totalCount": 2, "totalPageCount": 1 } }
Бонусные карты генерируруется случайным образом в диапазоне "Диапазон карт от" до "Диапазон карт до". Не делайте его слишком маленьким, иначе сгенерировать новую карту не получится.
Пример ответа
{ "cardNumberFrom": 100000, "cardNumberTo": 999999, "bonusGradeId": 1, "grades": [ { "label": "Гостевой", "value": "1", "selected": true }, { "label": "Бронзовый", "value": "2", "selected": false }, { "label": "Серебряный", "value": "3", "selected": false }, { "label": "Золотой", "value": "4", "selected": false }, { "label": "Платиновый", "value": "5", "selected": false } ], "isEnabled": true, "maxOrderPercent": 100.0, "bonusType": 1, "bonusTypes": [ { "label": "Стоимость товаров и доставки", "value": "0", "selected": false }, { "label": "Стоимость товаров", "value": "1", "selected": false } ], "bonusTextBlock": "", "bonusRightTextBlock": "", "disallowUseWithCoupon": false, "smsNotificationEnabled": false, "emailNotificationEnabled": false, "pushNotificationEnabled": false }
Пример запроса
{ "cardNumberFrom": 100000, "cardNumberTo": 999999, "bonusGradeId": 1, "grades": [ { "label": "Гостевой", "value": "1", "selected": true }, { "label": "Бронзовый", "value": "2", "selected": false }, { "label": "Серебряный", "value": "3", "selected": false }, { "label": "Золотой", "value": "4", "selected": false }, { "label": "Платиновый", "value": "5", "selected": false } ], "isEnabled": true, "maxOrderPercent": 100.0, "bonusType": 1, "bonusTypes": [ { "label": "Стоимость товаров и доставки", "value": "0", "selected": false }, { "label": "Стоимость товаров", "value": "1", "selected": false } ], "bonusTextBlock": "", "bonusRightTextBlock": "", "disallowUseWithCoupon": false, "smsNotificationEnabled": false, "emailNotificationEnabled": false, "pushNotificationEnabled": false }
Пример ответа
{ "status": "ok" }
Пример ответа
[ { "id": 1, // Идентификатор "name": "Гостевой", // Название "bonusPercent": 3, // Процент начисления бонусов "sortOrder": 0, // Сортировка "purchaseBarrier": 0 // Порог для перехода на след. гейд }, { "id": 2, "name": "Бронзовый", "bonusPercent": 5, "sortOrder": 1, "purchaseBarrier": 5000 } ]
Получение списка категорий, удовлетворяющих заданному фильтру. Результат возвращается постранично.
Фильтр. Все поля не обязательны.
Пример запроса
/api/categories?parentCategoryId=0&extended=true
Пример ответа
{ "categories": [ { "id": 5701, "externalId": "5701", "parentCategoryId": 0, "name": "Категория 1", "url": "kategoriya-1", "description": "", "briefDescription": "", "enabled": true, "hidden": false, "sortOrder": 0, "sorting": "nosorting", "showMode": 1, "showBrandsInMenu": false, "showSubCategoriesInMenu": false, "showOnMainPage": true, "modifiedBy": "csv", "seoMetaInformation": { "isDefault": true, "title": "#STORE_NAME# - #CATEGORY_NAME#", "metaKeywords": "#STORE_NAME# - #CATEGORY_NAME#", "metaDescription": "#STORE_NAME# - #CATEGORY_NAME#", "h1": "#CATEGORY_NAME#" }, "pictureUrl": null, "miniPictureUrl": null, "menuIconPictureUrl": null, "level": 2, "childCategoriesCount": 0, "productsCount": 3, "productsCountInCategory": 3 }, { "id": 5702, "externalId": "5702", "parentCategoryId": 0, "name": "Категория 2", "url": "kategoriya-2", "description": "", "briefDescription": "", "enabled": true, "hidden": false, "sortOrder": 0, "sorting": "nosorting", "showMode": 1, "showBrandsInMenu": false, "showSubCategoriesInMenu": false, "showOnMainPage": true, "modifiedBy": "csv", "seoMetaInformation": { "isDefault": true, "title": "#STORE_NAME# - #CATEGORY_NAME#", "metaKeywords": "#STORE_NAME# - #CATEGORY_NAME#", "metaDescription": "#STORE_NAME# - #CATEGORY_NAME#", "h1": "#CATEGORY_NAME#" }, "pictureUrl": null, "miniPictureUrl": null, "menuIconPictureUrl": null, "level": 2, "childCategoriesCount": 0, "productsCount": 3, "productsCountInCategory": 3 }, ... ], "pagination": { "count": 12, "currentPage": 1, "totalCount": 12, "totalPageCount": 1 } }
Ответ
Может содержать дополнительные поля в ответе, если в запросе передается параметр extended=true
Информация о постраничном выводе включает:
Пример ответа
{ "id": 5701, "externalId": "5701", "parentCategoryId": 0, "name": "Категория 1", "url": "kategoriya-1", "description": "", "briefDescription": "", "enabled": true, "hidden": false, "sortOrder": 0, "sorting": "nosorting", "showMode": 1, "showBrandsInMenu": false, "showSubCategoriesInMenu": false, "showOnMainPage": true, "modifiedBy": "csv", "seoMetaInformation": { "isDefault": true, "title": "#STORE_NAME# - #CATEGORY_NAME#", "metaKeywords": "#STORE_NAME# - #CATEGORY_NAME#", "metaDescription": "#STORE_NAME# - #CATEGORY_NAME#", "h1": "#CATEGORY_NAME#" }, "pictureUrl": null, "miniPictureUrl": null, "menuIconPictureUrl": null }
Пример ответа с ошибкой
{ "status": "error", "errors": "Категории не существует" }
Пример запроса
{ "parentCategoryId": 0, "name": "Категория", "url": "new-category", "description": "description", "briefDescription": "brief description", "enabled": true, "hidden": false, "sortOrder": 0, "sorting": "nosorting", "showMode": 1, "showBrandsInMenu": false, "showSubCategoriesInMenu": false, "showOnMainPage": true, "modifiedBy": "api" }
Пример ответа
{ "id": 123, // id созданной категории "status": "ok" // статус }
Пример ответа с ошибкой
{ "status": "error", "errors": "Название обязательно для заполения" }
POST api/customers/{id}
{ "id": 1234567, "externalId": "1234567", "parentCategoryId": 0, "name": "Категория 123456789", "url": "kategoriya-1", "description": "", "briefDescription": "", "enabled": true, "hidden": false, "sortOrder": 0, "sorting": "nosorting", "showMode": 1, "showBrandsInMenu": false, "showSubCategoriesInMenu": false, "showOnMainPage": true, "modifiedBy": "835d82df-aaa6-4d54-a870-8d353e541af9", "seoMetaInformation": { "isDefault": false, "title": "#STORE_NAME# - #CATEGORY_NAME# 123456789", "metaKeywords": "#STORE_NAME# - #CATEGORY_NAME#", "metaDescription": "#STORE_NAME# - #CATEGORY_NAME#", "h1": "#CATEGORY_NAME#" } }
Пример ответа
{ "id": 1234567, // id категории "status": "ok" // статус }
Пример ответа с ошибкой
{ "status": "error", "errors": "Название обязательно для заполения" }
Пример ответа
{ "status": "ok" }
Пример ответа
{ "status": "ok" }
Пример запроса
{ "link": "https://link.com/img.jpg" }
Пример ответа
{ "status": "ok" }
Пример запроса
{ "link": "https://link.com/img.jpg" }
Пример ответа
{ "status": "ok" }
Пример запроса
{ "link": "https://link.com/img.jpg" }
Получение настроек по ключам
Пример запроса
/api/settings?keys=ShopURL,ShopName
Пример ответа
[ { "key": "ShopURL", "value": "http://site.ru" }, { "key": "ShopName", "value": "Shop name" } ]
Фильтр. Все поля не обязательны.
Пример запроса
/api/carousels?enabled=true&displayInMobile=true
Пример ответа
[ { "carouselId": 1, "sortOrder": 10, "url": "", "enabled": true, "displayInOneColumn": false, "displayInTwoColumns": true, "displayInMobile": false, "blank": false, "picture": { "src": "https://sitedomain.ru/carousel/slide1.jpg", "alt": "" } }, { "carouselId": 2, "sortOrder": 20, "url": "", "enabled": true, "displayInOneColumn": true, "displayInTwoColumns": false, "displayInMobile": true, "blank": false, "picture": { "src": "https://sitedomain.ru/carousel/slide2.jpg", "alt": "" } }, ... ]
Пример запроса
/api/notifications/sendpush
{ "customerId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "title": "Заголовок", "body": "Сообщение" }
Пример ответа
{ "status": "ok" }
Пример ответа с ошибкой
{ "status": "error", "errors": "Укажите заголовок и сообщение уведомления" }
API с авторизацией (Client API)
Когда пользователь не авторизован, при использовании методов API в ответе в HTTP-заголовке будет возвращаться X-API-USER-ID. Его нужно использовать в последующих запросах к API. Это необходимо чтобы понимать для какого покупателя выполняются методы.
После авторизации (users/signin) в ответе приходит id (userId) и ключ (userKey) для пользователя. Данные ключи следует использовать в HTTP-заголовках X-API-USER-ID и X-API-USER-KEY при использовании методов API.
Если используются типы цен со складами, то в url-адресе можно использовать параметр warehouseIds или передавать заголовок X-API-WAREHOUSES. Например: https://mydomain.ru/api/catalog/all?warehouseIds=1,2 или X-API-WAREHOUSES: 1,2 Тогда по API вернутся товары с учетом типа цены и выбранного склада.
Пример запроса
?settings=IsShowCity,BuyButtonText
Пример ответа
{ "customer": { "id": "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx", "email": null, "phone": null, "firstName": "Ivan", "lastName": "Ivanov", "patronymic": "", "organization": "", "subscribedForNews": false, "birthday": null, "adminComment": "", "managerId": null, "groupId": 1, "group": { "id": 1, "name": "Обычный покупатель", "discountPercent": 0.0 }, "customerType": "PhysicalEntity", "contacts": [ { "contactId": "00000000-0000-0000-0000-000000000000", "name": "Ivanov Ivan", "country": "Россия", "city": "Москва", "district": "", "region": "", "zip": "", "street": "Ленина", "house": "1", "apartment": "1", "structure": "", "entrance": "", "floor": "", "dadataJson": null, "isMain": true }, { "contactId": "00000000-0000-0000-0000-000000000001", "name": "Ivanov2 Ivan2", "country": "Россия", "city": "Казань", "district": "", "region": "", "zip": "", "street": "Лениная", "house": "5", "apartment": "234", "structure": "", "entrance": "", "floor": "", "dadataJson": null, "isMain": true }, ], "fields": [ { "id": 1, "name": "Test", "value": null, "fieldType": "text", "valueItems": null, "customerType": "All", "fieldAssignment": "None", "required": false, "showInRegistration": true, "showInCheckout": true, "disableEditing": false }, { "id": 2, "name": "Test 2", "value": null, "fieldType": "select", "valueItems": [ { "text": "be?", "value": "be", "selected": false }, { "text": "or not to be?", "value": "not be", "selected": false } ], "customerType": "PhysicalEntity", "fieldAssignment": "None", "required": false, "showInRegistration": true, "showInCheckout": true, "disableEditing": false } ], "fcmToken": null }, "currency": { "name": "Рубли", "symbol": " руб.", "rate": 1, "iso3": "RUB", "isCodeBefore": false, "roundNumbers": 1, "enablePriceRounding": true }, "settings": [ { "key": "ShopName", "value": "Super store" }, { "key": "ShopURL", "value": "https://mysite.ru" }, { "key": "ColorScheme", "value": "blue" }, { "key": "ProductsPerPage", "value": "48" }, { "key": "SizesHeader", "value": "Размер" }, { "key": "ColorsHeader", "value": "Цвет" }, { "key": "BuyButtonText", "value": "Добавить" }, { "key": "Phone", "value": "+7(900)000-00-00" }, { "key": "MobilePhone", "value": "+79000000000" }, { "key": "Logo", "value": "https://mysite.ru/pictures/logo.png" }, { "key": "ColorSchemesColor", "value": "0662c1" }, { "key": "ModerateReviews", "value": false }, { "key": "MobileAppTheme", "value": "dark" // dark, light }, { "key": "MobileAppUseStoreColorScheme", "value": true }, { "key": "MobileAppMainColor", "value": "0088cc" }, { "key": "MobileAppButtonTextColor", "value": "fff" }, { "key": "ChangeBackgroundColor", "value": false }, { "key": "BackgroundColor", "value": null }, { "key": "ChangeHeaderBackgroundColor", "value": false }, { "key": "HeaderBackgroundColor", "value": null }, { "key": "HeaderTextColor", "value": null }, { "key": "ChangeBottomMenuBackgroundColor", "value": false }, { "key": "BottomMenuBackgroundColor", "value": null }, { "key": "BottomMenuTextColor", "value": null }, { "key": "BottomMenuActiveItemColor", "value": null }, { "key": "ChangeTileBackgroundColor", "value": false }, { "key": "TileBackgroundColor", "value": null }, { "key": "ShowBonusCardQrCode", "value": true }, { "key": "BonusCardQrCodeMode", "value": "bonusCardNumber" // null (ShowBonusCardQrCode = false), bonusCardNumber, phone }, { "key": "HideShoppingCart", "value": false }, { "key": "ColorSchemesButtonTextColor", "value": "fff" }, { "key": "MobileAppSignInPicture", "value": "https://mysite.ru/pictures/mobileapp/signin.png" }, { "key": "MobileAppCartPicture", "value": "https://mysite.ru/pictures/mobileapp/cart.png" }, { "key": "MobileAppLogo", "value": null }, { "key": "ShowRating", "value": false }, { "key": "ShowSku", "value": true }, { "key": "ShowCatalogFilter", "value": false }, { "key": "MobileAppMainPageMode", "value": "mainCategories" // mainCategories, allCategoriesWithProducts }, { "key": "CategoryViewModeOnMainPage", "value": "tile" // tile, listWithPhoto, listWithoutPhoto }, { "key": "ShowCatalogPanel", "value": true }, { "key": "ShowAvailability", "value": true }, { "key": "ShowReviews", "value": false }, { "key": "ShowCitySelection", "value": true }, { "key": "ForceCitySelection", "value": false }, { "key": "ProhibitSelectingCitiesNotFromPresetList", "value": false }, { "key": "ShowAuthScreenOnStart", "value": false }, { "key": "MobileAppProductViewMode", "value": "tile" // tile, list, detail }, { "key": "ShowProductBriefDescriptionInCatalog", "value": true }, { "key": "ProductsCountByCategoryForAllCategories", "value": 8 }, { "key": "ShowAmountSpinBoxInsteadOfAddToCart", "value": false }, { "key": "ShowPriceOnAddToCart", "value": false }, { "key": "ProductPhotosWithRoundedCorners", "value": false }, { "key": "ShowPostCode", "value": false }, { "key": "ShowLogoInCenter", "value": false }, { "key": "ShowBlockTitlesInProductDetails", "value": false` }, { "key": "OfficeAddressesBlockName", "value": "Магазины" }, { "key": "ShowSearch", "value": true }, { "key": "ShowSearchByBarcode", "value": false }, { "key": "ShowActiveOrdersOnMainPage", "value": false }, { "key": "ShowYouOrderedBlockOnMainPage", "value": false }, { "key": "ShowWishList", "value": false }, { "key": "ShowDeliveriesInProductDetails", "value": false }, { "key": "CheckOccurrenceOfAddressInDeliveryArea", "value": false }, { "key": "DisplayReviewsImage", "value": false }, { "key": "AllowReviewsImageUploading", "value": false }, { "key": "ReviewImageWidth", "value": 100 }, { "key": "ReviewImageHeight", "value": 100 }, { "key": "TextOnMainTitle", "value": "title here" }, { "key": "TextOnMainText", "value": "text here" }, { "key": "CarouselShowSectionInBottomNavigationMenu", "value": true }, { "key": "IsPhysicalEntityEnabled", "value": true }, { "key": "IsLegalEntityEnabled", "value": true }, { "key": "AppMetricaEnabled", "value": false }, { "key": "AppMetricaApiKey", "value": null }, { "key": "ShowDeliveryInDeliveryWidgetOnMain", "value": false }, { "key": "ShowSelfDeliveryInDeliveryWidgetOnMain", "value": false }, { "key": "ShowInHouseInDeliveryWidgetOnMain", "value": false }, { "key": "InHouseMethodName", "value": "В зале" }, { "key": "InHouseMethodText", "value": "Выберите стол" }, { "key": "DefaultSelfDeliveryId", "value": null }, { "key": "DefaultSelfDeliveryPointStringId", "value": null }, { "key": "ShowChoosingDeliveryWhenOpeningApplication", "value": false }, { "key": "TryGetNearestPickPoint", "value": false }, { "key": "AllowOrderCheckout", "value": false }, { "key": "OrderCheckoutDisabledMessage", "value": "Извините, сейчас мы не работаем." }, { "key": "ShowAvailableInWarehouseInProduct", "value": false }, { "key": "SellerCountryId", "value": 171 }, { "key": "SellerCountryName", "value": "Россия" }, { "key": "SellerCountryDialCode", "value": 7 }, { "key": "SellerCountryIso2", "value": "RU" }, { "key": "SellerCountryIso3", "value": "RUS" }, { "key": "ShowFeedback", "value": false }, { "key": "FeedbackLeadFunnelId", "value": null }, { "key": "FeedbackHintText", "value": null }, { "key": "UserAddressRequired", "value": true }, { "key": "ShowAddressInProfile", "value": true }, { "key": "ActiveWarehouseCount", "value": 1 }, { "key": "DefineCityBasedOnGeodata", "value": false }, { "key": "CityIdIfNotAutodetect", "value": null }, { "key": "CityNameIfNotAutodetect", "value": null }, { "key": "RegionIdIfNotAutodetect", "value": null }, { "key": "RegionNameIfNotAutodetect", "value": null }, { "key": "CountryIdIfNotAutodetect", "value": null }, { "key": "CountryNameIfNotAutodetect", "value": null }, { "key": "ColorsViewMode", "value": "icon" }, { "key": "ShowPriceRuleAmountTableInProduct", "value": false }, { "key": "AuthByCodeMethod", "value": "Sms" // Sms, Call }, { "key": "AuthCallMode", "value": null // null (AuthByCodeMethod == Sms), Flash, Voice }, { "key": "AuthByCodeMethodDescription", "value": "Вам придет смс с кодом. Введите 4 цифры." } ], "optionalSettings": [ { "key": "some_key", "value": "value object: null|string|int|.." } ], "location": { "countryId": 171, "countryName": "Россия", "regionId": 41, "region": "Москва", "cityId": 0, "city": "Москва", "district": "", "dialCode": 7, "zip": null }, "dadata": { "isActive": false, "apiKey": null }, "contact": { "address": "г. Москва, Пресненская набережная, 8с1, офис 123", "addressMap": "https://yandex.ru/maps/-/CCUJAFCn-B", "phone": "8 (800) 350-50-50", "email": null, "workSchedule": "Пн-Пт 08:00 - 18:00, Сб-Вс Выходные", "aboutCompany": "О компании" }, "carousel": [ { "imageSrc": "https://mysite.ru/pictures/carouselapi/123.jpg", "title": "Заголовок", "shortDescription": "Краткое описание", "fullDescription": "Подробное описание", "showOnMain": true, "couponCode": null, "expirationDate": null, "product": null, "category": null, "urlLink": null }, { "imageSrc": "https://mysite.ru/pictures/carouselapi/456.jpg", "title": "Заголовок", "shortDescription": "Краткое описание", "fullDescription": "Подробное описание", "showOnMain": true, "couponCode": "Код купона", "expirationDate": "2024-12-04T00:00:00", "product": { "productId": 20244, "artNo": "20244", "name": "Шорты", "urlPath": "shorty", "briefDescription": null, "discount": { "percent": 10, "amount": 0, "type": "Percent" }, "oldPrice": 1000, "price": 900, "preparedOldPrice": "1 000 руб.", "preparedPrice": "900 руб.", "photo": { "smallSrc": "https://mysite.ru/pictures/product/small/1_small.jpg", "middleSrc": "https://mysite.ru/pictures/product/middle/1_middle.jpg", "bigSrc": "https://mysite.ru/pictures/product/big/1_big.jpg", "colorId": null, "main": true } }, "category": { "id": 1, "name": "Категория", "url": "category-1", "description": "Описание", "briefDescription": "Краткое описание", "pictureUrl": null, "miniPictureUrl": null }, "urlLink": "https://mysite.ru/something" } ] }
Описание по умолчанию:
если AuthByCodeMethod равен Sms, то "Вам придет смс с кодом. Введите 4 цифры."
если AuthCallMode равен Flash, то "Введите 4 последние цифры номера, с которого поступит звонок."
если AuthCallMode равен Voice, то "Введите 4 цифры кода, который вы услышите при звонке."
Пример запроса
{ "email": "my@email.com", "password": "password" }
Пример ответа
{ "userKey": "userkey", "userId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "customer": { "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "email": "admin", "phone": 74958002000, "firstName": "Имя", "lastName": "Фамилия", "patronymic": "", "organization": "", "subscribedForNews": false, "birthday": null, "adminComment": "", "managerId": null, "groupId": 1, "group": { "id": 1, "name": "Обычный покупатель", "discountPercent": 0.0 }, "customerType": "PhysicalEntity", "contacts": [ { "contactId": "00000000-0000-0000-0000-000000000000", "name": "Ivanov Ivan", "country": "Россия", "city": "Москва", "district": "", "region": "Москва", "zip":"", "street": "Ленина", "house": "1", "apartment": "1", "structure": "", "entrance": "", "floor": "", "dadataJson": null, "isMain": true }, { "contactId": "00000000-0000-0000-0000-000000000001", "name": "Ivanov2 Ivan2", "country": "Россия", "city": "Казань", "district": "", "region": "", "zip": "", "street": "Лениная", "house": "5", "apartment": "234", "structure": "", "entrance": "", "floor": "", "dadataJson": null, "isMain": false }, ], "fields": [ { "id": 1, "name": "Test", "value": null, "customerType": "All", "fieldAssignment": "None", "required": false, "showInRegistration": true, "showInCheckout": true, "disableEditing": false }, { "id": 2, "name": "Test 2", "value": null, "value": null, "customerType": "PhysicalEntity", "fieldAssignment": "None", "required": false, "showInRegistration": true, "showInCheckout": true, "disableEditing": false } ], "fcmToken": null } }
Пример ответа с ошибкой
{ "status": "error", "errors": "Не верный логин или пароль" }
Авторизация по sms-коду делается двумя запросами:
1) /api/users/signInByPhone - пользователю отсылается sms-код по номеру телефона. Его нужно ввести в течении 10 мин.
2) /api/users/signInByPhoneConfirmCode - проверяется введенный пользователем код, если верен, то возвращается авторизованный покупатель, userKey, userId
Пример запроса
{ "phone": "7(912)3456789", // обяз., телефон "signUp": true // не обяз. параметр, передается, если нужно зарегистрировать покупателя. По умолчанию false "addHash": true // не обяз. параметр, добавляет хеш приложения для автоматического подтверждения смс-кода. По умолчанию false }
Пример ответа
{ "isCodeSended": true }
Пример ответа с ошибкой
{ "status": "error", "errors": "Пользователь с телефоном 7(912)3456789 не зарегистрирован" }
Пример запроса
{ "phone": "7(912)3456789", // обяз., телефон "code": "1234", // обяз., проверочный код "signUp": true // не обяз. параметр, передается, если нужно зарегистрировать покупателя. По умолчанию false }
Пример ответа
{ "userKey": "userkey", "userId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "customer": { "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "email": "admin", "phone": 79123456789, "firstName": "Имя", "lastName": "Фамилия", "patronymic": "", "organization": "", "subscribedForNews": false, "birthday": null, "adminComment": "", "managerId": null, "groupId": 1, "group": { "id": 1, "name": "Обычный покупатель", "discountPercent": 0.0 }, "customerType": "PhysicalEntity", "contacts": [ { "contactId": "00000000-0000-0000-0000-000000000000", "name": "Ivanov Ivan", "country": "Россия", "city": "Москва", "district": "", "region": "Москва", "zip":"", "street": "Ленина", "house": "1", "apartment": "1", "structure": "", "entrance": "", "floor": "", "dadataJson": null, "isMain": true }, { "contactId": "00000000-0000-0000-0000-000000000001", "name": "Ivanov2 Ivan2", "country": "Россия", "city": "Казань", "district": "", "region": "", "zip": "", "street": "Лениная", "house": "5", "apartment": "234", "structure": "", "entrance": "", "floor": "", "dadataJson": null, "isMain" : false }, ], "fields": [ { "id": 1, "name": "Test", "value": null, "customerType": "All", "fieldAssignment": "None", "required": false, "showInRegistration": true, "showInCheckout": true, "disableEditing": false }, { "id": 2, "name": "Test 2", "value": null, "value": null, "customerType": "PhysicalEntity", "fieldAssignment": "None", "required": false, "showInRegistration": true, "showInCheckout": true, "disableEditing": false } ], "fcmToken": null } }
Пример ответа с ошибкой
{ "status": "error", "errors": "Не правильный sms-код" }
Пример ответа с ошибкой
{ "status": "error", "errors": "Пользователь не авторизован" }
Пример ответа с ошибкой
{ "status": "error", "errors": "Пользователь не авторизован" }
Пример запроса
{ "addHash": true // не обяз. параметр. По умолчанию false. Добавляет в конец смс-кода хэш приложения. }
Пример ответа
{ "isCodeSended": true }
Пример ответа с ошибкой
{ "status": "error", "errors": "Не подключен модуль sms" }
Пример запроса
{ "code": "1234" }
Пример ответа
{ "confirmed": true }
Пример ответа с ошибкой
{ "status": "error", "errors": "Не правильный sms-код" }
Пример ответа
{ "cardId": 961640, // номер бонусной карты (long) "amount": 200, // кол-во бонусов (decimal) "percent": 3, // процент карты (decimal) "gradeName": "Гостевой", // название грейда (string) "gradeId": 1, // id грейда (int) "isBlocked": false // заблокирована ли карта (bool) }
Пример ответа с ошибкой
{ "status": "error", "errors": "У покупателя нет бонусной карты" }
Пример запроса
api/users/customer-fields?type=LegalEntity
Пример ответа
{ "result": true }
Пример ответа с ошибкой
{ "status": "error", "errors": "Пользователь не найден" }
Пример запроса
{ "token": "qwerty" }
Пример ответа
{ "result": true }
Пример ответа с ошибкой
{ "status": "error", "errors": "Пользователь не найден" }
Пример ответа
[ { "contactId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx", "name": "Ivanov Ivan", "country": "Россия", "city": "Москва", "district": "", "region": "Москва", "zip": "101000", "street": "Ленина", "house": "1", "apartment": "", "structure": "", "entrance": "", "floor": "", "dadataJson": null, "isMain" : true }, { "contactId": "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyy", "name": "Surname Firstname", "country": "", "city": "", "district": "", "region": "", "zip": "", "street": "", "house": "", "apartment": "", "structure": "", "entrance": "", "floor": "", "dadataJson": null, "isMain" : false } ]
Пример ответа с ошибкой
{ "status": "error", "errors": "Пользователь не авторизован" }
Пример запроса
{ "name": "Ivanov2 Ivan", "country": "Россия", "city": "Казань", "district": "", "region": "", "zip": "", "street": "", "house": "", "apartment": "", "structure": "", "entrance": "", "floor": "", "dadataJson": null, "isMain" : true }
Пример ответа
{ "contactId": "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyy" }
Пример ответа с ошибкой
{ "status": "error", "errors": "Пользователь не авторизован" }
Пример запроса
{ "name": "Ivanov2 Ivan", "country": "Россия", "city": "Самара", "district": "", "region": "", "zip": "", "street": "Ленина", "house": "2", "apartment": "123", "structure": "", "entrance": "9", "floor": "3", "dadataJson": null, "isMain" : true }
Пример ответа
{ "contactId": "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyy" }
Пример ответа с ошибкой
{ "status": "error", "errors": "Пользователь не авторизован" }
Пример ответа
{ "status": "ok" }
Пример ответа с ошибкой
{ "status": "error", "errors": "Пользователь не авторизован" }
Пример ответа
Пример ответа с ошибкой
{ "ordersSum": "1 000 руб.", "ordersCount": 1, "averageCheck": "1 000 руб.", "durationOfWorkWithClient": "3м. 3д.", "addressesCount": 1, "wishListCount": 0, "activeOrdersCount": 1, }
headers:
X-API-KEY: [API_KEY]
X-API-USER-ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
X-API-USER-KEY: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
X-API-USER-ID и X-API-USER-KEY получены после авторизации (users/signin)
Если пользователь не авторизован, то вернется пустой список заказов
Пример запроса
?loadItems=true&loadCustomer=true&loadSource=true&itemsPerPage=10
Фильтр. Все поля необязательны для заполнения
Admin.SettingsApiAuth.Index.OrdersMe.ReceiveOrder.TextOne
headers:
X-API-KEY: [API_KEY]
X-API-USER-ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
X-API-USER-KEY: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Admin.SettingsApiAuth.Index.OrdersMe.ReceiveOrder.TextTwo
Пример ответа
{ "id": 1, "number": "1", "currency": "RUB", "sum": 400.0, "preparedSum": "400 руб.", "date": "2015-10-21T12:22:14", "customerComment": "", "adminComment": "", "paymentName": "При получении (наличными или банковской картой)", "paymentCost": 0.0, "preparedPaymentCost": "0 руб.", "shippingName": "Самовывоз", "shippingCost": 0.0, "preparedShippingCost": "0 руб.", "shippingTaxName": "Без НДС", "trackNumber": "", "deliveryDate": null, "deliveryTime": "", "shippingAddress": "Россия, Москва, Москва, 101000, Ленина 1", "orderDiscount": 0.0, "orderDiscountValue": 0.0, "discountPrice": 0.0, "preparedDiscountCost": "0 руб.", "bonusCardNumber": 123, "bonusCost": 0.0, "preparedBonusCost": "0 руб.", "preparedNewBonusesForOrder": "12 бонусов", "productsCost": 400.0, "preparedProductsCost": "400 руб.", "couponPrice": 0.0, "preparedCouponPrice": "0 руб.", "lpId": null, "isPaid": false, "billingApiLink": "https://mysite.ru/checkout/apiauth?type=billing&code=xxxxx-xxxx-xxxx-xxxx&hash=xxxxxxxxxx", "paymentDate": null, "customer": { "customerId": "xxxxxxx-xxxxxx-xxxx-xxxx-xxxxxxx", "firstName": "Администратор", "lastName": "Магазина", "patronymic": "", "organization": "", "email": "admin", "phone": "74958000000", "country": "Россия", "region": "Москва", "district": "", "city": "Москва", "zip": "101000", "customField1": "", "customField2": "", "customField3": "", "street": "Ленина 1", "house": "", "apartment": "", "structure": "", "entrance": "", "floor": "" }, "status": { "id": 2, "name": "Новый", "color": "ffc73e", "isCanceled": false, "isCompleted": false, "hidden": false }, "source": { "id": 1, "name": "Корзина интернет магазина", "main": true, "type": "ShoppingCart" }, "items": [ { "offerId": 12345, "artNo": "12345", "name": "Товар", "color": "Красный", "size": null, "price": 400.0, "preparedPrice": "400 руб.", "amount": 1.0, "photoSrc": "https://mysite.ru/pictures/product/small/123_small.jpg", "unit": "", "selectedCustomOptions": [ { "id": 1, "optionId": 1, "optionText": null, "title": "Доп опция", "value": "упаковка + 100 руб." } ], "canAddToCard": true, "multiplicity": 1.0 } ], "taxes": [ { "key": "В том числе Без НДС", "value": "Без НДС" } ], "review": { "ratio": 5.0, "text": "Быстро и качественно!" } }
Пример запроса
{ "ratio": 5, "text": "Быстро и качественно!" }
Пример ответа
{ "status": "ok" }
Пример ответа с ошибкой
{ "status": "error", "errors": "Укажите текст и оценку" }
Пример ответа
{ "status": "ok" }
Пример ответа с ошибкой
{ "status": "error", "errors": "Заказ нельзя отменить" }
headers:
X-API-KEY: [API_KEY]
X-API-USER-ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
X-API-USER-KEY: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
X-API-USER-ID и X-API-USER-KEY получены после авторизации (users/signin), если пользователь не авторизован, то присылать X-API-USER-KEY не обязательно
X-API-USER-ID и X-API-USER-KEY получены после авторизации (users/signin), если пользователь не авторизован, то присылать X-API-USER-KEY не обязательно
{ "categoryId": 12345, "propertyLists": [ [1], [2,3] ], "propertyRanges": [ { "id": 4, "min": 1, "max": 100 } ] }
Фильтр. Все поля кроме categoryId не обязательны для заполнения
[ [1,2], // массив выбранных id значений [3,4,5], [7] ]
[ { "id": 397, // id свойства "min": 1.1, // минимальное значение диапазона "max": 3 // максимальное значение диапазона } ]
Пример ответа
{ "category": { "id": 5701, "externalId": "5701", "parentCategoryId": 0, "name": "Категория 1", "url": "kategoriya-1", "description": "", "briefDescription": "", "enabled": true, "hidden": false, "sortOrder": 0, "sorting": "NoSorting", "showMode": 1, "showBrandsInMenu": false, "showSubCategoriesInMenu": false, "showOnMainPage": false, "modifiedBy": "", "seoMetaInformation": { "isDefault": true, "title": "#STORE_NAME# - #CATEGORY_NAME#", "metaKeywords": "#STORE_NAME# - #CATEGORY_NAME#", "metaDescription": "#STORE_NAME# - #CATEGORY_NAME#", "h1": "#CATEGORY_NAME#" }, "pictureUrl": "https://mysite.ru/pictures/category/4492.jpg", "miniPictureUrl": null, "menuIconPictureUrl": null }, "subCategories": [ { "id": 5774, "name": "Категория 1", "url": "url-cat-1", "briefDescription": "описание", "pictureUrl": null, "miniPictureUrl": null, "sortOrder": 10, "productsCount": 0, "productsCountWithSubCategories": 10, "hasSubCategories": true } ], "pager": { "count": 3, "currentPage": 1, "totalCount": 3, "totalPageCount": 1 }, "products": [ { "productId": 1647, "offerId": 12460, "offerArtNo": "1647", "amountOffer": 1, "urlPath": "vash-tovar", "name": "Рубашка 1234", "briefDescription": "", "artNo": "1647", "multiplicity": 0, "amount": 1, "minAmount": 0, "maxAmount": 0, "allowPreorder": false, "recomended": false, "sales": false, "bestseller": false, "newProduct": false, "favorite": false, "gifts": false, "enabled": true, "colors": [ { "id": 7, "name": "Белый", "code": "#ffffff", "photoSrc": null }, { "id": 5, "name": "Голубой", "code": "#04b9dd", "photoSrc": null }, { "id": 6, "name": "Желтый", "code": "#fff200", "photoSrc": null }, { "id": 3, "name": "Зеленый", "code": "#00FF00", "photoSrc": null } ], "colorId": 7, "sizeId": 0, "ratio": 0, "manualRatio": null, "commentsCount": 0, "price": 354, "priceWithDiscount": 319, "discount": { "percent": 10, "amount": 0, "type": 0 }, "currencyValue": 1, "preparedPrice": "319 руб.", "preparedOldPrice": "354 руб.", "addToCartFromList": false, "photoSmall": "https://mysite.ru/pictures/product/small/13484_small.jpg", "photoMiddle": "https://mysite.ru/pictures/product/middle/13484_middle.jpg", "photos": [ { "smallSrc": "https://mysite.ru/pictures/product/small/4473_small.jpg", "middleSrc": "https://mysite.ru/pictures/product/middle/4473_middle.jpg", "bigSrc": "https://mysite.ru/pictures/product/big/4473_big.jpg", "colorId": null, "main": true } ], "markers": [ { "title": "black friday", "colorBackground": "#010101", "colorText": "#ffffff", "url": "https://mysite.ru/", "openInNewTab": true, "description": "Описание", "sortOrder": 10 }, { "title": "Название маркера", "colorBackground": "#ff0000", "colorText": "#ffffff", "url": null, "openInNewTab": true, "description": null, "sortOrder": 20 } ], "priceRuleAmountList": [ { "amount": "2 - 5", "price": "99 руб." }, { "amount": "6 - 9", "price": "55 руб." } ] } ] }
Пример ответа с ошибкой
{ "status": "error", "errors": "Категория не найдена" }
Фильтр. Все поля необязательны для заполнения
Пример ответа
{ "categories": [ { "id": 5719, "name": "Test 123", "url": "test-123", "briefDescription": null, "pictureUrl": null, "miniPictureUrl": "https://mysite.ru/pictures/category/small/4537.jpg", "sortOrder": 10, "hasSubCategories": false, "products": [ { "productId": 1699, "offerId": 12534, "offerArtNo": "13657-2", "amountOffer": 1, "urlPath": "new-good-test", "name": "New good test", "briefDescription": "Краткое описание", "artNo": "1699", "multiplicity": 1, "amount": 1, "minAmount": 0, "maxAmount": null, "allowPreorder": false, "recomended": false, "sales": false, "bestseller": false, "newProduct": false, "favorite": false, "gifts": false, "enabled": true, "colors": [ { "id": 7, "name": "Белый", "code": "#ffffff", "photoSrc": null }, { "id": 5, "name": "Голубой", "code": "#04b9dd", "photoSrc": null } ], "colorId": 5, "sizeId": null, "ratio": null, "manualRatio": null, "commentsCount": 0, "price": 100, "priceWithDiscount": 100, "discount": { "percent": 0, "amount": 0, "type": "Amount" }, "currencyValue": 1, "preparedPrice": "от 100 руб.", "preparedOldPrice": "100 руб.", "addToCartFromList": true, "photoSmall": "https://mysite.ru/pictures/product/small/4538_small.jpg", "photoMiddle": "https://mysite.ru/pictures/product/middle/4538_middle.jpg", "photos": [ { "smallSrc": "https://mysite.ru/pictures/product/small/4538_small.jpg", "middleSrc": "https://mysite.ru/pictures/product/middle/4538_middle.jpg", "bigSrc": "https://mysite.ru/pictures/product/big/4538_big.jpg", "colorId": 5, "main": true }, { "smallSrc": "https://mysite.ru/pictures/product/small/4542_small.jpg", "middleSrc": "https://mysite.ru/pictures/product/middle/4542_middle.jpg", "bigSrc": "https://mysite.ru/pictures/product/big/4542_big.jpg", "colorId": 7, "main": false } ], "markers": null, "priceRuleAmountList": null } ], "productsTotalCount": 10, "productsTotalPageCount": 2 } ] }
Пример запроса
{ "categoryId": 12345, "propertyLists": [ [1], [2,3] ], "propertyRanges": [ { "id": 4, "min": 1, "max": 100 } ] }
Фильтр
[ [1,2], // массив выбранных id значений [3,4,5], [7] ]
[ { "id": 397, // id свойства "min": 1.1, // минимальное значение диапазона "max": 3 // максимальное значение диапазона } ]
Пример ответа
[ { "expanded": true, "type": "price", "title": "Цена", "subtitle": " руб.", "control": "range", "description": null, "values": [ { "min": 1, "max": 1000, "currentMin": 90, "currentMax": 430, "step": 10, "decimalPlaces": 3 } ] }, { "expanded": true, "type": "color", "title": "Цвет", "subtitle": "", "control": "color", "description": null, "values": [ { "colorName": "Белый", "colorCode": "#ffffff", "selected": false, "text": "Белый", "id": 7, "available": true, "imageHeight": 18, "imageWidth": 18, "photoName": "", "imageSrc": "" }, { "colorName": "Зеленый", "colorCode": " ", "selected": false, "text": "Зеленый", "id": 3, "available": true, "imageHeight": 18, "imageWidth": 18, "photoName": "123.jpg", "imageSrc": "https://mysite.ru/pictures/color/catalog/123.jpg" } ] }, { "expanded": true, "type": "size", "title": "Размер", "subtitle": "", "control": "checkbox", "description": null, "values": [ { "id": "1", "text": "S", "selected": false, "available": true }, { "id": "2", "text": "M", "selected": false, "available": true } ] }, { "expanded": true, "type": "prop", "title": "Вид", "subtitle": "", "control": "checkbox", "description": "", "values": [ { "id": "5565", "text": "Брошь", "selected": true, "available": true }, { "id": "5641", "text": "Зажим", "selected": true, "available": true } ] }, { "expanded": true, "type": "prop", "title": "Материал", "subtitle": "", "control": "checkbox", "description": "", "values": [ { "id": "5720", "text": "Картон", "selected": true, "available": true } ] }, { "expanded": true, "type": "prop", "title": "Номер шара", "subtitle": "", "control": "range", "description": "", "values": [ { "min": 1, "max": 100, "currentMin": 1.1, "currentMax": 3, "step": 0.1, "decimalPlaces": 1, "id": 397 } ] } ]
Пример ответа с ошибкой
{ "status": "error", "errors": "Категория не найдена" }
Пример запроса
{ "categoryId": 12345, "propertyLists": [ [1], [2,3] ], "propertyRanges": [ { "id": 4, "min": 1, "max": 100 } ] }
Пример ответа
{ "itemsCount": 3 }
Пример ответа с ошибкой
{ "status": "error", "errors": "Категория не найдена" }
Пример запроса
{ "query": "Красное платье", "propertyLists": [ [1], [2,3] ], "propertyRanges": [ { "id": 4, "min": 1, "max": 100 } ] }
Фильтр. Все поля кроме query не обязательны для заполнения
[ [1,2], // массив выбранных id значений [3,4,5], [7] ]
[ { "id": 397, // id свойства "min": 1.1, // минимальное значение диапазона "max": 3 // максимальное значение диапазона } ]
Пример ответа
{ "pager": { "count": 3, "currentPage": 1, "totalCount": 3, "totalPageCount": 1 }, "products": [ { "productId": 1647, "offerId": 12460, "offerArtNo": "1647", "amountOffer": 1, "urlPath": "red-dress", "name": "Красное платье", "briefDescription": "", "artNo": "1647", "multiplicity": 0, "amount": 1, "minAmount": 0, "maxAmount": 0, "allowPreorder": false, "recomended": false, "sales": false, "bestseller": false, "newProduct": false, "favorite": false, "gifts": false, "enabled": true, "colors": [ { "id": 7, "name": "Красный", "code": "#ffffff", "photoSrc": null }, { "id": 5, "name": "Голубой", "code": "#04b9dd", "photoSrc": null }, { "id": 6, "name": "Желтый", "code": "#fff200", "photoSrc": null }, { "id": 3, "name": "Зеленый", "code": "#00FF00", "photoSrc": null } ], "colorId": 7, "sizeId": 0, "ratio": 0, "manualRatio": null, "commentsCount": 0, "price": 354, "priceWithDiscount": 319, "discount": { "percent": 10, "amount": 0, "type": 0 }, "currencyValue": 1, "preparedPrice": "319 руб.", "preparedOldPrice": "354 руб.", "addToCartFromList": false, "photoSmall": "https://mysite.ru/pictures/product/small/12345_small.jpg", "photoMiddle": "https://mysite.ru/pictures/product/middle/12345_middle.jpg", "photos": [ { "smallSrc": "https://mysite.ru/pictures/product/small/12345_small.jpg", "middleSrc": "https://mysite.ru/pictures/product/middle/12345_middle.jpg", "bigSrc": "https://mysite.ru/pictures/product/big/12345_big.jpg", "colorId": null, "main": true } ], "markers": [ { "title": "black friday", "colorBackground": "#010101", "colorText": "#ffffff", "url": "https://mysite.ru/", "openInNewTab": true, "description": "Описание", "sortOrder": 10 }, { "title": "Название маркера", "colorBackground": "#ff0000", "colorText": "#ffffff", "url": null, "openInNewTab": true, "description": null, "sortOrder": 20 } ] } ], "categories": [ { "id": 1, "externalId": "1", "parentCategoryId": 0, "name": "Платья", "url": "dresses", "description": "", "briefDescription": "", "enabled": true, "hidden": false, "sortOrder": 40, "sorting": "NoSorting", "showMode": 1, "showBrandsInMenu": false, "showSubCategoriesInMenu": false, "showOnMainPage": false, "modifiedBy": null, "seoMetaInformation": { "isDefault": true, "title": "#STORE_NAME# - #CATEGORY_NAME#", "metaKeywords": "#STORE_NAME# - #CATEGORY_NAME#", "metaDescription": "#STORE_NAME# - #CATEGORY_NAME#", "h1": "#CATEGORY_NAME#" }, "pictureUrl": null, "miniPictureUrl": null, "menuIconPictureUrl": null } ] }
Пример ответа с ошибкой
{ "status": "error", "errors": "Укажите поисковый запрос" }
Пример запроса
{ "query": "Красное платье", "propertyLists": [ [1], [2,3] ], "propertyRanges": [ { "id": 4, "min": 1, "max": 100 } ] }
Фильтр. Все поля кроме query не обязательны для заполнения
[ [1,2], // массив выбранных id значений [3,4,5], [7] ]
[ { "id": 397, // id свойства "min": 1.1, // минимальное значение диапазона "max": 3 // максимальное значение диапазона } ]
Пример ответа
[ { "expanded": true, "type": "searchQuery", "title": "Поисковый запрос", "subtitle": "", "control": "input", "description": null, "values": [ { "id": "searchInputFilter", "text": "Красное платье", "selected": false, "available": false } ] }, { "expanded": true, "type": "categoryId", "title": "Выберите категорию", "subtitle": null, "control": "selectSearch", "description": null, "values": [ { "id": "1", "text": "Категория 1", "selected": false, "available": false }, { "id": "2", "text": "Категория 2", "selected": false, "available": false } ] }, { "expanded": true, "type": "price", "title": "Цена", "subtitle": " руб.", "control": "range", "description": null, "values": [ { "min": 1, "max": 1000, "currentMin": 90, "currentMax": 430, "step": 10, "decimalPlaces": 3 } ] }, { "expanded": true, "type": "color", "title": "Цвет", "subtitle": "", "control": "color", "description": null, "values": [ { "colorName": "Белый", "colorCode": "#ffffff", "selected": false, "text": "Белый", "id": 7, "available": true, "imageHeight": 18, "imageWidth": 18, "photoName": "", "imageSrc": "" }, { "colorName": "Зеленый", "colorCode": " ", "selected": false, "text": "Зеленый", "id": 3, "available": true, "imageHeight": 18, "imageWidth": 18, "photoName": "123.jpg", "imageSrc": "https://mysite.ru/pictures/color/catalog/123.jpg" } ] }, { "expanded": true, "type": "size", "title": "Размер", "subtitle": "", "control": "checkbox", "description": null, "values": [ { "id": "1", "text": "S", "selected": false, "available": true }, { "id": "2", "text": "M", "selected": false, "available": true } ] }, { "expanded": true, "type": "prop", "title": "Вид", "subtitle": "", "control": "checkbox", "description": "", "values": [ { "id": "5565", "text": "Брошь", "selected": true, "available": true }, { "id": "5641", "text": "Зажим", "selected": true, "available": true } ] }, { "expanded": true, "type": "prop", "title": "Материал", "subtitle": "", "control": "checkbox", "description": "", "values": [ { "id": "5720", "text": "Картон", "selected": true, "available": true } ] }, { "expanded": true, "type": "prop", "title": "Номер шара", "subtitle": "", "control": "range", "description": "", "values": [ { "min": 1, "max": 100, "currentMin": 1.1, "currentMax": 3, "step": 0.1, "decimalPlaces": 1, "id": 397 } ] } ]
Пример ответа с ошибкой
{ "status": "error", "errors": "Укажите поисковый запрос" }
Пример запроса
{ "query": "Красное платье", "propertyLists": [ [1], [2,3] ], "propertyRanges": [ { "id": 4, "min": 1, "max": 100 } ] }
Пример ответа
{ "itemsCount": 3 }
Пример ответа с ошибкой
{ "status": "error", "errors": "Категория не найдена" }
Пример запроса
{ "query": "Красное платье", "warehouseIds": [1, 2] // список складов. не обяз. параметр }
Пример ответа
{ "products": [ { "productId": 1647, "offerId": 12460, "offerArtNo": "1647", "amountOffer": 1, "urlPath": "red-dress", "name": "Красное платье", "briefDescription": "", "artNo": "1647", "multiplicity": 0, "amount": 1, "minAmount": 0, "maxAmount": 0, "allowPreorder": false, "recomended": false, "sales": false, "bestseller": false, "new": false, "gifts": false, "enabled": true, "colors": [ { "id": 7, "name": "Красный", "code": "#ffffff", "photoSrc": null }, { "id": 5, "name": "Голубой", "code": "#04b9dd", "photoSrc": null }, { "id": 6, "name": "Желтый", "code": "#fff200", "photoSrc": null }, { "id": 3, "name": "Зеленый", "code": "#00FF00", "photoSrc": null } ], "colorId": 7, "sizeId": 0, "ratio": 0, "manualRatio": null, "commentsCount": 0, "price": 354, "priceWithDiscount": 319, "discount": { "percent": 10, "amount": 0, "type": 0 }, "currencyValue": 1, "preparedPrice": "319 руб.", "preparedOldPrice": "354 руб.", "addToCartFromList": false, "photoSmall": "https://mysite.ru/pictures/product/small/12345_small.jpg", "photoMiddle": "https://mysite.ru/pictures/product/middle/12345_middle.jpg", "photos": [ { "smallSrc": "https://mysite.ru/pictures/product/small/12345_small.jpg", "middleSrc": "https://mysite.ru/pictures/product/middle/12345_middle.jpg", "bigSrc": "https://mysite.ru/pictures/product/big/12345_big.jpg", "colorId": null, "main": true } ], "markers": [ { "title": "black friday", "colorBackground": "#010101", "colorText": "#ffffff", "url": "https://mysite.ru/", "openInNewTab": true, "description": "Описание", "sortOrder": 10 }, { "title": "Название маркера", "colorBackground": "#ff0000", "colorText": "#ffffff", "url": null, "openInNewTab": true, "description": null, "sortOrder": 20 } ] } ], "categories": [ { "id": 1, "externalId": "1", "parentCategoryId": 5702, "name": "Платья", "url": "dresses", "description": "", "briefDescription": "", "enabled": true, "hidden": false, "sortOrder": 0, "sorting": "NoSorting", "showMode": 1, "showBrandsInMenu": false, "showSubCategoriesInMenu": false, "showOnMainPage": false, "modifiedBy": null, "seoMetaInformation": { "isDefault": true, "title": "#STORE_NAME# - #CATEGORY_NAME#", "metaKeywords": "#STORE_NAME# - #CATEGORY_NAME#", "metaDescription": "#STORE_NAME# - #CATEGORY_NAME#", "h1": "#CATEGORY_NAME#" }, "pictureUrl": null, "miniPictureUrl": null, "menuIconPictureUrl": null } ] }
Пример ответа с ошибкой
{ "status": "error", "errors": "Укажите поисковый запрос" }
Пример запроса
?colorId=1&sizeId=2
Параметры
Пример ответа
{ "productId": 13653, "artNo": "13653", "name": "Новый товар", "urlPath": "novyi-tovar", "briefDescription": "Краткое описание", "description": "Описание", "enabled": true, "categoryEnabled": true, "hidden": false, "ratio": null, "isAdult": false, "recomended": false, "newProduct": false, "bestseller": false, "sales": false, "favorite": false, "gifts": false, "giftProducts": null, "allowPreOrder": false, "minAmount": 1, "maxAmount": 2147483650, "multiplicity": 1, "unit": "", "commentsCount": 0, "sizeColorPicker": { "sizes": [ { "id": 1, "name": "S" }, { "id": 2, "name": "M" } ], "selectedSizeId": null, "colors": [ { "id": 7, "name": "Белый", "code": "#ffffff", "photoSrc": null }, { "id": 5, "name": "Голубой", "code": "#04b9dd", "photoSrc": null }, { "id": 3, "name": "Зеленый", "code": null, "photoSrc": "https://mysite.ru/pictures/color/details/12345.jpg" }, { "id": 2, "name": "Красный", "code": "#FF0000", "photoSrc": null } ], "selectedColorId": null, "colorIconHeight": 18, "colorIconWidth": 18, "sizesHeader": "Размер", "colorsHeader": "Цвет" }, "discount": { "percent": 0, "amount": 10, "type": "Amount" }, "offers": [ { "offerId": 24473, "artNo": "13653", "isMain": true, "colorId": 7, "sizeId": 1, "oldPrice": 1100, "preparedOldPrice": "1 100 руб.", "bonuses": "+30 бонусов на бонусную карту", "amount": 1, "price": 1090, "preparedPrice": "1 090 руб.", "isAvailable": true, "availableText": "Есть в наличии", "weight": 0, "height": 0, "length": 0, "width": 0, "addToCart": true }, { "offerId": 24474, "artNo": "13653-2", "isMain": false, "colorId": 5, "sizeId": 1, "oldPrice": 1100, "preparedOldPrice": "1 100 руб.", "price": 1090, "preparedPrice": "1 090 руб.", "bonuses": "+30 бонусов на бонусную карту", "amount": 1, "isAvailable": true, "availableText": "Есть в наличии", "weight": 0, "height": 0, "length": 0, "width": 0, "addToCart": true }, { "offerId": 24475, "artNo": "13653-3", "isMain": false, "colorId": 2, "sizeId": 1, "oldPrice": 1100, "preparedOldPrice": "1 100 руб.", "price": 1090, "preparedPrice": "1 090 руб.", "bonuses": "+30 бонусов на бонусную карту", "amount": 1, "isAvailable": true, "availableText": "Есть в наличии", "weight": 0, "height": 0, "length": 0, "width": 0, "addToCart": true }, { "offerId": 24476, "artNo": "13653-4", "isMain": false, "colorId": 5, "sizeId": 2, "oldPrice": 1100, "preparedOldPrice": "1 100 руб.", "price": 1090, "preparedPrice": "1 090 руб.", "bonuses": "+30 бонусов на бонусную карту", "amount": 1, "isAvailable": true, "availableText": "Есть в наличии", "weight": 0, "height": 0, "length": 0, "width": 0, "addToCart": true } ], "customOptions": [ { "id": 275, "title": "Доп опция 1", "isRequired": true, "type": "DropDownList", "sortOrder": 0, "options": [ { "id": 1798, "name": "Список 1", "title": "Список 1 +1 000 руб." }, { "id": 1799, "name": "Список 2", "title": "Список 2 +2 000 руб." }, { "id": 1800, "name": "Список 3", "title": "Список 3 +3 000 руб." } ], "selectedOptionId": 1798 }, { "id": 276, "title": "Доп опция 2", "isRequired": false, "type": "DropDownList", "sortOrder": 0, "options": [ { "id": 1801, "name": "Процент 10", "title": "Процент 10 +10%" }, { "id": 1802, "name": "Процент 20", "title": "Процент 20 +20%" } ], "selectedOptionId": 0 }, { "id": 277, "title": "Доп опция 3", "isRequired": false, "type": "RadioButton", "sortOrder": 0, "options": [ { "id": 1803, "name": "Галочка 1", "title": "Галочка 1 +10 руб." }, { "id": 1804, "name": "Галочка 2", "title": "Галочка 2 +20 руб." } ], "selectedOptionId": 0 }, { "id": 278, "title": "Доп опция 4", "isRequired": false, "type": "CheckBox", "sortOrder": 0, "options": [ { "id": 1805, "name": "", "title": " +111 руб." } ], "selectedOptionId": 0 }, { "id": 279, "title": "Text field", "isRequired": false, "type": "TextBoxSingleLine", "sortOrder": 0, "options": [ { "id": 1806, "name": " ", "title": "" } ], "selectedOptionId": 0 }, { "id": 280, "title": "Multiple text field", "isRequired": false, "type": "TextBoxMultiLine", "sortOrder": 0, "options": [ { "id": 1807, "name": " ", "title": "" } ], "selectedOptionId": 0 } ], "brand": null, "currency": { "name": "Рубли", "symbol": " руб.", "rate": 1, "iso3": "RUB", "isCodeBefore": false, "roundNumbers": 1, "enablePriceRounding": true }, "photos": [ { "smallSrc": "https://mysite.ru/pictures/product/small/12345_small.jpg", "middleSrc": "https://mysite.ru/pictures/product/middle/12345_middle.jpg", "bigSrc": "https://mysite.ru/pictures/product/big/12345_big.jpg", "colorId": null, "main": true }, { "smallSrc": "https://mysite.ru/pictures/product/small/12345_small.jpg", "middleSrc": "https://mysite.ru/pictures/product/middle/12345_middle.jpg", "bigSrc": "https://mysite.ru/pictures/product/big/12345_big.jpg", "colorId": null, "main": false } ], "showPhotos360": false, "photos360": null, "videos": [], "markers": [ { "title": "black friday", "colorBackground": "#010101", "colorText": "#ffffff", "url": "https://mysite.ru/", "openInNewTab": true, "description": "Описание", "sortOrder": 10 }, { "title": "Название маркера", "colorBackground": "#ff0000", "colorText": "#ffffff", "url": null, "openInNewTab": true, "description": null, "sortOrder": 20 } ], "sizeChart": { "id": 1, "linkText": "Таблица размеров", "modalHeader": "Заголовок окна", "type": "Text", // Text, Link "text": "html or link" } }
Пример ответа с ошибкой
{ "status": "error", "errors": "Товар не найден" }
Пример запроса
{ "offerId": 12833, "amount": 1, "options": [ { "id": 341, "optionItems": [ { "optionId": 2001, "amount": 1 } ] }, { "id": 347, "optionItems": [ { "optionId": 2003 } ] }, { "id": 349, "optionItems": [ { "optionId": 2007, "amount": 1 }, { "optionId": 2008, "amount": 1 } ] }, { "id": 351, "optionItems": [ { "optionId": 2011, "optionText": "hello!" } ] }, { "id": 352, "optionItems": [ { "optionId": 2012 }, { "optionId": 2013 } ] } ] }
Пример ответа
{ "oldPrice": 3100.0, "preparedOldPrice": "3 100 руб.", "price": 3090.0, "preparedPrice": "3 090 руб." }
Пример ответа с ошибкой
{ "status": "error", "errors": "Не указано кол-во" }
Пример запроса
/api/products/{id}/properties
/api/products/{id}/properties?type=inDetails
/api/products/{id}/properties?type=inBriefDescription
Тип свойств. Не обяз. параметр, по умолчанию inDetails.
Значения: inDetails - свойства в карточке товара. inBriefDescription - свойства в брифе.
Пример запроса
/api/products/{id}/properties
/api/products/{id}/properties?type=inDetails
Пример ответа
[ { "groupName": "", // название группы свойств "properties": [ // список свойств { "name": "Вид", "value": "Брошь, Зажим" }, { "name": "Материал", "value": "Картон" } ] } ]
Пример запроса
/api/products/{id}/properties?type=inBriefDescription
Пример ответа
[ { "name": "Св-во 2 в кратком описании", "value": "Тест 123, Тест 321" }, { "name": "Свойство в кратком описании", "value": "Значение 1, Значение 2, Значение 3" } ]
Пример ответа с ошибкой
{ "status": "error", "errors": "Товар не найден" }
Пример ответа
[ { "reviewId": 269, "parentId": 0, "customerName": "Оксана", "text": "Отличный костюм.", "preparedDate": "17 июня 2022", "childrenCount": 0, "hasChildren": false, "likesCount": 0, "dislikesCount": 0, "ratioByLikes": 0, "photos": [ { "smallSrc": "https://mysite.ru/pictures/review/12345.jpg", "bigSrc": "https://mysite.ru/pictures/review/big/12345.jpg" } ] }, { "reviewId": 268, "parentId": 0, "customerName": "Иван", "text": "Лучший товар!", "preparedDate": "17 июня 2022", "childrenCount": 0, "hasChildren": false, "likesCount": 0, "dislikesCount": 0, "ratioByLikes": 0, "photos": [] } ]
Пример ответа с ошибкой
{ "status": "error", "errors": "Товар не найден" }
Пример запроса
{ "rating": 5, "parentId": 0, "name": "test", "email": "some@mail.com", "text": "comment text" }
rating - рейтинг от 1 до 5, не обяз. поле. Если пользователь уже голосовал, то оценка не зачтется.
parentId - id родительского комментария, если не указан или 0, то добавится корневой коммментарий
files - список файлов изображений, если в магазине разрешено загружать файлы в комментариях
Пример ответа с ошибкой
{ "status": "error", "errors": "Заполните обязательные поля" }
Пример запроса
?type=upsell
Возможные значения:
сrosssell - С этим товаром покупают
upsell - Похожие товары
Пример ответа с ошибкой
{ "status": "error", "errors": "Товар не найден" }
Пример ответа
[ { "name": "Товар", "mainProductsCount": 2, "photoSmall": "https://mysite.ru/pictures/product/small/12345_small.jpg", "photoMiddle": "https://mysite.ru/pictures/product/middle/12345_middle.jpg", "color": "Голубой", "size": "M", "colorHeader": "Цвет", "sizeHeader": "Размер" } ]
Пример ответа с ошибкой
{ "status": "error", "errors": "Товар не найден" }
Пример запроса
/api/products/{id}/stocks
/api/products/{id}/stocks?offerId={offerId}
Пример ответа
[ { "offerId": 1234, "stocks": [ { "name": "Основной", "type": "Склады", "address": "Москва, ул. Барклая, 8, Москва, 121087", "timeOfWorkList": [ "Пн, Вт, Ср, Чт, Пт: 08:00 - 20:00", "Сб, Вс: 10:00 - 18:00" ], "longitude": 37.50236, "latitude": 55.7419434, "addressComment": "", "stock": 10, "stockColor": null }, { "name": "Склад 2", "type": "Склады", "address": "Казань, ул. Ленина, 1, кв 2", "timeOfWorkList": [ "Пн, Вт, Ср, Чт, Пт: 09:00 - 18:00", "Сб, Вс: 09:00 - 18:00" ], "longitude": null, "latitude": null, "addressComment": "", "stock": 5, "stockColor": null } ] } ]
Пример ответа с ошибкой
{ "status": "error", "errors": "Товар не найден" }
Пример запроса
/api/products/{id}/price-rule-amount-list
/api/products/{id}/price-rule-amount-list?offerId={offerId}
Пример ответа
{ "items": [ { "amount": "2 - 4", "price": "500 руб." }, { "amount": "5 - 9", "price": "300 руб." }, { "amount": "10 и более", "price": "100 руб." }, ] }
Пример ответа с ошибкой
{ "status": "error", "errors": "Товар не найден" }
Пример запроса
{ "items": [ { "index": 1, "offerId": 24473, "amount": 1, "customOptions": [ { "id": 275, "optionId": 1808, "optionAmount": 1 }, { "id": 276, "optionId": 1811, "optionAmount": 1 }, { "id": 276, "optionId": 1814, "optionAmount": 1 }, { "id": 277, "optionId": 1815 }, { "id": 278, "optionId": 1816, "optionText": "Some text" }, { "id": 279, "optionId": 1817, "optionText": "Some multiple text" } ] }, { "index": 2, "offerId": 1234, "amount": 1 } ], "addItemsToCurrentCart": false }
Пример ответа
{ "validationError": null, "items": [ { "index": 1, "validationError": null, "offerId": 24473, "name": "Новый товар 2", "artNo": "13653", "link": "https://mysite.ru/products/novyi-tovar", "photoSmall": "https://mysite.ru/pictures/product/small/13489_small.jpg", "photoMiddle": "https://mysite.ru/pictures/product/middle/13489_middle.jpg", "color": "Белый", "size": "S", "selectedCustomOptions": [ { "title": "Доп опция 1", "value": "Список 1 + 1 000 руб." }, { "title": "Доп опция 2", "value": "Процент 10 10 %" }, { "title": "Доп опция 3", "value": "Галочка 2 + 20 руб." }, { "title": "Доп опция 4", "value": "+ 111 руб." }, { "title": "Text field", "value": "Some text " }, { "title": "Multiple text field", "value": "Some multiple text " } ], "preparedOldPrice": "1 241 руб.", "preparedPrice": "1 231 руб.", "discount": { "percent": 0.0, "amount": 10.0, "type": "Amount" }, "preparedDiscount": "10 руб.", "amount": 1.0, "preparedCost": "1 231 руб.", "availableAmount": 1.0, "minAmount": 1.0, "maxAmount": 2.14748365E+09, "canChangeAmount": true, "multiplicity": 1.0, "isGift": false, "unit": null }, { "index": 2, "validationError": null, "offerId": 24464, "name": "Рубашка", "artNo": "1647-2", "link": "https://mysite.ru/products/vash-tovar", "photoSmall": "https://mysite.ru/pictures/product/small/13488_small.jpg", "photoMiddle": "https://mysite.ru/pictures/product/middle/13488_middle.jpg", "color": "Желтый", "size": null, "selectedCustomOptions": null, "preparedOldPrice": "354 руб.", "preparedPrice": "319 руб.", "discount": { "percent": 10.0, "amount": 0.0, "type": "Percent" }, "preparedDiscount": "10%", "amount": 1.0, "preparedCost": "319 руб.", "availableAmount": 1.0, "minAmount": 1.0, "maxAmount": 2.14748365E+09, "canChangeAmount": true, "multiplicity": 1.0, "isGift": false, "unit": null } ], "count": "2 товара", "preparedTotalProductsPrice": "1 550 руб.", "preparedTotalPrice": "1 550 руб.", "preparedDiscountPrice": null, "bonuses": "46 бонусов", "coupon": { "code": "aqhhVuyE", "price": "0 руб.", "percent": null, "applied": false }, "showCoupon": false, "colorHeader": "Цвет", "sizeHeader": "Размер", "blocks": { "beforeBlock": "some html", "afterBlock": null, "rightBlock": null } }
Если товар не будет найден в магазине, то он не вернется в ответе по API.
Если корзина не валидна и оформление заказ невозможно в ответе в validationError будет возвращена ошибка для корзины и для кажого item.
Пример ответа с ошибкой
{ "validationError": "Заказ содержит недоступное количество товаров.", "items": [ { "validationError": "доступно 1", "offerId": 24473, "name": "Новый товар 2", "artNo": "13653", "link": "https://mysite.ru/products/novyi-tovar", "photoSmall": "https://mysite.ru/pictures/product/small/13489_small.jpg", "photoMiddle": "https://mysite.ru/pictures/product/middle/13489_middle.jpg", "color": "Белый", "size": "S", "selectedCustomOptions": [ { "title": "Доп опция 1", "value": "Список 1 + 1 000 руб." }, { "title": "Доп опция 2", "value": "Процент 10 10 %" }, { "title": "Доп опция 3", "value": "Галочка 2 + 20 руб." }, { "title": "Доп опция 4", "value": "+ 111 руб." }, { "title": "Text field", "value": "Some text " }, { "title": "Multiple text field", "value": "Some multiple text " } ], "preparedOldPrice": "1 241 руб.", "preparedPrice": "1 231 руб.", "discount": { "percent": 0.0, "amount": 10.0, "type": "Amount" }, "preparedDiscount": "10 руб.", "amount": 100.0, "preparedCost": "123 100 руб.", "availableAmount": 1.0, "minAmount": 1.0, "maxAmount": 2.14748365E+09, "canChangeAmount": true, "multiplicity": 1.0, "isGift": false, "unit": null }, { "validationError": "доступно 1", "offerId": 24464, "name": "Рубашка", "artNo": "1647-2", "link": "https://mysite.ru/products/vash-tovar", "photoSmall": "https://mysite.ru/pictures/product/small/13488_small.jpg", "photoMiddle": "https://mysite.ru/pictures/product/middle/13488_middle.jpg", "color": "Желтый", "size": null, "selectedCustomOptions": null, "preparedOldPrice": "354 руб.", "preparedPrice": "319 руб.", "discount": { "percent": 10.0, "amount": 0.0, "type": "Percent" }, "preparedDiscount": "10%", "amount": 100.0, "preparedCost": "31 900 руб.", "availableAmount": 1.0, "minAmount": 1.0, "maxAmount": 2.14748365E+09, "canChangeAmount": true, "multiplicity": 1.0, "isGift": false, "unit": null } ], "count": "200 товаров", "preparedTotalProductsPrice": "155 000 руб.", "preparedTotalPrice": "147 250 руб.", "preparedDiscountPrice": "-7 750 руб. (5%)", "bonuses": "4 418 бонусов", "coupon": null, "showCoupon": true, "colorHeader": "Цвет", "sizeHeader": "Размер", "blocks": { "beforeBlock": "some html", "afterBlock": null, "rightBlock": null } }
Пример запроса
{ "code": "CouponCode" }
Пример ответа
{ "status": "ok" }
Пример ответа с ошибкой
{ "status": "error", "errors": "Купон может быть применен только в мобильном приложении" }
Пример ответа
{ "status": "ok" }
Пример запроса
{ "items": [ { "index": 1, "offerId": 24473, "amount": 1, "customOptions": [ { "id": 275, "optionId": 1808 }, { "id": 276, "optionId": 1811 }, { "id": 277, "optionId": 1814 }, { "id": 278, "optionId": 1815 }, { "id": 279, "optionId": 1816, "optionText": "Some text" }, { "id": 280, "optionId": 1817, "optionText": "Some multiple text" } ] }, { "index": 2, "offerId": 1234, "amount": 1 } ], "address": { "country": "Россия", "region": "Москва", "city": "Москва" }, "shippingId": "12345", "shippingPointId": 123, "contactId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx" }
Пример ответа
{ "url": "https://mysite.ru/checkout/apiauth" }
Запросы к /api/checkout и к url, который придет в ответе, необходимо делать с заголовками X-API-USER-ID и X-API-USER-KEY
Если оформление заказа невозможно, то вернется ошибка.
Пример ответа с ошибкой
{ "status": "error", "errors": "Заказ содержит недоступное количество товаров." }
{ "customer": { "firstName": "Администратор", "lastName": "Магазина", "email": "admin", "phone": "+7 495 800 20 00 " }, "settings": { "isShowUserAgreementText": false, "userAgreementText": "Я подтверждаю свою дееспособность, даю согласие на обработку своих персональных данных.", "agreementDefaultChecked": false, "preOrderText": "После получения Вашей заявки, наши менеджеры сообщат Вам сроки поставки и точную цену товара. В письмо также будет ссылка на оформление заказа, которая будет действовать в течение 24 часов. С ее помощью Вы сможете оплатить Заказ, тем самым завершив процедуру оформления." } }
Пример запроса
{ "customer": { "firstName": "Ivan", "lastName": "Ivanov", "email": "ivan@mail.com", "phone": "7 (912) 345 67 89", "comment": "comment" }, "offer": { "offerId": 1234, "amount": 5, "customOptions": [ { "id": 1, "optionId": 2 } ] }, "IsAgree": true }
Пример ответа
{ "status": "ok", "successText": "Благодарим за Вашу заявку! После её обработки наш менеджер сразу же свяжется с Вами и сообщит о возможности и сроках поступления данной позиции в наш интернет-магазин." }
Пример ответа с ошибкой
{ "status": "error", "errors": "Заполните обязательные поля покупателя" }
Пример запроса
api/deliveries/types?country=Россия®ion=Москва&city=Москва
Фильтр. Все поля необязательны для заполнения
Пример ответа
[ { "id": 1, "type": "SelfDelivery", "name": "Самовывоз", "description": "Самовывоз м. Чеховская", "zeroCostText": "Бесплатно", "icon": "https://mysite.ru/pictures/shipping/selfdelivery.svg", "warehouseIds": [1], "address": null }, { "id": 2, "type": "DeliveryByZones", "name": "Доставка по зонам", "description": null, "zeroCostText": "Бесплатно", "icon": "https://mysite.ru/pictures/shipping/default.svg", "warehouseIds": [], "address": "Город Цветочный" }, { "id": 3, "type": "FixedRate", "name": "Курьером", "description": "Курьером по Москве и области", "zeroCostText": "Бесплатно", "icon": "https://mysite.ru/pictures/shipping/default.svg", "warehouseIds": [1, 2], "address": null } ]
Пример запроса
{ "country": "Россия", "region": "Москва", "city": "Москва", "district": null, "zip": null, "street": "Климентовский переулок", "house": "44", "structure": "3", }
Пример ответа
{ "hasDelivery": true }
Пример запроса
api/deliveries/delivery-zones?country=Россия®ion=Москва&city=Москва
Фильтр. Все поля необязательны для заполнения
Пример ответа
[ { "id": 123, "zones": [ { "id": 1, "name": "Московский район", "description": "Доставка с 12:00 до 23:00", "coordinates": [ [ [ 51.88443001697882, 55.170027409759214 ], [ 51.88103052763162, 55.126082097259236 ], [ 51.865304528083364, 55.09586969491543 ], [ 51.84702142095905, 55.07939020272796 ], [ 51.8180933578397, 55.062910710540486 ], [ 51.79936524571241, 55.05879083749362 ], [ 51.76832960269783, 55.06668726083341 ], [ 51.76416237891102, 55.0677601444393 ], [ 51.760420867770364, 55.071064625945645 ], [ 51.752670554507596, 55.07887521859702 ], [ 51.745248511660876, 55.09431638160809 ], [ 51.74270770728502, 55.150286351409605 ], [ 51.74177524225291, 55.179597531524365 ], [ 51.74659720992191, 55.204617177215255 ], [ 51.76018118739361, 55.21671930429049 ], [ 51.78318467212576, 55.23869196054045 ], [ 51.801919539763446, 55.24830499764986 ], [ 51.828305395208886, 55.25517145272798 ], [ 51.84191782578625, 55.2565447437436 ], [ 51.86147844910374, 55.23869196054045 ], [ 51.87593080911186, 55.21809259530611 ], [ 51.88443001697882, 55.19474664804047 ], [ 51.88443001697882, 55.170027409759214 ] ] ], "fillColor": "#1bad03", "fillOpacity": 0.6, "strokeColor": "#1bad03", "strokeWidth": "3", "strokeOpacity": 0.9 } ] } ]
Пример запроса
{ "address": { "country": "Россия", "region": "Москва", "city": "Москва" }, "products": [ { "offerId": 12537, "amount": 1, "options": [ { "id": 332, "options": [1971] }, { "id": 333, "options": [1974] } ] } ], "inProductDetails": true }
Фильтр. Все поля необязательны для заполнения
Пример ответа
[ { "id": "1_-123", "name": "Самовывоз", "description": "Самовывоз м. Смоленская", "deliveryTime": null, "preparedPrice": "Бесплатно" }, { "id": "2_-456", "name": "Доставка по зонам", "description": null, "deliveryTime": "1-2 часа", "preparedPrice": "Бесплатно" }, { "id": "3-789", "name": "Курьером", "description": null, "deliveryTime": "в течении дня", "preparedPrice": "300 руб." } ]
Пример ответа с ошибкой
{ "status": "error", "errors": "Товар 123456 не найден" }
Пример запроса
api/deliveries/point-deliveries?country=Россия®ion=Москва&city=Москва&inhouse=true
Фильтр. Все поля необязательны для заполнения
Пример ответа
[ { "id": "123_45", "pointStringId": "123-ТЦ Самолет", "inHouse": true, "name": "м. Смоленская", "description": null, "zeroCostText": "Бесплатно", "price": 100.0, "preparedPrice": "100 руб.", "deliveryTime": "1-10 дней", "icon": "https://mysite.ru/images/shipping/selfdelivery.svg", "warehouseId": null, "coordinates": { "latitude": 10.0, "longitude": 20.0 } }, { "id": "124_67", "pointStringId": "123-ТЦ Аквамолл", "inHouse": false, "name": "м. Китай-город", "description": "Описание пункта выдачи", "zeroCostText": "Бесплатно", "price": 100.0, "preparedPrice": "100 руб.", "deliveryTime": "1-10 дней", "icon": "https://mysite.ru/images/shipping/selfdelivery.svg", "warehouseId": 1, "coordinates": { "latitude": 11.0, "longitude": 22.0 } } ]
Пример ответа
{ "countries": [ { "countryId": 171, "name": "Россия", "iso2": "RU", "cities": [ { "cityId": 490, "name": "Москва", "regionId": 41, "regionName": "Москва", "district": "", "zip": "101000", "warehouseIds": [1, 2, 3] }, { "cityId": 781, "name": "Санкт-Петербург", "regionId": 58, "regionName": "Санкт-Петербург", "district": "", "zip": "190000", "warehouseIds": [5] }, { "cityId": 38, "name": "Астрахань", "regionId": 6, "regionName": "Астраханская область", "district": "", "zip": "414000", "warehouseIds": [] }, ... ] }, { "countryId": 217, "name": "Украина", "iso2": "UA", "cities": [ { "cityId": 1118, "name": "Киев", "regionId": 85, "regionName": "Киев", "district": "", "zip": "", "warehouseIds": [] }, ... ] }, { "countryId": 21, "name": "Беларусь", "iso2": "BY", "cities": [ { "cityId": 1273, "name": "Минск", "regionId": 164, "regionName": "Минская область", "district": "", "zip": "", "warehouseIds": [] }, ... ] }, { "countryId": 83, "name": "Казахстан", "iso2": "KZ", "cities": [ { "cityId": 1321, "name": "Алматы", "regionId": 170, "regionName": "Алматинская область", "district": "", "zip": "", "warehouseIds": [] }, ... ] } ] }
Пример запроса
?city=Самара®ion=Самарская область
?zipCode=443000
Ответ
{ "id": 769, "name": "Самара", "regionId": 57, "district": "", "zip": "443000", "phone": "", "mobilePhone": "", "shippingZones": null, "shippingZonesIframe": "", "cityAddressPoints": null, "cityAddressPointsIframe": "", "warehouseIds": [1, 2] }
Пример ответа
{ "status": "error", "errors": "Город не найден" }
Пример ответа с ошибкой
{ "status": "error", "errors": "Укажите почтовый индекс или город и область" }
Пример запроса
{ "ids": [1, 2, 3], "names": ["Россия"], "displayInPopup": true }
Фильтр. Все поля необязательны для заполнения
Пример ответа
{ "countries": [ { "countryId": 171, "name": "Россия", "iso2": "RU", "iso3": "RUS", "dialCode": 7, "svgIcon": "" } ] }
Пример ответа
{ "cardId": 123, "amount": 0, "percent": 3, "gradeName": "Гостевой", "gradeId": 1, "isBlocked": false }
Пример ответа с ошибкой
{ "status": "error", "errors": "У покупателя уже есть бонусная карта" }
Пример ответа
[ { "type": "Subtraction", "amount": -50, "basis": "Заказ № 48 в магазине", "dateTime": "16.08.2024 16:06" }, { "type": "Adding", "amount": 1000, "basis": null, "dateTime": "16.08.2024 14:48" } ]
Пример ответа с ошибкой
{ "status": "error", "errors": "Бонусная карта не найдена" }
Пример ответа
[ { "productId": 1648, "offerId": 12461, "artNo": "1648", "name": "Товар", "urlPath": "tovar", "briefDescription": null, "colorId": 1, "sizeId": 1, "discount": { "percent": 10.0, "amount": 0.0, "type": "Percent" }, "oldPrice": 1000.0, "price": 900.0, "preparedOldPrice": "1 000 руб.", "preparedPrice": "900 руб.", "addToCart": true, "photo": { "smallSrc": "https://mysite.ru/pictures/product/small/123_small.jpg", "middleSrc": "https://mysite.ru/pictures/product/middle/123_middle.jpg", "bigSrc": "https://mysite.ru/pictures/product/big/123_big.jpg", "colorId": 1, "main": true }, "photos": [ { "smallSrc": "https://mysite.ru/pictures/product/small/123_small.jpg", "middleSrc": "https://mysite.ru/pictures/product/middle/123_middle.jpg", "bigSrc": "https://mysite.ru/pictures/product/big/123_big.jpg", "colorId": 1, "main": true } ], "size": { "id": 1, "name": "M" }, "color": { "id": 1, "name": "Белый", "code": "#ffffff", "photoSrc": null } } ]
Пример ответа с ошибкой
{ "status": "error", "errors": "Настройка \"Избранное\" не активна" }
Пример запроса
{ "offerId": 12345 }
Пример ответа
{ "status": "ok" }
Пример ответа с ошибкой
{ "status": "error", "errors": "Товар не найден" }
Пример запроса
{ "offerId": 12345 }
Пример ответа
{ "status": "ok" }
Пример ответа с ошибкой
{ "status": "error", "errors": "Товар не найден" }
Пример ответа
{ "isActive": true, "apiKey": "xxxxxxxx" }
Пример запроса
api/staticblocks?keys=key1,key2
Пример ответа
[ { "key": "LiveCounter", "value": null }, { "key": "OrderSuccessTop", "value": "
Пример запроса
/api/staticpages?loadText=true&showInProfile=true
Фильтр. Все поля необязательны для заполнения
Пример ответа
{ "pagination": { "count": 2, "currentPage": 1, "totalCount": 2, "totalPageCount": 1 }, "staticPages": [ { "id": 2, "title": "Заголовок 2", "icon": "", "showInProfile": false }, { "id": 1, "title": "Заголовок 1", "icon": "", "showInProfile": true } ] }
Пример ответа
{ "id": 1, "title": "Заголовок", "text": "Текст", "icon": "", "showInProfile": true }
Пример ответа с ошибкой
{ "status": "error", "errors": "Страница не найдена" }
Пример запроса
/api/modules/bookingtables/block
Пример запроса
{ "barcode": "1001001" }
Пример ответа
{ "product": { "productId": 1, "artNo": "123", "name": "Product name", "urlPath": "product-url-path", "briefDescription": "Краткое описание", "description": "Подробное описание", "enabled": true, "categoryEnabled": true, "hidden": false, "ratio": null, "isAdult": false, "recomended": false, "newProduct": false, "bestseller": false, "sales": false, "favorite": false, "gifts": false, "giftProducts": null, "allowPreorder": true, "minAmount": 1.0, "maxAmount": 2.14748365E+09, "multiplicity": 1.0, "unit": null, "commentsCount": 0, "sizeColorPicker": { "sizes": [], "selectedSizeId": null, "colors": [ { "id": 1, "name": "Бежевый цвет", "code": "#000000", "photoSrc": null }, { "id": 2, "name": "Зеленый цвет", "code": "#000000", "photoSrc": null }, { "id": 3, "name": "Красный", "code": "#000000", "photoSrc": null } ], "selectedColorId": 1, "colorIconHeight": 18, "colorIconWidth": 18, "sizesHeader": "Размер", "colorsHeader": "Цвет" }, "discount": { "percent": 0.0, "amount": 0.0, "type": "Percent" }, "offers": [ { "offerId": 1, "artNo": "1702", "isMain": true, "colorId": 1, "sizeId": null, "oldPrice": 0.0, "preparedOldPrice": "0 руб.", "price": 811.0, "preparedPrice": "811 руб.", "bonuses": "+24 бонуса на бонусную карту", "amount": 205.0, "isAvailable": true, "availableText": "Есть в наличии", "weight": 1.0, "height": 0.0, "length": 0.0, "width": 0.0, "addToCart": false }, { "offerId": 2, "artNo": "1702-2", "isMain": false, "colorId": 2, "sizeId": null, "oldPrice": 0.0, "preparedOldPrice": "0 руб.", "price": 800.0, "preparedPrice": "800 руб.", "bonuses": "+24 бонуса на бонусную карту", "amount": 0.0, "isAvailable": false, "availableText": "Нет в наличии", "weight": 1.0, "height": 0.0, "length": 0.0, "width": 0.0, "addToCart": false }, { "offerId": 3, "artNo": "1702-3", "isMain": false, "colorId": 3, "sizeId": null, "oldPrice": 0.0, "preparedOldPrice": "0 руб.", "price": 500.0, "preparedPrice": "500 руб.", "bonuses": "+15 бонусов на бонусную карту", "amount": 0.0, "isAvailable": false, "availableText": "Нет в наличии", "weight": 1.0, "height": 0.0, "length": 0.0, "width": 0.0, "addToCart": false } ], "offerSelectedId": 1, "customOptions": [], "brand": null, "currency": { "name": "Рубли", "symbol": " руб.", "rate": 1.0, "iso3": "RUB", "isCodeBefore": false, "roundNumbers": 1.0, "enablePriceRounding": true }, "photoSmall": "https://site.ru/pictures/product/small/9953_small.jpg", "photoMiddle": "https://site.ru/pictures/product/middle/9953_middle.jpg", "photoBig": "https://site.ru/pictures/product/big/9953_big.jpg", "photos": [ { "smallSrc": "https://site.ru/pictures/product/small/9953_small.jpg", "middleSrc": "https://site.ru/pictures/product/middle/9953_middle.jpg", "bigSrc": "https://site.ru/pictures/product/big/9953_big.jpg", "colorId": null, "main": true } ], "showPhotos360": false, "photos360": null, "videos": [], "markers": null, "sizeChart": null } }
Пример ответа, если товар по штрихкоду не найден
{ "product": null }
Пример ответа с ошибкой
{ "status": "error", "errors": "Укажите штрихкод" }
Пример запроса
?settings=IsShowCity,BuyButtonText
Пример запроса
{ "firstName": "Иван", // имя "lastName": "Иванов", // фамилия "patronymic": "Иванович", // отчество "phone": "790000000", // телефон "email": "ivan@gmail.com", // email "customerId": "", // id пользователя "discountValue": "100", // Скидка числом "discountPercent": "0", // скидка процентом "description": "lead from api", // описание "source": "", // источник лида "funnelId": 1, // id списка лидов "sum": "0", // сумма товаров "products": [ // массив товаров: ArtNo - артикул товара в магазине. { // Если товар будет найден по артикулу, то подставится актуальная цена, название, цвет и тд. "artNo": "977", "name": "Туфли", "amount": 1, "price": 1500 } ] }
{ "leadId": 1, "status": "ok" }
{ "status": "error", "errors": "Заполните обязательные поля" }
Пример запроса
{ "country": "Россия", "region": "Москва", "city": "Москва", "userCoordinates": { "latitude": 11, "longitude": 22 } }
Фильтр. Все поля необязательны для заполнения
Пример ответа
{ "deliveries": [ { "id": 1, "type": "SelfDelivery", "name": "Самовывоз", "description": null, "zeroCostText": "Бесплатно", "icon": "https://mysite.ru/images/shipping/selfdelivery.svg", "coordinates": { "latitude": 1, "longitude": 2 }, "warehouseIds": [], "points": null }, { "id": 2, "type": "DeliveryByZones", "name": "доставка по зонам", "description": null, "zeroCostText": "Бесплатно", "icon": "https://mysite.ru/images/shipping/default.svg", "coordinates": { "latitude": 3, "longitude": 4 }, "warehouseIds": [], "points": null }, { "id": 3, "type": "PointDelivery", "name": "Пункты выдачи", "description": "Описание", "zeroCostText": "Бесплатно", "icon": "https://mysite.ru/images/shipping/selfdelivery.svg", "coordinates": { "latitude": 5, "longitude": 6 }, "warehouseIds": [], "points": [ { "id": "3_123", "pointStringId": "3-ТЦ-Фили", "inHouse": false, "name": "ТЦ Фили", "description": null, "zeroCostText": "Бесплатно", "price": 100, "preparedPrice": "100 руб.", "deliveryTime": "1-10 дней", "icon": "https://mysite.ru/images/shipping/selfdelivery.svg", "warehouseId": null, "coordinates": { "latitude": 10, "longitude": 20 } } ] } ], "nearest": { "id": "3_123", "pointId": "3-ТЦ-Фили" } }
Другие статьи по теме
Тэги: апи, api, http-запрос, запросы, http, триггер