Доброго дня!
Если вы не хотите подключать платные модули или хотите разработать своего бота для отправки уведомлений о новых сделках из AmoCRM в Telegram, то вы можете воспользоваться нашей разработкой.

  • Для начала вам нужно перейти в @BotFather и создать нового бота
  • Далее создайте группу - если хотите получать уведомления в группу
  • Перейдите на ваш сервер/хостинг и создайте любой файл в формате php
  • Откройте редактор кода и внесите следющий код
PHP:
<?php
// Функция для отправки сообщения в Telegram
function sendTelegramMessage($message) {
    $telegramToken = 'тут токен';
    $chatID = 'тут ваш чат ID';
    $url = "https://api.telegram.org/bot$telegramToken/sendMessage";

    $postData = http_build_query([
        'chat_id' => $chatID,
        'text' => $message,
        'parse_mode' => 'Markdown'
    ]);

    $options = [
        'http' => [
            'header' => "Content-type: application/x-www-form-urlencoded\r\n",
            'method' => 'POST',
            'content' => $postData
        ]
    ];

    $context = stream_context_create($options);
    $result = file_get_contents($url, false, $context);

    // Логирование для отладки
    file_put_contents('debug_log.txt', "Сообщение отправлено: " . $message . "\n", FILE_APPEND);
    file_put_contents('debug_log.txt', "Ответ Telegram API: " . $result . "\n", FILE_APPEND);
}

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    parse_str(file_get_contents('php://input'), $parsedData);

    // Логирование разобранных данных
    file_put_contents('debug_log.txt', "Parsed Data: " . print_r($parsedData, true) . "\n", FILE_APPEND);

    // Проверка наличия данных о сделке
    if (isset($parsedData['leads']['add'][0])) {
        $lead = $parsedData['leads']['add'][0];

        $offer = $comment = $dealUrl = "";
        foreach ($lead['custom_fields'] as $customField) {
            if ($customField['id'] == '111') { // ID поля который вы хотите передавать
                $field_one = $customField['values'][0]['value'];
            }
            if ($customField['id'] == '222') { // ID поля который вы хотите передавать2
                $field_two = $customField['values'][0]['value'];
            }
        }

        // Создание URL сделки
        $dealUrl = "https://alexbuylead.amocrm.ru/leads/detail/" . $lead['id'];

        // Формирование сообщения
        $message = "*📍Уведомление о сделке 📍*\n";
        $message .= "Название поля1: " . $field_one . "\n";
        $message .= "Название поля2: " . $field_two . "\n";
        $message .= "Ссылка: " . $dealUrl;


        sendTelegramMessage($message);
    }
}
?>
  • В этом коде необходимо заменить строчки:
$telegramToken = 'тут токен'; - на ваш токен
$chatID = 'тут ваш чат ID'; - chat ID. Узнать его можно при помощи добавления в группу бота @username_to_id_bot
  • Если вы хотите передавать доп.поля, то вы можете заменить значения в строчках:
if ($customField['id'] == '111') { // ID поля который вы хотите передавать
if ($customField['id'] == '222') { // ID поля который вы хотите передавать2

ID поля можно узнать в настройках сделки.
  • После этого необходимо перейти в AmoCRM и открыть вкладку AmoМаркет
  • В нем нужно создать вебхук
  • В ссылке - указываете путь до вашего php файла, к примеру https://site.ru/amo.php
  • В реакции - Сделка добавлена