Ir para conteúdo
Fórum Script Brasil
  • 0

erro ao requisitar codigo whatsapp


Jacob Oliveira

Pergunta

Fala pessoal, estou tentando desenvolver uma aplicação de envio de mensagens whatsapp mas não estou conseguindo pelo seguindo erro:

object(stdClass)#1 (2) { ["status"]=> string(4) "fail" ["reason"]=> string(9) "bad_token" }

esse ai é o resultado do var_dump()

e aqui abaixo é o codigo :

<?php

codeRequest();


function codeRequest()
    {
       
        // Build the token.
        $token = generateRequestToken('BR', '91XXXXXXXX');
        // Build the url.
        $host = 'https://v.whatsapp.net/v2/code';
        $query = array(
            'method' => 'sms',
            'in' => '9192278836',
            'cc' => '55',
            'id' => '%40%bd%00%15c%08_%c3qe2%9e%a1%ff%5c%5e%cb%db%be%ef&',
            'lg' => 'pt',
            'lc' => 'BR',
            'token' => urlencode($token),
            'sim_mcc' => '000', //$phone['mcc']
            'sim_mnc' => '000', // 001
        );
       
        $response = getResponse($host, $query);
       
        if ($response->status == 'ok') {
			var_dump($response);
        } else {
			var_dump($response);
		}
}
function generateRequestToken($country, $phone) {
	$signature = "MIIDMjCCAvCgAwIBAgIETCU2pDALBgcqhkjOOAQDBQAwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFDASBgNVBAcTC1NhbnRhIENsYXJhMRYwFAYDVQQKEw1XaGF0c0FwcCBJbmMuMRQwEgYDVQQLEwtFbmdpbmVlcmluZzEUMBIGA1UEAxMLQnJpYW4gQWN0b24wHhcNMTAwNjI1MjMwNzE2WhcNNDQwMjE1MjMwNzE2WjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEUMBIGA1UEBxMLU2FudGEgQ2xhcmExFjAUBgNVBAoTDVdoYXRzQXBwIEluYy4xFDASBgNVBAsTC0VuZ2luZWVyaW5nMRQwEgYDVQQDEwtCcmlhbiBBY3RvbjCCAbgwggEsBgcqhkjOOAQBMIIBHwKBgQD9f1OBHXUSKVLfSpwu7OTn9hG3UjzvRADDHj+AtlEmaUVdQCJR+1k9jVj6v8X1ujD2y5tVbNeBO4AdNG/yZmC3a5lQpaSfn+gEexAiwk+7qdf+t8Yb+DtX58aophUPBPuD9tPFHsMCNVQTWhaRMvZ1864rYdcq7/IiAxmd0UgBxwIVAJdgUI8VIwvMspK5gqLrhAvwWBz1AoGBAPfhoIXWmz3ey7yrXDa4V7l5lK+7+jrqgvlXTAs9B4JnUVlXjrrUWU/mcQcQgYC0SRZxI+hMKBYTt88JMozIpuE8FnqLVHyNKOCjrh4rs6Z1kW6jfwv6ITVi8ftiegEkO8yk8b6oUZCJqIPf4VrlnwaSi2ZegHtVJWQBTDv+z0kqA4GFAAKBgQDRGYtLgWh7zyRtQainJfCpiaUbzjJuhMgo4fVWZIvXHaSHBU1t5w//S0lDK2hiqkj8KpMWGywVov9eZxZy37V26dEqr/c2m5qZ0E+ynSu7sqUD7kGx/zeIcGT0H+KAVgkGNQCo5Uc0koLRWYHNtYoIvt5R3X6YZylbPftF/8ayWTALBgcqhkjOOAQDBQADLwAwLAIUAKYCp0d6z4QQdyN74JDfQ2WCyi8CFDUM4CaNB+ceVXdKtOrNTQcc0e+t";
	$classesMd5 = "oCtjlSonS+4H16h9HW6nNA=="; // 2.11.378 [*]
    $key2 = base64_decode("/UIGKU1FVQa+ATM2A0za7G2KI9S/CwPYjgAbc67v7ep42eO/WeTLx1lb1cHwxpsEgF4+PmYpLd2YpGUdX/A2JQitsHzDwgcdBpUf7psX1BU=");
	$data = base64_decode($signature) . base64_decode($classesMd5) . $phone;
	$opad = str_repeat(chr(0x5C), 64);
	$ipad = str_repeat(chr(0x36), 64);
	for ($i = 0; $i < 64; $i++) {
		$opad[$i] = $opad[$i] ^ $key2[$i];
		$ipad[$i] = $ipad[$i] ^ $key2[$i];
	}
	$output = hash("sha1", $opad . hash("sha1", $ipad . $data, true), true);
    
	return base64_encode($output);
}
 function buildIdentity($identity)
    {
        return strtolower(urlencode(sha1($identity, true)));
    }
	 function getResponse($host, $query)
    {
        // Build the url.
        $url = $host . '?';
        foreach ($query as $key => $value) {
            $url .= $key . '=' . $value . '&';
        }
        $url = rtrim($url, '&');
        // Open connection.
        $ch = curl_init();
        // Configure the connection.
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_HEADER, 0);
        curl_setopt($ch, CURLOPT_USERAGENT, 'WhatsApp/ 2.11.476 Android/4.3 Device/GalaxyS3');
        curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: text/json'));
        // This makes CURL accept any peer!
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        // Get the response.
        $response = curl_exec($ch);
        // Close the connection.
        curl_close($ch);
        return json_decode($response);
    }


