Бот Telegram для RetailCRM
Если у вас есть интернет-магазин, то есть и курьеры, которые занимаются доставкой заказов. Если курьеры на аутсорсинге, то бизнес процессы настроены и вся информация обновляется автоматически. Другое дело когда курьеры в штате и они имеют доступ к CRM, что бы обновлять информацию и тут возникает загвоздка - в RetailCRM нет удобного мобильного приложения, что бы можно было быстро изменять информацию по заказам. Для своих целей мы разработали телеграмм бота, который нам помогает и я хочу поделиться этим ботом с вами.
На текущий момент бот умеет делать следующие вещи:
- Проверять пароль пользователя, что бы им не могли воспользоваться все, кому не лень
- Выводить основную информацию по заказам
- Переводить заказ в статус “Завершенное” и помечать его как оплаченный.
Для работы бота понадобиться лишь хостинг на php и база данных, в которой будет храниться служебная информация. Собственно проблем с тем, где его разместить, быть вообще не должно.
После внедрения у себя мы сразу заметили получили отзывы от курьеров, которым раньше приходилось сохранять всю информацию по заказам и в конце для заполнять данные в CRM, сейчас они все могут делать на ходу и им не нужно возить с собой кучу бланков. Удобно и современно в общем-то.
Ссылка на исходник с ботом (на Github)
https://github.com/wondervip/Retailcrm-telegrammbot
Вот так выглядит весь процесс по настройке.
- Создаем API ключ в RetailCRM
- Создаем API ключ в Telegram
- Заливаем файлы на сервер и изменяем конфиги
Сейчас я расскажу о нем поэтапно.
Шаг 1 - Создаем API ключ в RetailCRM
Процесс создания API ключа подробно описать в документации RetailCRM - Управление API-ключами
Необходимо создать ключ со следующими разрешенными методами:
- /api/orders
- /api/orders/{externalId}
- /api/orders/{externalId}/edit
- /api/customers
- /api/store/products
- /api/reference/delivery-types
- /api/reference/order-methods
- /api/reference/payment-types
- /api/reference/status-groups
- /api/users
Конечно, что бы не заморачиваться, можно поставить все галочки.
Шаг 2 - Создаем API ключ в Telegram
Процедура крайне проста и заключается в следующем:
- Заходим в Telegram и находим там пользователя @BotFather. Это главный бот, который позволяет создавать новых ботов
- Отправляем ему команду /start, а в ответ получаем список доступных команд.
- Нам необходима команда /newbot. Вводим её и отвечаем на вопросы, касаемо создаваемого бота: его имя (name), его ник (username) и так далее. Обращаю ваше внимание что username должен быть уникальным и содержать на конце bot. Например my_bot или mybot
Когда вы все это выполните, то на выходе получите сообщение с ссылкой на созданного бота и API токен, который необходим для дальнейшей работы с этим ботом.
Если интересно, то можете заморочиться и внести дополнительные настройки: задать приветственное сообщение, поменять аватарку, задать описание и прочее.
На этом этапе у нас есть все необходимое, что бы продолжить настройку. Так что переходим к шагу 3.
Шаг 3 - Заливаем файлы на сервер и изменяем конфиги
С загрузкой файлов никаких проблем возникнуть не должно, а вот на настройке остановлюсь подробнее.
Все изменения необходимо вносить в файле index.php. В первую очередь нас интересует вот этот код, в самом начале файла:
// Telegram URL, token, Access PASS
define('TOKEN', 'telegram_token');
define('PASS', 'qwerty');
- Вместо telegram_token указываем API ключ, который получили на шаге №2
- Вместо qwerty указываем произвольный пароль, который необходимо будет ввести пользователю для доступа к работе с ботом
Дальше находим следующий код:
// New CRM client
$client = new RetailCrm\ApiClient(
'<a href="<a href=" <a="">https://testcrm.retailcrm.ru/</a>">https://testcrm.retailcrm.ru/">https://testcrm.retailcrm.ru/',
'retailcrm_api',
'testcrm_url'
);
- Вместо https://testcrm.retailcrm.ru/ - указываем ссылку на ваш аккаунт в RetailCRM
- Вместо retailcrm_api указываем API ключ, который мы получили на шаге №1
- Вместо testcrm_url указываем название нашего магазина, который можно посмотреть на странице: настройки - магазины
И на последнем шаге осталось указать данные от БД, где будет храниться служебная информация. В самом низу ищем строку:
$mysqli = new mysqli("localhost", "dblogin", "dbpass", "db");
- dblogin - юзер от базы данных
- dbpass - пароль от пользователя
- db - название базы данных
Команды для управления ботов
- /start - начало работы с ботом
- /stop - завершить работу
- /pass - ввести пароль для авторизации
- /order - посмотреть информацию по заказу
На этом все, я описал основные этапы настройки и команды для бота. Если у вас есть какие-либо вопросы, то вы всегда их можете задать мне по почте, которая указана на странице “Обо мне”