Весенняя акция
Скидки до 30% на тарифный план и подарки от Яндекса, MPSTATS и Деловой среды. Получить
Реклама
ООО Инсейлс Рус ИНН 7714843760 erid: 2RanykDZ3Ri, ООО "ЯНДЕКС" ИНН 7736207543 erid:2RanymHqCE4, ООО "Мпстатс" ИНН 7804680366 erid: 2RanymKKBWQ, АО Деловая Среда ИНН 7736641983 erid: 2Ranykw5hmA
Получите продающий сайт «под ключ» за 20 дней: уникальный дизайн, подключение интеграций, удобный функционал
Реклама. ООО «Инсейлс Рус»‎ ИНН 771484376 erid: 2Ranyo5dJeU

Внешние скидки

Доступность функционала зависит от тарифа. Подробнее о тарифах

Внешние скидки нужны, если магазину не хватает стандартного функционала inSales, и нужно рассчитывать скидки по своему алгоритму.

Для работы внешних скидок потребуется написать и разместить на стороннем сервере скрипт, который будет получать данные о заказе с платформы в формате JSON, обрабатывать их и возвращать ответ в том же формате. То есть со страницы оформления заказа уходят данные о товарах в корзине, вы где-то на стороне их принимаете, считаете, каким должен быть размер скидки, возвращаете это значение, и система его применяет к заказу.

Чтобы перейти в раздел, нажмите Клиенты → Скидки → Внешние скидки:

  1. Общий вид раздела
  2. Создание внешней скидки
  3. Обработка запроса

Общий вид раздела

  1. Кнопка "+" — кнопка создания новой скидки.
  2. Описание — название скидки.
  3. URL — адрес, на который идет запрос в формате JSON.
  4. Крестик — удаляет скидку. После удаления ее восстановить нельзя, придется создавать заново.

Создание внешней скидки

Если нажать кнопку "+", появляется следующее окно:

  1. URL — обязательное поле, в нем указывается адрес, на который идет запрос в формате JSON. По этому URL должен располагаться файл, который сможет обработать полученные данные и вернуть ответ.
  2. Описание — название скидки.
  3. Зависит от дополнительных полей — если в разделе "Настройки → Оформление заказа" были добавлены поля для заказа, от которых зависит скидка, то настройка заставляет систему делать новый запрос при изменении значения поля. Если вы создали поле для ввода номера скидочной карты и отметили данную галочку, то в случае изменения значения поля получение скидки произведется повторно.
  4. Зависит от состава корзины — галочка указывает, нужно ли отсылать повторный запрос на получение скидки, если содержимое корзины изменилось.
  5. Включено — активирует скидку.

Обработка запроса

В запросе передается вся информация о заказе.

В ответ на запрос вы должны вернуть один из следующих объектов:

1) Скидку можно применить:

{
"discount": 10, // Величина скидки, если discount_type == PERCENT, то это 10% иначе 10 рублей
"discount_type": "PERCENT", // Может быть MONEY
"title": "Вам скидка по карте XXXXX", //Текстовое описание скидки, которое сохранится в заказе и будет выведено пользователю
}


2) Скидку по какой-то причине нельзя применить:

{
"errors": ["Карта не найдена"] // Массив ошибок
}


Далее нужно модифицировать страницу корзины для работы с внешними скидками.

Нужно добавить форму, отсылающую данные на URL /cart_items методом PUT.

В форму нужно добавить input, в который пользователь будет вводить номер карты. К примеру:

<form action="/cart_items" method="PUT">
<input name="order[fields_values_attributes][XXXX][field_id]" value="XXXX" type="hidden">
<input name="order[fields_values_attributes][XXXX][value]" type="text">
.....
</form>

, где XXXX — это ID дополнительного поля заказа.

ID дополнительного поля указан в адресной строке браузера при редактировании дополнительного поля: 



Далее нужно добавить на страницу корзины вывод ошибок.

Ошибки доступны в Liquid-шаблоне через метод discount_errors у переменной cart. Пример:

{% for error in cart.discount_errors %}
<p class="error">{{error}}</p> 
{% endfor %}

Посмотреть наглядный пример обработки запроса на расчет внешней скидки можно в данной статье: https://liquidhub.ru/blogs/open-microphone/vneshnie-skidki-v-insales

Оставить оценку

Оценка успешно отправлена.
Она будет проверена администратором перед публикацией.
Перед публикацией все оценки проходят модерацию

Оценки: 0

Остались вопросы?
Отправь тикет в техподдержку!
Еще нет своего магазина?
Создайте интернет-магазин на платформе inSales
Всё для продаж уже внутри!
Нажимая кнопку «Зарегистрироваться», я принимаю Пользовательское соглашение и Политику конфиденциальности
Недавно просмотренные статьи
Продолжая пользоваться сайтом,
вы соглашаетесь с использованием cookie