?>

há algumas funcoes que não estou usando como buildIdentity()

Estou a dias procurando na net uma solução para envio de mensagens whatsapp mas não encontro

Desde já obrigado

Editado por Jacob Oliveira
Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

não sei se funciona.. mas de uma olhada nesta API

https://github.com/venomous0x/WhatsAPI

pelo que entendi o problema de envio com o watsapp é saber a senha interna que muda de tempos em tempos e tem que ter um espaço em segundos para não ser bloqueado o numero por spam de mensagens

esta api pelo pouco que vi é completa com exemplos de funcionamento, não testei nem sei como funciona.. apenas salvei aqui para ver caso de necessidade

mas de uma pesquisada no google por whatsapp send message api

Link para o comentário
Compartilhar em outros sites

  • 0

Erro whatsappAPI retorna PollMessages(); vazio

Estava com o mesmo problema, mas ao atualizar a API deu certo o envio, mas ainda não estou conseguindo desenvolver a responsa.

API atualizada: https://github.com/mgp25/WhatsAPI-Official/

Estou usando o seguinte código que baixei:

<?php
// This file is part of a tutorial on the blog of Philipp C. Heckel, July 2013
// http://blog.philippheckel.com/2013/07/07/send-whatsapp-messages-via-php-script-using-whatsapi/
require_once 'src/whatsprot.class.php';
$username = "558585021877"; //fone usuario
$userIdentity = "012345678901234";
$password = "gbnn16gcOu0ZCVZMdf5r6zv3W60=";
$userName = "Emporio do Bolo";

$w = new WhatsProt($username, $userIdentity, $userName, $debug);
$w->Connect();
$w->LoginWithPassword($password);

echo "antes de entrar";
while (true) {
echo "depois do while";
$w->PollMessages();
$msgs = $w->GetMessages();

foreach ($msgs as $m) {
echo "depois do foreach";
$time = date("m/d/Y H:i", $m->_attributeHash['t']);
$from = str_replace("@s.whatsapp.net", "", $m->_attributeHash['from']);
$name = "(unknown)";
$body = "";

foreach ($m->_children as $child) {
if ($child->_tag == "body") {
$body = $child->_data;
echo "edu 01 <br>";
}
else if ($child->_tag == "notify") {
if (isset($child->_attributeHash) && isset($child->_attributeHash['name'])) {
$name = $child->_attributeHash['name'];
echo "edu 02 <br>";
}
}
}

if (!empty($body)) {
echo "[$time] From: $from, Name: $name, Message: $body\n";
echo "body <br>";
}

if (strtolower($body) == "exit") {
exit;
}

// print_r($m);
}
}
?>
A parte de enviar mensagens esta funcionando perfeitamente, mas receber as mensagens ainda não.
Se vocês perceberem escrevi até uns echo "debug"; pra debugar, mas o código percorre listas vazias.
Tecnicamente o código esta correto, mas esta retornando listas vazias de acordo com os nós abaixo:
tx  <stream:features>
tx    <readreceipts></readreceipts>
tx    <groups_v2></groups_v2>
tx    <privacy></privacy>
tx    <presence></presence>
tx  </stream:features>

