Messages d'un site en VK - simple et efficace - PHP + CUrl

La livraison de messages à VK est pratique pour la plupart des sites de directions différentes: de nombreuses personnes ne lisent pas les e-mails, tout est compliqué dans les messageries instantanées telles que Votsap et Viber. Et la newsletter et les notifications personnelles du site en VK - les plus faciles, simples et immédiatement visibles pour l'utilisateur.

Pour mon service de notifications de nouvelles annonces, je dois envoyer rapidement et gratuitement des notifications de nouvelles annonces aux utilisateurs. Le canal de base - e-mail - n'est pas pratique. Un autre bon canal - le messager Telegram - a décidé de se battre pour la confidentialité et n'est pas devenu fiable. Par conséquent, j'ai dû ajouter une alternative sous la forme de VK (d'autant plus que le service sait toujours comment suivre les groupes dans VK pour l'apparition de nouvelles entrées et commentaires). J'ai été agréablement surpris par la simplicité et la délicatesse des réglages, même le Telegram n'était pas à proximité.

1. Connectez le widget "Autoriser à écrire dans la communauté"

Le widget ressemble à un bouton. J'ai intégré le bouton dans les paramètres du compte utilisateur du service.

image

Dans le texte, vous devez remplacer 74449217 par l'ID de votre groupe. Pensez également à l'endroit où l'ID utilisateur reçu VKontakte sera enregistré. Dans le code ci-dessous, il est affecté au champ vk_id, puis il est enregistré avec d'autres paramètres.

<script type='text/javascript' src='https://vk.com/js/api/openapi.js?154'></script> <div id='vk_send_message'></div> <script type='text/javascript'> VK.Widgets.AllowMessagesFromCommunity('vk_send_message', {height: 30},74449217); VK.Observer.subscribe('widgets.allowMessagesFromCommunity.allowed', function f(userId) { console.log(userId); console.log('allowed'); document.getElementById('vk_id').value=userId; }); VK.Observer.subscribe('widgets.allowMessagesFromCommunity.denied', function f(userId) { console.log(userId); console.log('denied'); document.getElementById('vk_id').value=''; }); </script> 

Documentation du widget .

Nous avons obtenu l'autorisation de l'utilisateur, nous allons maintenant organiser l'envoi de messages.

2. Envoi de messages

Dans vos paramètres de communauté, activez les messages de communauté.

image

Nous générons un jeton de notre communauté.

image

En général, tout est prêt. Pour envoyer un message, utilisez PHP + CUrl. Dans la fonction d'envoi, en tant que paramètres d'entrée, nous transférons l'ID utilisateur VK et le texte du message précédemment reçus. La fonction utilise également les constantes vk_token, le jeton de communauté.

 //   vk function send_vk($vk_id, $text_source) { $url="https://api.vk.com/method/messages.send?user_id=$vk_id&v=5.76&access_token=".vk_token; $text=rawurlencode($text_source); $ch = curl_init($url); curl_setopt($ch, CURLOPT_TIMEOUT, 10); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,false); curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false); curl_setopt($ch, CURLOPT_URL,$url); curl_setopt($ch, CURLOPT_POSTFIELDS, "&message=".$text); $hh=curl_exec($ch); //    if (!strpos(" ".$hh,'{"response":')) { //    ,   if (!strpos(" ".$hh,'error')) {$hh=curl_exec($ch);} } $html=$hh; curl_close($ch); return $html; } 

En plus d'étudier les possibilités et le matériel, j'ai passé une journée à organiser l'envoi d'alertes à VC - je pense que c'est l'une des options les plus faciles pour communiquer avec l'utilisateur.

Source: https://habr.com/ru/post/fr416001/


All Articles