Найти в Дзене

Уведомление в Max из php

Для небольшого сайта решил сделать, чтобы уведомления приходили в Макс, так как с почтой возиться никому неохота уже и клиенты сейчас все в соцсетях, а тг и вотсап уже умирают. В Максе регистрируемся на платформе как юрлицо (пока), подтверждаем профиль (можно через госуслуги, можно через сбер id), создаем бота, даем ему описание, он проходит модерацию (не больше часа). После этого там же получаем токен: Находим в приложении Макса этого бота по его имени, пишем ему любое сообщение, чтобы стартовать диалог. Также в приложении находим бота для разработчиков Check ID. Пишем ему тоже любое сообщение и получаем наш user_id. Дальше в html форме на сайте ставим на нужную нам форму action="sendmessage.php", а код для него такой: <?php /** * Отсылает сообщение в MAX * через бот * * INPUT: * $_POST['name'] = имя отправителя * $_POST['phone'] = телефон отправителя * $_POST['email'] = email отправителя * $_POST['message'] = сообщение * */ if (isset($_SERVER) && !empty($_POST) && $_POST['name'] != "

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

В Максе регистрируемся на платформе как юрлицо (пока), подтверждаем профиль (можно через госуслуги, можно через сбер id), создаем бота, даем ему описание, он проходит модерацию (не больше часа). После этого там же получаем токен:

Находим в приложении Макса этого бота по его имени, пишем ему любое сообщение, чтобы стартовать диалог. Также в приложении находим бота для разработчиков Check ID. Пишем ему тоже любое сообщение и получаем наш user_id.

Дальше в html форме на сайте ставим на нужную нам форму action="sendmessage.php", а код для него такой:

<?php
/**
* Отсылает сообщение в MAX
* через бот
*
* INPUT:
* $_POST['name'] = имя отправителя
* $_POST['phone'] = телефон отправителя
* $_POST['email'] = email отправителя
* $_POST['message'] = сообщение
*
*/
if (isset($_SERVER) && !empty($_POST) && $_POST['name'] != "" && $_POST['phone'] != "" && $_POST['email'] != "" && $_POST['message'] != "") {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://platform-api.max.ru/messages?user_id={user_id}');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HEADER, false);
$headers = array();
$headers[] = 'Authorization: {token}';
$headers[] = 'Content-Type: text/plain';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$data = array('text' => 'Имя: ' . $_POST['name'] . ' | Телефон: ' . $_POST['phone'] . ' | Email: ' . $_POST['email'] . ' | ' . $_POST['message']);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data, JSON_UNESCAPED_UNICODE));
$result = curl_exec($ch);
if (curl_errno($ch)) {
echo 'Error:' . curl_error($ch);
}
curl_close($ch);
//var_dump(json_decode($result, true)); Раскомментировать для выдачи дебаг информации
} else {
die();
}
?>

Где надо подставить полученные {user_id} и {token}.

Теперь при отправке сообщения на сайте в Макс будет приходить это сообщение.

В php надо обязательно делать жесткую проверку присланных данных и ограничение по времени (например один раз в минуту). Иначе заспамят и взломают. У самого Макса стоит тоже ограничение в 30 запросов в секунду.

И все гораздо проще, чем я пытался это сделать тоже самое через ВК. Убил часа три и так и не получилось ничего. Два каких-то токена, они оба не работают, нужен третий токен, документация на английском (ПОЧЕМУ? платформа 100% российская), в ней хрен что поймешь.