Интеграция с JustClick
Всем привет! Сегодня мы будем интегрировать Автопилот с сервисом JustClick.
Для начала переходим на сайт и регистрируемся. Затем входим на сайт.
Для интеграции переходим по ссылке https://yourdomain.justclick.ru/shops/setts/apisettings/ — где вместо yourdomain — ваше имя аккаунта justclick

Сохраняем ключ API.
Переходим на вкладку URL для оповещений по адресу https://yourdomain.justclick.ru/shops/setts/apisettings/#jc-tab-2
Сюда мы будем вставлять адрес вебхука из Автопилота на реакции на нужные нам события.
Настройка интеграции в Автопилоте.
Открываем в Автопилоте Настройки сообщества в которое будем интегрировать justClick нажав на кнопки "Настройки».
В соответствующие поля вставляем логин от justClick и пароль
В поле Имя аккаунта (поддомена) вводим названия магазина, например,если домен skyjoom.justclick.ru то вводим первую часть до точки т.е.skyjoom
В поле ключ API вводим ключ, который получили в JustClick(см. начало инструкции), и жмем «сохранить»

Настройка вебхука (для уведомлений про создание заказа)
Cобытия:
Для отлова событий «сделан заказ / оплачен заказ» создаем событие
«Упомянут в GET запросе».
В дополнительные параметры вписываем &sid_param=email
, сохраняем команду и нажимаем на кнопку «скопировать»

И эту ссылку вставляем в профиль JustClick(вкладка URL для оповещений). На скриншоте показано, куда именно.

Пример итоговой ссылки: https://skyauto.me/cllbck/961875918/531530/ZEVyd2l0QT0TG54TmFZVDVaeWFBa3Zk?avtp=1&sid_param=email
Рекомендую добавить условия:
1) Числовая переменная %subs_id%
больше 0
.
данная конструкция будет проверять что покупатель найден.
Иначе в ВК сообщение не придет никому!

2) Переменная {get_var}status{/get_var}
содержит new_order
.
для реагирования на создание заказа(создание счета)
Действия:
1) Условная переменная %status%
= Создан_новый_заказ
, если:
- Переменная
{get_var}status{/get_var}
содержитnew_order
.
для реагирования на создание заказа или%status%
=пустота

2)Отправить сообщение сотрудникам с текстом:
#%status%
ID счета: {get_var}id{/get_var}
Cтраница заказа:{get_var}items.0.title{/get_var}
ID заказа:{get_var}items.0.id{/get_var}
Цена заказа:{get_var}items.0.sum{/get_var}
Имя заказчика :{get_var}first_name{/get_var}
Email заказчика :{get_var}email{/get_var}
Телефон заказчика:{get_var}phone{/get_var}
3) Условная переменная %text%
= %first_name%, ваш заказ создан.Оплатить можно тут: {get_var}link{/get_var}
, если:
- Переменная
%status%
содержитСоздан новый заказ
или %text%
=%first_name%, ваш заказ не создан.Обратитесь к Администратору

- Отправить сообщение (например, со ссылкой на оплату клиенту) переменная
%text%

Настройка вебхука (для реакции на оплату)
ВАЖНО! Здесь используются блоки из предыдущей команды.
Если какой-то блок у Вас уже есть,то просто находим нужный блок, нажав на кнопку «Найти в каталоге», либо копируем номер из нужной команды и вставляем в поле ввода.
События:
1) Событие «Упомянут в GET запросе» из предыдущей команды.
Рекомендую добавить условия:
1) Числовая переменная %subs_id%
больше 0
(из предыдущей команды)
2) Переменная {get_var}type{/get_var}
содержит oplata
для реагирования на оплату.

Действия:
1) Условная переменная %status%
= Оплачен_заказ
если:
Переменная {get_var}type{/get_var}
содержит oplata
для реагирования на оплату или %status%
= пустота

2)Отправить сообщение сотрудникам с текстом(берется из предыдущей команды)
3) Оправить сообщение клиенту с поздравлением об успешной покупке.

Дальше в действиях можно добавить любые нужные блоки. Например:
- Добавить в список «Клиенты - Название продукта».
- Отправить сообщение (например, со ссылкой на закрытую группу)
Создание универсальной команды на покупку товара.
Важно! Для функционирования этой команды нужно в название товара дописать (ID товара:название страницы товара на justclick). Пример на скриншоте:

ID товара нужно брать из Justclick. Ccылка для примера https://yourdomain.justclick.ru/shops/bills/
. ID
- это то, что идет в ссылке на заказа после слова order
, а yourdomain
— ваше имя аккаунта justclick

Событие:
1) Написал сообщение с товаром

2) Добавляем условие Email подписчика найден в системе, иначе реакция на невыполнение с текстом:%first_name%, ваш Email не обнаружен.
Введите его отдельным сообщением.
Email нужен для регистрации в платежной системе.

ВАЖНО! В момент когда пользователь напишет Email в ответное сообщение, действия начнут выполняться автоматически (создастся заказ в Justclick). Это особенность сервиса,подробности тут.
Действия:
1) Переменная %id_product%
= {reg}%vk_product_title%~~ID товара:([^s.].+)\)~~1{/reg}
Т.е. с помощью регулярных выражений мы получаем ID страницы товара.
2) Отправляем POST запрос на адрес магазина https://youdomain.justclick.ru/api/CreateOrder
где вместо yourdomain
— ваше имя аккаунта justclick
Открываем документацию по API и смотрим описание метода.
Параметры передаваемые в запросе:
- goods — массив с данными о заказаных продуктах, состоит из пар ID продукта, цена продукта: good_name — ID продукта в системе JustClick,good_sum — цена данного продукта в данном заказе, может отличатся от указанной в магазине, если этот параметр опущен — берётся цена из настроек продукта в магазине;
- bill_first_name — имя покупателя,
- bill_surname — фамилия покупателя,
- bill_email — e-mail покупателя,
- bill_phone — телефон покупателя,
Обязательными являются: bill_email и goods, а в нём good_name. Для физического товара отправляемого по почте так же обязательными будут данные для пересылки: bill_first_name, bill_surname, bill_country, bill_city, bill_address. Остальные параметры запроса отправляются на ваше усмотрение. Больше параметров/методов найдете в документации JustClick

