Бот Telegram для RetailCRM

Если у вас есть интернет-магазин, то есть и курьеры, которые занимаются доставкой заказов. Если курьеры на аутсорсинге, то бизнес процессы настроены и вся информация обновляется автоматически. Другое дело когда курьеры в штате и они имеют доступ к CRM, что бы обновлять информацию и тут возникает загвоздка - в RetailCRM нет удобного мобильного приложения, что бы можно было быстро изменять информацию по заказам. Для своих целей мы разработали телеграмм бота, который нам помогает и я хочу поделиться этим ботом с вами.

На текущий момент бот умеет делать следующие вещи:

  1. Проверять пароль пользователя, что бы им не могли воспользоваться все, кому не лень
  2. Выводить основную информацию по заказам
  3. Переводить заказ в статус “Завершенное” и помечать его как оплаченный.

Для работы бота понадобиться лишь хостинг на php и база данных, в которой будет храниться служебная информация. Собственно проблем с тем, где его разместить, быть вообще не должно.

После внедрения у себя мы сразу заметили получили отзывы от курьеров, которым раньше приходилось сохранять всю информацию по заказам и в конце для заполнять данные в CRM, сейчас они все могут делать на ходу и им не нужно возить с собой кучу бланков. Удобно и современно в общем-то.

Ссылка на исходник с ботом (на Github)

https://github.com/wondervip/Retailcrm-telegrammbot

Вот так выглядит весь процесс по настройке.

  1. Создаем API ключ в RetailCRM
  2. Создаем API ключ в Telegram
  3. Заливаем файлы на сервер и изменяем конфиги

Сейчас я расскажу о нем поэтапно.

Шаг 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

Процедура крайне проста и заключается в следующем:

  1. Заходим в Telegram и находим там пользователя @BotFather. Это главный бот, который позволяет создавать новых ботов
  2. Отправляем ему команду /start, а в ответ получаем список доступных команд.
  3. Нам необходима команда /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 - посмотреть информацию по заказу

На этом все, я описал основные этапы настройки и команды для бота. Если у вас есть какие-либо вопросы, то вы всегда их можете задать мне по почте, которая указана на странице “Обо мне”

Евгений Коваленко
Создатель RetailCRMGuru