Monecle — Обзор + Интеграция с Автопилотом
Monecle — это платформа для создания и продажи курсов и других онлайн продуктов по всему миру.
Ссылка на их сайт с подобным описанием: skyjoom.com/monecle
Основными преимуществами / прелестями я вижу следующие:
- Во многом интерфейс понятный на интуитивном уровне. Почти все необходимые вещи обычно под рукой.
- Нету необходимости подключать платежные системы и париться их головняком. И это при адекватной комиссии — 5%. А при росте дохода комиссия даже может существенно снижаться.
- Поддерживаются оплаты с любой части мира (Европа, США, Украина и т.п.)
- Нету проблемы поначалу экспериментировать как физлицо и только когда станете на ноги, зарегистировать ИП и начать полноценно продавать.
- Довольно тесная интеграция с ВКонтакте.
- Удобное функциональное API, которое позволяет вполне легко интегрировать систему с Автопилотом.
Интеграция с Автопилотом
Переходим на сайт, регистрируемся, заходим в профиль

В профиле проматываем страничку ниже до раздела Работа с API

- Ваш идентификатор (id).
- Ключ (key) — ключ для запросов.
- URL для уведомлений - сюда вставляем ссылочку из Автопилота, из события «Упомянут в GET запросе». В параметрах события укажите:
&sid_param=buyer.vk_id
. Подробнее ниже
ВАЖНО! При каждом сохранении ключ (KEY) будет автоматически меняться на новый, поэтому в командах его нужно будет заменить.
Документацию по уведомлениям можно прочитать по ссылке.
Настройка вебхука (уведомлений про оплату)
Для отлова событий «сделан заказ / оплачен заказ» создаем событие
«Упомянут в GET запросе».
В дополнительные параметры вписываем &sid_param=buyer.vk_id
, сохраняем команду и нажимаем на кнопку «скопировать»

И эту ссылку вставляем в профиль Monecle. Выше показано, куда именно. Пример итоговой ссылки:
https://skyauto.me/cllbck/961875918/531530/ZEVyd2l0QT0TG54TmFZVDVaeWFBa3Zk?avtp=1&sid_param=buyer.vk_id
+ Рекомендую добавить условия:
1) Числовая переменная %subs_id%
больше 0
.
данная конструкция будет проверять что покупатель найден.
Иначе в ВК сообщение не придет никому!
2) Переменная {get_var}type{/get_var}
содержит paid_order
.
для реагирования на оплату или new_order
для реакции на заказ.
Дальше в действиях можно добавить любые нужные блоки. Например:
- Добавить в список «Клиенты - Название продукта».
- Отправить сообщение (например, со ссылкой на закрытую группу)
- Также можно отправить уведомление сотруднику:
Информация по заказу:
#{get_var}type{/get_var}
{get_var}order.total_price{/get_var} -цена
{get_var}order.goods.0.title{/get_var} - название продукта
{get_var}order.goods.0.good_id{/get_var} - ID продукта