tx  <auth mechanism="WAUTH-2" user="558585021877">W-e#558585021877z[A৯ú`êÓAM –Uz$?*1426383207WhatsApp/2.12.61 S40Version/14.26 Device/Nokia302 MccMnc/724002</auth>

rx  <start from="s.whatsapp.net"></start>

rx  <stream:features></stream:features>

rx  <challenge>`:ÏòÿÑêÙ¬X¥aôç¥æ</challenge>

tx  <response>™ÄÛÃ#¹ùLlyZ´ß×±3CGSCR8US ¥½ÚiÔ3</response>

rx  <success t="1426383207" props="4" kind="free" status="active" creation="1394452866" expiration="1457960949">ÿBB‹°„Wä¤]|¸…þoj</success>

tx  <presence name="012345678901234"></presence>
alguém pode me ajudar a descobrir porque esta retornando vazio?
Editado por EduFilgueira
Link para o comentário
Compartilhar em outros sites

  • 0

<script type='text/javascript'>window.mod_pagespeed_start = Number(new Date());</script>

Erro whatsappAPI retorna PollMessages(); vazio

Estava com o mesmo problema, mas ao atualizar a API deu certo o envio, mas ainda não estou conseguindo desenvolver a responsa.

API atualizada: https://github.com/mgp25/WhatsAPI-Official/

Estou usando o seguinte código que baixei:

<?php
// This file is part of a tutorial on the blog of Philipp C. Heckel, July 2013
// http://blog.philippheckel.com/2013/07/07/send-whatsapp-messages-via-php-script-using-whatsapi/
require_once 'src/whatsprot.class.php';
$username = "558585021877"; //fone usuario
$userIdentity = "012345678901234";
$password = "gbnn16gcOu0ZCVZMdf5r6zv3W60=";
$userName = "Emporio do Bolo";

$w = new WhatsProt($username, $userIdentity, $userName, $debug);
$w->Connect();
$w->LoginWithPassword($password);

echo "antes de entrar";
while (true) {
echo "depois do while";
$w->PollMessages();
$msgs = $w->GetMessages();

foreach ($msgs as $m) {
echo "depois do foreach";
$time = date("m/d/Y H:i", $m->_attributeHash['t']);
$from = str_replace("@s.whatsapp.net", "", $m->_attributeHash['from']);
$name = "(unknown)";
$body = "";

foreach ($m->_children as $child) {
if ($child->_tag == "body") {
$body = $child->_data;
echo "edu 01 <br>";
}
else if ($child->_tag == "notify") {
if (isset($child->_attributeHash) && isset($child->_attributeHash['name'])) {
$name = $child->_attributeHash['name'];
echo "edu 02 <br>";
}
}
}

if (!empty($body)) {
echo "[$time] From: $from, Name: $name, Message: $body\n";
echo "body <br>";
}

if (strtolower($body) == "exit") {
exit;
}

// print_r($m);
}
}
?>
A parte de enviar mensagens esta funcionando perfeitamente, mas receber as mensagens ainda não.
Se vocês perceberem escrevi até uns echo "debug"; pra debugar, mas o código percorre listas vazias.
Tecnicamente o código esta correto, mas esta retornando listas vazias de acordo com os nós abaixo:
tx  <stream:features>
tx    <readreceipts></readreceipts>
tx    <groups_v2></groups_v2>
tx    <privacy></privacy>
tx    <presence></presence>
tx  </stream:features>

tx  <auth mechanism="WAUTH-2" user="558585021877">W-e#558585021877z[A৯ú`êÓAM –Uz$?*1426383207WhatsApp/2.12.61 S40Version/14.26 Device/Nokia302 MccMnc/724002</auth>

rx  <start from="s.whatsapp.net"></start>

rx  <stream:features></stream:features>

rx  <challenge>`:ÏòÿÑêÙ¬X¥aôç¥æ</challenge>

tx  <response>™ÄÛÃ#¹ùLlyZ´ß×±3CGSCR8US ¥½ÚiÔ3</response>

rx  <success t="1426383207" props="4" kind="free" status="active" creation="1394452866" expiration="1457960949">ÿBB‹°„Wä¤]|¸…þoj</success>

tx  <presence name="012345678901234"></presence>
alguém pode me ajudar a descobrir porque esta retornando vazio?

Olá amigo você conseguiu resolver, você pode liberar o codigo?, estou precisando muito para implementar em um painel que estou desenvolvendo.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...