Интеграция с сервисом плюскарма.

Постановка задачи

1.Описание задачи, которую нужно решить

Сейчас положительные отзывы клиентов пропадают, на отрицательные мы не можем реагировать. 

2.Какого эффекта хотим добиться

Нужно собирать предлагать оставить отзывы через PlusKarma и собирать их в Юпитере для последующего анализа.

  1. Клиенту предлагается оставить отзыв за промокод.
  2. Положительный отзыв оставляется в публичной сети, негативные отзывы отправляются нам.
  3. Отзывы сохраняются  в Юпитер для аналитики.

3. Ожидаемый экономический эффект.

Эффект от использования сервиса:
1. Основной. Повышение рейтинга сетевых магазинов Суши-Сет на Яндекс.Картах. Что способствует привлечению новых клиентов.
2. Сохранение клиентской базы, недовольной качеством обслуживания.

4.Подробное описание нового бизнес-процесса

Схема работы

1. При закрытии заказа в Юпитере, если в заказе есть Клиент, отправляет информацию о заказе сервису плюскарма.
Пример запроса есть ниже.

2. Сервис на своей стороне проверяет, оставлял ли клиент отзыв за последние 1 дней (задается в админке сервиса), если не оставлял отправляет клиенту предложение оставить отзыв по покупке.

3. Если клиент игнорирует предложение, то ничего не происходит. Если клиент хочет оставить отзыв, то определяется его значение (положительный, отрицательный). Если отзыв положительный, то сервис открывает yandex или google отзывы. Если отзыв отрицательный то оставляет его у себя для статистки.

4. Клиенту который оставил отзыв в поисковиках сервис генерирует и отправляет смс с номером промокода.

5. В любом случае сервис отправляет в сторону юпитера файл:

    • номером заказа,
    • значение положительный или отрицательный отзыв,
    • сам отзыв,
    • если положительный, то номер промокода.

 Файл должен иметь уникальное имя, например как номер заказа. В одном файле должна быть информация по одному заказу\клиенту\отзыву.

 

6. Если в файле есть номер промокода, то должен по шаблону сформировать у себя промо код

  •  с номером из файла,
  • с ограничением по ТЗ из заказа,
  • на телефон клиента из заказа.
  • Остальные параметры промокода будут заполнятся от заранее созданного шаблона с кодом "PlusKarma". В шаблоне будет указан вид действия, раскладка подарочных товаров, сколько раз можно применить, на сколько дней действует. Шаблон может быть только один.

 

7. В Юпитере по заказа и отзывам нужна будет возможность строить отчет. Юпитер должен будет разобрать файл, чтоб статистику по отзывам можно было посмотреть по заказам на уровне отчетов.

Отчет должен находится в ОТЧЕТЕ ПО КАССЕ – выгрузка в excel.

В отчете должны быть следующие поля:

    • Дата - Дата заказа
    • Время - в какое время был оставлен комментарий гостя
    • Номер заказа
    • Источник отзыва – прописью КАРМА, в тех случаях, когда отзыв получен через PlusKarma
    • Торговая точка
    • Номер телефона гостя
    • Дата выдачи промо - кода
    • Окончание промо - кода
    • Использован – в случае ели его гость использовал, нужна отметка

При формировании отчёта можно указать параметры:

    • Даты заказов с и по
    • Торговый зал
    • Клиент

Реализация в Юпитере

Настройки

В торговый зал (ТЗ) добавляем параметр "Код торговой точки в системе +Karma".

Этот параметр является признаком, что точка работает с системой +Karma. Т.е. если код задан, значит работает. Если код не задан, значит не работает.

Запрос на составление отзыва

Делаем задание планировщика, которое:

  • Находит закрытые заказы, в которых:
    • Указан клиент с номером телефона
    • Заказ относится к ТЗ, который работает с +Karma
    • По заказу еще не отправляли запрос в +Karma
  • По каждому заказу отправляет HTTP запрос в +Karma, для составления отзыва
  • При успешной отправке +Karma возвращает JSON ответ с параметром "Status" = "pending". В этом случае в заказ записывается признак, что запрос отправлен. Это нужно, чтобы не было повторной отправки.
    • Дополнение от 17.05.2021.Если в тексте ответа есть подстрока "На данный контакт уже было отправлено приглашение", то не считаем это ошибкой, а помечаем заказ как успешно обработанный. Для этого также добавляем перекодировку ответа от +Карма из UTF8 в Windows-1251
  • Если произошла какая либо ошибка, нужно отправить оповещение на email системного администратора и техподдержки.
    • Для этого, процедура логирует все ошибки в дополнительный лог-файл HOME\pluskarma_error.log. CSD "мониторит" этот файл и при его изменении отправляет оповещение.
  • Работа задания логируется в файл HOME\pluskarma_send_ДДММГГГГ.log
  • Таймаут ожидания ответа от +Karma = 3 секунды

 