Создание заказа
Для создания заказа создается команда:
Создаем событие:
- Написал сообщение с товаром:
Условие: Email подписчика есть в системе.
Реакция на невыполнение — сообщение с текстом:
%first_name%, ваш Email не обнаружен.
Введите его отдельным сообщением. Email нужен для регистрации в платежной системе.
ВАЖНО! В момент когда пользователь напишет Email в ответное сообщение, действия начнут выполняться автоматически (создастся заказ в Monecle). Это особенность сервиса,подробности тут.
Действия
В первую очередь нужно определиться с номером товара. Можно создавать отдельные запросы под каждый товар, а можно один универсальный запрос + условные переменные. Например:
1) Условная переменная %numproduct%
=
22475,
если%vk_product_title%
содержитАвтомобиль
22443,
если%vk_product_title%
содержитКонсультация
Таким образом с помощью условных переменных можно создавать заказы на разные товары. Пример выше - для заказов из раздела Товары.
2) Отправить POST запрос на адрес:
https://monecle.com/api/?method=new_order&id=9030&key=70e4b7a12207bf070e4b7956d749200ac3472fa52f09faa04678ca
&goods[]=%numproduct%&buyer[email]=%email%&buyer[phone]=%phone%&buyer[name]=%first_name%&buyer[fename]=%last_name%&buyer[vk_id]=&%subs_id%&force_price=%vk_product_price%
где:
method=new_order
— это метод для создания заказа.Подробности в документации.
id
— это ID пользователя( в данном случае9030
).key
— ключ для подписи запросов. У вас будет другой! (в данном случае70e4b7a12207bf070e4b7956d749200ac3472fa52f09faa04678ca
).goods[]
— Массив идентификаторов продуктов = номеру продукта.buyer[]
— Массив данных покупателя— будут записаны данные из профиля Автопилота.
Можно просто скопировать строчку запроса, заменить id и key на ваши и все будет работать.
3) Временной переменной: %save_request_response%
присваиваем значение: %request_response%
— ответ сервера. Это для возможности использовать новую переменную сколько угодно раз в следующих действиях.
Отправляем сообщение пользователю в ответ:
Спасибо за покупку, %first_name%!
ID заказа:{get_var}order_id|json|%save_request_response%{/get_var}
Ccылка на оплату:{get_var}pay_link|json|%save_request_response%{/get_var}
И аналогичное сообщение сотрудникам:
#новый_заказ Покупатель: %subs_link%
Статус: {get_var}status|json|%save_request_response%{/get_var}
ID заказа: {get_var}order_id|json|%save_request_response%{/get_var}
Ccылка на оплату: {get_var}pay_link|json|%save_request_response%{/get_var}


Отмена заказа
Для отмены заказа создается команда:
Создаем событие:
- Написал сообщение с текстом содержащим
«отмена заказа»
.
Дополнительно рекомендую добавить условия:
- Числовая переменная
%is_conv%
равна0
— будет реагировать только на сообщения в сообщество. - Сотрудник аккаунта, чтобы команду мог запустить только Администратор сообщества, либо тот, у кого есть разрешение.
Действия команды:
1) Временной переменной %orderid%
присваиваем {num}%content%{/num}
{num}%content%{/num}
оставляет только числа в тексте, который между тегами. Параметры данной переменной cмотрите в данном разделе.
2) Отправить GET/POST запрос на адрес:
https://monecle.com/api/?method=delorder&id=9030&key=8d1d0698e2458afba12207bf070e4b7956d749200ac3472fa52f09faa04678ca&reason=0&order_id=%orderid%
где:
method=delorder
— это метод для отмены заказа.
Подробности в документации.
id
— это ID пользователя (в данном случае9030
).key
— ключ для подписи запросов (в данном случае8d1d0698e2458afba12207bf070e4b7956d749200ac3472fa52f09faa04678ca
).
ВАЖНО! Идентификатор пользователя ID и ключ для подписи запросов KEY можнно взять в профиле.
reason
— параметр0 - отмена покупателем; 1 - отмена продавцом
order_id
— номер заказа(например231539
).
Ответ сервера будет в %request_response%.
Условная переменная %error%
=
Все ок
, если{get_var}message|json|%request_response%{/get_var}
содержит not found
иначе %error%={get_var}message|json|%request_response%{/get_var}
Поясню: при успешной отмене заказа
message
— Информация об ошибке будет выдаватьmessage not found
, что смотрится некрасиво, поэтому идет обертка в переменную%error%.
И выводим сообщение в ответ:
#отмена_заказа
Запрос: отмена заказа %orderid%
Статус: {get_var}status|json|%request_response%{/get_var}.
Сообщение об ошибке: %error%
Заказ отменил администратор: %subs_link%


Все, работает. Автопилот вышел на новую высоту.