Почитать другие заметки или статьи

Как правило, для уведомлений с сайта используется электронная почта. И это очень хороший и проверенный годами способ доставки информации о новых заказах, регистрациях пользователей и прочих запросах посетителей. Однако, случаются моменты, когда отправка писем с сайта внезапно перестаёт работать. И в таких случаях очень полезен будет дублирующий вариант отправки данных. Сегодня мы рассмотрим вариант отправки уведомлений с сайта через API социальной сети VK.

Кому попало не получится

Сразу хочу огорчить многих: отправлять сообщения кому попало не получится.

Отправка сообщения возможна только конкретному пользователю VK с конкретным ID. Более того, для этого пользователя нужно выполнить ряд условий, о которых мы поговорим ниже.

Кто-то мне возразит: «Мол, мне от одного известного сервиса приходят уведомления в VK и я не выполнял никаких условий!».

Действительно, есть много крупных сервисов, у которых есть прямая договорённость с VK и и этим компаниям позволено использовать API от VK с полными правами.

На моё письмо в адрес техподдержки VK о том, что было бы здорово дать мне полный доступ к API, мне тактично ответили, что на данный момент кому попало мы такие доступы не раздаём. А также спросили: «Чем ещё мы можем вам помочь?».

И тем не менее

Несмотря на всё выше написанное, вариант отправки сообщений с сайта через API социальной сети VK есть!

Для этого владелец сайта должен создать группу в VK или иметь ранее созданную группу, где он имеет права администратора.

Далее, необходимо перейти в настройки группы, а именно: в раздел Дополнительно — Работа с API.

Откроется страница, где на первой вкладке под названием«Ключи доступа» мы должны нажать на кнопку «Создать ключ».

Откроется всплывающее окно, где мы ставим флажок напротив строчки «Разрешить приложению доступ к сообщениям сообщества»

Далее, в нижней части окошка, нажимаем кнопку «Создать».

После этого, будет запрошено подтверждение на запрос ключа. Возможно, это будет смс код, возможно пуш уведомление на ваше устройство.

После подтверждения, откроется текстовое поле с ключом.

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

Как узнать ID пользователя в VK

Следующий обязательный шаг — это получение ID пользователя VK, поскольку в качестве адресата будет использоваться именно он.

Однако, перед этим, тот кто планирует получать сообщения с сайта, обязан отправить хотя бы одно сообщение администратору группы через раздел «Сообщения».

Если он сам и является администратором, то должен отправить сообщение сам себе.

Отправка сообщения - обязательное условие!

Далее будущий получатель сообщений должен зайти в настройки своего кабинета в VK и там скопировать свой ID.

Например, если в рядом с поле «Адрес страницы» нажать кнопку «Изменить», то откроется ID пользователя.

Копируем его и приступаем к отправке сообщения с сайта.

Для тех, кто программист

Следующий фрагмент статьи исключительно для тех, кто мнит себя программистом.

Я представляю фрагмент кода, который позволяет отправлять сообщения с сайта через API VK.

Хочу заметить, что до отправки сообщения на сторону VK, ваши данные должны быть подготовлены соответствующим образом.

Нельзя отправить HTML код.

Если вы передаёте данные из заказа, то где то заранее должен быть написан метод для подготовки этих данных.

Итак, код:

	function send($message , $user_id) {

    $token = 'Ваш токен';

    $params = [
        'user_id' => $user_id,
        'random_id' => rand(1, 2147483647),
        'message' => $message,
        'v' => '5.199'
    ];

    $ch = curl_init();

    curl_setopt_array($ch, [
        CURLOPT_URL => 'https://api.vk.ru/method/messages.send',
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_POST => true,
        CURLOPT_POSTFIELDS => http_build_query($params),
        CURLOPT_HTTPHEADER => [
            "Authorization: Bearer $token"
        ],
        CURLOPT_TIMEOUT => 10
    ]);

    $response = curl_exec($ch);

    if (curl_errno($ch)) {
        echo 'Что-то пошло не так!';
        return false;
    } else {
        $result = json_decode($response, true);

        if (isset($result['error'])) {
            echo 'Что-то пошло не так!'.'
'; print_r($result['error']['error_msg']); } else { echo 'Жизнь удалась, сообщение отправлено!'; return true; } } return false; } send('Привет, друг!', 'id пользователя');

Заключение

Друзья, если вам нужно настроить отправку сообщений с сайта в VK, пишите.

Я с удовольствием помогу. Но платно!

К сожалению, я не занимаюсь бесплатными уроками по программированию и, тем более, не консультирую тех, кто хотел при помощи искусственного интеллекта справиться сам, но отчего то не справился.

Тем не менее.

Надеюсь, что данная статья оказалась полезной и кому то позволит сэкономить пару лишних минут. А может, и часов!

Напоминаю!

Если у вас остались вопросы и предложения, их всегда можно озвучить в группе VK по ссылке ниже:

https://vk.com/sitogon

Также можно подписаться на мой канал в MAX:

Сайтогон в Max

С уважением, Владимир Егоров.