Параметры запроса (документация от +Karma: https://jupiter.planfix.ru/file/1499530):

  • Метод запроса -  GET
  • Адрес запроса - https://p.pluskarma.ru/quick. Константа, не настраивается

 

  • key - секретный API ключ. Константа, не настраивается.
  • request_id - уникальный номер заказа в Юпитере. Например "ST1401659"
  • channel - всегда "sms". Константа, не настраивается.
  • contact - номер телефона клиента в формате 89991112233. Получаем из клиента, который прописан в заказ.
  • location_id - код торговой точки. Получаем из торгового зала "Код торговой точки в системе +Karma"
  • sender_id  - всегда "453". Константа, не настраивается.
  • name - имя клиента. Получаем из клиента, который прописан в заказ. Имя клиента берется "как есть" и не обрабатывается Юпитером.
  • template_id - всегда "623". Константа, не настраивается.
  • page_template_id - всегда "685". Константа, не настраивается.

 

Получение информации по отзывам, создание промокодов

Делаем задание планировщика, которое:

  • Запрашивает с +Karma список отзывов, которые были сделаны в промежуток между предыдущем и текущем выполнением задания
  • Для этого в БД фиксируется Дата\время последнего запроса отзывов.
    • Добавляем возможность вручную изменить эту дату для системного администратора
  • Для каждого полученного отзыва Юпитер находит заказ по номеру (параметр ответа request_id) и сохраняет в него информацию по отзыву. Сохраняется:
    • Признак отзыва (положительны\отрицательный).  Параметр ответа: clicked_on
    • Текст отзыва. Параметр ответа review.body. 
      • Сохраняется текст только отрицательных отзывов, т.к. +Karma не передает текст положительных.
      • Дополнение от 28.04.2021. Тест отзыва не обязательное поле. Если +Карма не прислал текст отзыва, то такой отзыв загружается без него.
    • Дата+время составления отзыва. Параметр ответа: opened_at + 3 часа
    • Источник отзыва = "Карма"
    • Если в заказе уже были прописаны параметры отзыва, они перезаписываются
  • Если отзыв положительный, то +Karma должны прислать промокод, который нужно создать в Юпитере
    • Если отзыв положительный, но +Karma не прислали промокод, это считается ошибкой 
    • Параметр ответа с промокодом: promocode
    • Промокод создается по шаблону
    • Шаблон определяется по коду. У нужного шаблона код должен быть = "pluskarma".
    • Устанавливаем ограничение на применение промокода по торговому залу из заказа
    • Промокод привязывается к клиенту, который указан в заказе
    • В промокод сохраняется заказ, по которому он был выдан
    • Если по заказу уже был выдан какой либо промокод, то новый промокод не создается. Ошибкой не считается
    • Промокод создается даже в случае если у клиента уже есть другой действующий промокод, выданный по другому заказу
  • Если произошла какая либо ошибка, нужно отправить оповещение на email системного администратора и техподдержки.
    • Для этого, процедура логирует все ошибки в дополнительный лог-файл HOME\pluskarma_error.log. CSD "мониторит" этот файл и при его изменении отправляет оповещение.
  • Работа задания логируется в файл HOME\pluskarma_get_ДДММГГГГ.log

 

Параметры запроса (документация от +Karma: https://jupiter.planfix.ru/file/1499530):

  • Метод запроса -  GET
  • Адрес запроса - https://p.pluskarma.ru/quick_list. Константа, не настраивается

 

  • key - секретный API ключ. Константа, не настраивается.
  • updated_from - новые отзывы полученные начиная с этой даты. Дата\время отправки предыдущего запроса. Дата передаются в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС (время по Мск)
  • updated_to - новые отзывы полученные до этой даты. Дата\время отправки запроса. Дата передаются в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС (время по Мск)

 

Отчет по отзывам

Делаем новый отчет по отзывам: Отчеты по кассе - Выгрузка в Excel - Отзывы в Excel

Отчет выводит информацию по всем заказам в которых записана информацию по отзывам

Если по заказу с отзываем был создан промокод, то выводит информацию об этом промокоде

Параметры отчета:

  • Даты заказов с и по
  • Торговый зал (или несколько)
  • Клиент

Поля отчета:

  • Дата заказа
  • Номер заказа
  • Источник отзыва – прописью "Карма", в тех случаях, когда отзыв получен через +Karma
  • Торговый зал
  • Номер телефона клиента
  • Значение отзыва - Положительный\отрицательный
  • Отзыв - текст отзыва. Если отзыв положительный и с +Karma, то пусто
  • Дата\время, когда бы составлен отзыв
  • Дата выдачи промокода 
  • Дата окончания действия промокода
  • Промокод использован – Да\Нет

 

 

5. Настройка в Юпитере

1. Вводим код из системы +карма в настройках торгового зала. (Торговый зал - Основные настройки - Торговый зал текущей торговой точки - Выбрать зал - Вкладка Доп. параметры - Код в системе +Karma)

2. Настраиваем два задания для планировщика:

  • Отправить запрос на составление  отзыва
  • Получить отзывы, создать промокоды

Для отключений можно убрать параметры кода из настройки в ТЗ или отключить задания планировщика.

 

Дата                                                                          ФИО  / Подпись Закачика/                                                   


Система JUPITER                                 www.jupiter.systems                                 (с) 2024г.