Добавляем параметры:
goods.0.good_name
=%id_product%
goods.0.good_sum
=%vk_product_price%
bill_first_name
=%first_name%
bill_surname
=%last_name%
bill_email
=%email%
Не забываем нажать Еще
и выбрать подпись по алгоритму сервиса JustClick
Если нужен товар со скидкой можно воспользоваться {math} и вычислить необходимую сумму. Например, скидки хранятся в списке 12345, значит во временной переменной вычисляем {math}%vk_product_price%-{level}12345{/level}
и передаем эту переменную в goods.0.good_sum
3) Временная переменная %link%
= %response.link%
— получаем ссылку на оплату
4) Условная переменная %text%
= Введите пожалуйста свой email и мы создадим заказ
,если числ. переменная %response.error_code%
= 600
или
%text%
=Создание заказа успешно
,если числ. переменная%response.error_code%
=0
или
%text%
=%first_name%, ваш заказ не создан.Обратитесь к Администратору. Возможно указана неверная ID страницы товара
,если числ. переменная%response.error_code%
=604
или% text%
= %first_name%, ваш заказ не создан.Обратитесь к Администратору
%response.code%
— это ошибки при создании заказа, полный список ошибок можно посмотреть тут.
5) Отправляем сообщение клиенту в ответ с переменной %text%

Команда «Вебхук — отмена счета»
Событие:
1) Событие «Упомянут в GET запросе» из предыдущих команд.
Рекомендую добавить условия:
1) Числовая переменная %subs_id%
больше 0
(из предыдущих команд)
2) Переменная {get_var}status{/get_var}
содержит cancel_order
.
для реагирования на отмену заказа(отмена счета)
Действия:
1) Условная переменная %status%
= Отменен_заказ
если:
Переменная {get_var}status{/get_var}
содержит cancel_order
для реагирования на отмену или %status%
= пустота
2)Отправить сообщение сотрудникам с текстом(берется из предыдущих команд)
3) Оправить сообщение клиенту с сообщением об отмене.

Дальше в действиях можно добавить любые нужные блоки. Например:
- Исключить из списка «Клиенты - Название продукта».
- Исключить из закрытой группы
Команда «Вебхук — ловим частичную оплату»
Событие:
1) Событие «Упомянут в GET запросе» из предыдущих команд.
Рекомендую добавить условия:
1) Числовая переменная %subs_id%
больше 0
(из предыдущих команд)
2) Числовая переменная {get_var}prepayment_sum{/get_var}
больше0
для реагирования на частичную оплату
Действия:
1) Условная переменная %status%
= Частичная_оплата
если:
Числовая переменная {get_var}prepayment_sum{/get_var}
больше0
для реагирования на частичную оплату или %status%
= пустота
2)Отправить сообщение сотрудникам с текстом(берется из предыдущих команд)#%status%
ID счета: {get_var}id{/get_var}
Дата: {date}%F %X{/date}
Cтраница заказа: {get_var}items.0.title{/get_var}
ID заказа: {get_var}items.0.id{/get_var}
Цена заказа:{get_var}items.0.sum{/get_var}
Частичная сумма(если есть):{get_var}prepayment_sum{/get_var}
Имя заказчика: {get_var}first_name{/get_var}
Email заказчика: {get_var}email{/get_var}
Телефон заказчика: {get_var}phone{/get_var}
3) Отправить сообщение клиенту c текстом:%first_name%, Ваша частичная оплата получена {get_var}prepayment_sum{/get_var} {case}{get_var}prepayment_sum{/get_var}|рубль|рубля|рублей{/case}.
Осталось оплатить {math}{get_var}items.0.sum{/get_var}-{get_var}prepayment_sum{/get_var}{/math} р.
Команда «Отмена заказа админом по ключевику»
Событие:
1) Написал сообщение с текстом подходящим под регулярку ^отменить заказ (\d+)

Рекомендую добавить условия: Сотрудник аккаунта
Действия:
1) Переменная %bill_id%
= {reg}%content%~~отменить заказ (\d+)~~1{/reg}
2) Отправляем POST запрос на адрес магазина https://youdomain.justclick.ru/api/UpdateOrderStatus
где вместо yourdomain
— ваше имя аккаунта justclick
Открываем документацию по API и смотрим описание метода.
Параметры передаваемые в запросе:
- bill_id — номер заказа;
- status — статус заказа (sent — заказ отправлен по почте, paid — поступила оплата по заказу, return — покупатель вернул заказ, cancel — заказ отменен);
- date — время отправки заказа по почте или оплаты, в секундах от 1 января 1970 года, т.н. UNIX timestamp (обязательно для статусов sent и paid);
- rpo — номер почтового отправления (обязательно для статуса sent);
Добавляем параметры:
bill_id
=%bill_id%
status
=cancel
Не забываем нажать Еще
и выбрать подпись по алгоритму сервиса JustClick
Больше параметров/методов найдете в документации JustClick

Cобственно, на этом все. Творческих взлётов.
Вернуться к списку инструкций