Задача
Необходимо реализовать возможность использовать промокод на сайте магазина nado.one. Промокоды приобретаются на стороне сервиса xchainer.io (раздел маркетплейc). Скидки применяются посредством обращения сайта интернет-магазина к API, реализованному на стороне xchainer.
Как это работает:
Нa странице маркетплейса xchainer пользователь покупает промокод определенного номинала, который использует для покупки на сайте nado.one. Промокод может быть применен к определенному количеству товаров, которое на сайте фигурирует как вариант товара, а в админке InSales имеет собственный sku.
Юзер-кейс
- Покупаем на странице маркетплейса xchainer промокод с номиналом 35% на покупку 4-x систем для ухода за сухой и нормальной кожи.
- На сайте nado.one добавляю в корзину вариант товара “4 системы для сухой и нормальной кожи”
- В корзине в поле “промокод” применяю код, купленный в xchainer. Из стоимости вычитается 35% ( т.е. применяется скидка).
Что происходит на бекэнде на шагах 1-3 предыдущего пункта:
- При покупке промокода xchainer, сервис xchainer генерирует буквенно-числовой код (промокод)
- При попытке активировать промокод на сайте инернет-магазина nado.one происходит обращение к api xchainer.
- В обращении проверяем действителен ли указанный пользователем буквенно-числовой код промокода и соответствует ли он тому варианту товара, который пользователь добавил в корзину и соответственно к которому пользователь его применяет.
- В InSales проверяется наличие указанного пользователем кода в списке активных кодов, заведенных в админке Insales через стандартный функционал платформы.
- После оплаты заказа с примененным промокодом передаем информацию о том, что код был использован либо в InSales, либо в xchainer соответственно.