Skip to content

Интеграция для amoCRM с Telegram API для обмена сообщениями на PHP Mezzio.

License

Notifications You must be signed in to change notification settings

fcritic/amocrm-telegram-bot

Repository files navigation

Интеграция Telegram и amoCRM

Двусторонняя синхронизация чатов между Telegram и amoCRM

PHP Docker Лицензия

Основные возможности

  • Двусторонняя синхронизация сообщений
  • Поддержка вложений:
    • Текстовые сообщения
    • Файлы
    • Изображения
    • Голосовые сообщения
    • Стикеры
    • Контакты
    • Видео
    • Локация
  • Реакции на сообщения (эмодзи)
  • Уведомления о печатание
  • Изменения статуса сообщения в amoCRM
  • Подключения канала чатов к аккаунту
  • Редактирование сообщений с синхронизацией
  • Безопасная аутентификация через OAuth 2.0
  • Асинхронная обработка через очереди
  • Обновления токенов из amoCRM с помощью крона
  • Безопасное получения файлов из Telegram с помощью прокси обработчика

Технический стек

Компонент Технологии
Бэкенд PHP 8.2, Mezzio, Laravel Eloquent ORM
Очереди Beanstalkd, Pheanstalk
База данных MySQL 8.0, Миграции через Phpmig
Инфраструктура Docker, Nginx, PHP-FPM
Интеграции amoCRM API, Telegram Bot API

Требования

  • Docker 27.5+
  • PHP 8.2+
  • Composer 2.7+

Быстрый старт

  1. Клонируйте репозиторий:
  git clone git@github.com:fcritic/amocrm-telegram-bot.git
  cd amocrm-telegram-bot

  1. Настройте окружение:
  cp .env.example .env
# Отредактируйте .env файл

  1. Установите композер
composer install -o

  1. Установите конфигурацию

    a. Поменяйте в файле integrations.global.php host

  1. Запустите систему:

    a. Сборка Docker-образа на основе Dockerfile и файлов из текущей папки

      docker build -t application-backend .

    b. Поднимаеv все сервисы из docker-compose.yml и запускает их в фоне

      docker-compose up -d

  1. Выполните миграции из контейнера application-backend:

    a. Открываем shell-сессию внутри контейнера

      docker exec -it application-backend sh

    b. Выполняем миграции

      vendor/bin/phpmig migrate

    c. При необходимости можете откатить все миграции

      vendor/bin/phpmig phpmig rollback -t 0

  1. Запустите воркеры из контейнера application-backend:

    a. Запуска воркера для вебхуков из API чатов amoCRM AmoJoQueueWorker

      php console.php app:amojo:sync-message

    b. Запуска воркера для вебхуков из Telegram TelegramQueueWorker

      php console.php app:telegram:sync-message

Настройка интеграций

Для amoCRM:

  1. Создайте приватную/публичную(требуется тех.аккаунт) интеграцию в amoCRM amoМаркет

    • Укажите redirect_uri: https://ваш-домен/api/amocrm/installing-integration
    • Множественные источники: поддерживает
    • Загрузите виджет
  2. Зарегистрируйте канал чатов в технической поддержки amoCRM

Для Telegram:

Создайте бота через @BotFather и получите токен который укажите в карточки интеграции при загрузки виджета


Лицензия

Проект распространяется под лицензией MIT - подробности в файле LICENSE

About

Интеграция для amoCRM с Telegram API для обмена сообщениями на PHP Mezzio.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published