Usar whatsapp
Moderador: Moderadores
Usar whatsapp
Bom dia! Tive dando uma olhada no forum do five e vi um recurso de como usar o Whatsapp através do harbour, só que não consegui fazer funcionar, até compilei usando harbour mais não envia a mensagem.
http://forums.fivetechsupport.com/viewt ... =3&t=24634
Gostaria de saber ser alguém fez funcionar para me ajudar se possível.
Frazato
http://forums.fivetechsupport.com/viewt ... =3&t=24634
Gostaria de saber ser alguém fez funcionar para me ajudar se possível.
Frazato
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Usar whatsapp
Pois é.
Por um lado seria interessante poder enviar mensagens pelo sistema pra ele.
Por outro lado, vai ser péssimo ficar recebendo mensagens não desejadas.
De repente, você vai ficar sem internet no celular, porque recebeu muita propaganda.
Aliás... o GPS do google é bom pra isso também.
Já aconteceu isso comigo, de ficar sem internet porque o GPS do google utilizou todo limite...
Faltou internet até pro próprio GPS....
Mas sei lá... tecnologia tá virando isso...
Por um lado seria interessante poder enviar mensagens pelo sistema pra ele.
Por outro lado, vai ser péssimo ficar recebendo mensagens não desejadas.
De repente, você vai ficar sem internet no celular, porque recebeu muita propaganda.
Aliás... o GPS do google é bom pra isso também.
Já aconteceu isso comigo, de ficar sem internet porque o GPS do google utilizou todo limite...
Faltou internet até pro próprio GPS....
Mas sei lá... tecnologia tá virando isso...
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Usar whatsapp
Bom dia! é que na verdade a ideia é apenas enviar a mensagem de primeira mão, mais depois receber sim! em relação a travamento vou fazer igual tenho hoje para envio de email, fiz um executável aparte que enviar os mails através de solicitação de usuários, pois nem todas as maquinas tem internet disponível em relação ao whatsapp tenho a ideia de fazer a mesma coisa só que o mesmo não envia nada nem conecta o usuário, dai gostaria de saber se o problema e com a minha rede ou estou fazendo alguma coisa errada mesmo.
Frazato
Frazato
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Usar whatsapp
Pelo pouco que conheço do WhatsApp, ele precisa de um número de telefone válido.
E o mesmo número não pode ser usado em dois locais ao mesmo tempo.
Cheguei a instalar aqui no Windows, com emulador, mas ao ativar no computador ele desativou no celular - lógico, usei o mesmo número de telefone pra ativação.
E o mesmo número não pode ser usado em dois locais ao mesmo tempo.
Cheguei a instalar aqui no Windows, com emulador, mas ao ativar no computador ele desativou no celular - lógico, usei o mesmo número de telefone pra ativação.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Usar whatsapp
Amiguinhos,
também estive vendo esta solução, achei interessante e pelo preço pago para se usar(cerca de dois conto por ano) poderia desbancar serviços de SMS, mas existem ressalvas:
- Whatsapp só envia mensagem para outros usuários do serviço.
- Whatsapp só envia mensagem para contatos da SUA agenda que estejam cadastrados no serviço.
- Whatsapp reconhece o SEU numero celular.
- Whatsapp reconhece o SEU IMEI.
Portanto, enquanto seu contato na agenda ainda não tenha o Whatsapp, ele não receberá mensagem do mesmo.
Os testes feitos com a classe Whatsapp precisa de seu numéro de celular e de seu IMEI para o envio.
O problema é...
Até que uma versão do app seja modificada para perceber que ESTÁ em um device e não num PC.
Portanto a aplicação neste estágio é apenas especulativa.
Para envio de mensagens que envolvam PC e telefones ou smartphone, se os dois ultimos tiverem Skype, é possivel fazer algo assim também. Isto, se ainda existir o SDK liberado para criar estas ferramentas.
Desde que a microsoft entrou no jogo, não sei mais como está este recurso para programadores.
também estive vendo esta solução, achei interessante e pelo preço pago para se usar(cerca de dois conto por ano) poderia desbancar serviços de SMS, mas existem ressalvas:
- Whatsapp só envia mensagem para outros usuários do serviço.
- Whatsapp só envia mensagem para contatos da SUA agenda que estejam cadastrados no serviço.
- Whatsapp reconhece o SEU numero celular.
- Whatsapp reconhece o SEU IMEI.
Portanto, enquanto seu contato na agenda ainda não tenha o Whatsapp, ele não receberá mensagem do mesmo.
Os testes feitos com a classe Whatsapp precisa de seu numéro de celular e de seu IMEI para o envio.
O problema é...
Até que uma versão do app seja modificada para perceber que ESTÁ em um device e não num PC.
Portanto a aplicação neste estágio é apenas especulativa.
Para envio de mensagens que envolvam PC e telefones ou smartphone, se os dois ultimos tiverem Skype, é possivel fazer algo assim também. Isto, se ainda existir o SDK liberado para criar estas ferramentas.
Desde que a microsoft entrou no jogo, não sei mais como está este recurso para programadores.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Usar whatsapp
Bom dia! obrigado pelas respostas, mais colocando todos dos dados de Numero, IME e o destinatário na agenda na funciona, não conecta.
Segue o código que pegue no forum internacional.
Segue o código que pegue no forum internacional.
Código: Selecionar todos
//#include "FiveWin.ch"
#include "hbclass.ch"
#include "color.ch"
#include "common.ch"
#include "inkey.ch"
#include "setcurs.ch"
#include "button.ch"
#include "error.ch"
#include "hbsocket.ch"
function Main()
//local oWA := HB_WhatsApp():New( "country code and number", hb_md5( StrRev( "your IMEI" ) ), "your nickname" )
Local Id_IMEI := "0000000000000" // Pequei o numero no celular
local oWA := HB_WhatsApp():New( "5514XXXXX086X", hb_md5( StrRev( Id_IMEI ) ), "Joao Frazato" )
? oWA:Connect()
? oWA:Login()
? oWA:cAccount_status, oWA:cAccount_kind, oWA:cAccount_creation, oWA:cAccount_expiration
//oWA:Message( Str( TS2Num() ), "country code and number to send to", "text of the message" )
oWA:Message( Str( TS2Num() ), "5514996697973", "By Frazato" )
return nil
CLASS HB_WhatsApp
DATA cAccount_status, cAccount_kind, cAccount_creation, cAccount_expiration
DATA cNumber, cPassword, cNickname
DATA pSocket
DATA cServer INIT "s.whatsapp.net"
DATA cHost INIT "bin-short.whatsapp.net"
DATA cRealm INIT "s.whatsapp.net"
DATA nPort INIT 5222
DATA cIP
DATA cQop INIT "auth"
DATA cDigest_Uri INIT "xmpp/s.whatsapp.net"
DATA aResArray
DATA cMsg
DATA _Incomplete_message
METHOD New( cNumber, cPassword, cNickname )
METHOD Connect()
METHOD Login()
METHOD Message(cMmsgid,cTo,cTtxt)
METHOD Read()
METHOD Send( cData )
METHOD _Authenticate( cNonce, cNC )
METHOD _Identify( cStr )
METHOD _Is_Full_Msg( cStr )
METHOD parse_account_info( msg )
METHOD Destroy()
DESTRUCTOR Destroy()
ENDCLASS
METHOD New( cNumber, cPassword, cNickname ) CLASS HB_WhatsApp
::cIP = hb_socketGetHosts( ::cHost )[ 1 ]
::pSocket = hb_socketOpen()
::cNumber = cNumber
::cPassword = cPassword
::cNickname = cNickname
return self
METHOD Connect() CLASS HB_WhatsApp
return hb_socketConnect( ::pSocket, { HB_SOCKET_AF_INET, ::cIP, ::nPort } )
static function StrToHex( cStr )
local n, cHex := ""
for n = 1 to Len( cStr )
cHex += "0x" + PadL( hb_NumToHex( Asc( SubStr( cStr, n, 1 ) ) ), "0", 2 )
if n < Len( cStr )
cHex += ", "
endif
next
return cHex
static function random_uuid()
return hb_strformat( "%04x%04x-%04x-%04x-%04x-%04x%04x%04x",;
hb_Random( 0, 0xffff ), hb_Random( 0, 0xffff ),;
hb_Random( 0, 0xffff ),;
hb_BitOr( hb_Random( 0, 0x0fff ), 0x4000 ),;
hb_BitOr( hb_Random( 0, 0x3fff ), 0x8000 ),;
hb_Random( 0, 0xffff ), hb_Random( 0, 0xffff ), hb_Random( 0, 0xffff ) )
METHOD Login() CLASS HB_WhatsApp
local cBuffer, cResponse, aArrResponse, hAuthData, cValue, aResData, cResData
::Send( "WA" + Chr( 0x01 ) + Chr( 0 ) + Chr( 0 ) + ;
Chr( 0x19 ) + Chr( 0xF8 ) + Chr( 0x05 ) + Chr( 0x01 ) + ;
Chr( 0xA0 ) + Chr( 0x8A ) + Chr( 0x84 ) + Chr( 0xFC ) + ;
Chr( 0x11 ) + "iPhone-2.6.9-5222" + ;
Chr( 0 ) + Chr( 0x08 ) + Chr( 0xF8 ) + Chr( 0x02 ) + ;
Chr( 0x96 ) + Chr( 0xF8 ) + Chr( 0x01 ) + Chr( 0xF8 ) + ;
Chr( 0x01 ) + Chr( 0x7E ) + Chr( 0 ) + Chr( 0x07 ) + Chr( 0xF8 ) + ;
Chr( 0x05 ) + Chr( 0x0F ) + Chr( 0x5A ) + Chr( 0x2A ) + ;
Chr( 0xBD ) + Chr( 0xA7 ) )
cBuffer = ::Read()
cResponse = hb_base64decode( SubStr( cBuffer, 27 ) )
aArrResponse = HB_ATokens( cResponse, "," )
hAuthData = {=>}
? cResponse
for each cValue in aArrResponse
aResData = hb_ATokens( cValue, "=" )
hAuthData[ aResData[ 1 ] ] = StrTran( aResData[ 2 ], '"', "" )
next
cResData = ::_Authenticate( hAuthData[ "nonce" ] )
cResponse = Chr( 0x01 ) + Chr( 0x31 ) + Chr( 0xF8 ) + Chr( 0x04 ) + Chr( 0x86 ) + ;
Chr( 0xBD ) + Chr( 0xA7 ) + Chr( 0xFD ) + Chr( 0 ) + Chr( 1 ) + Chr( 0x28 ) + ;
hb_base64encode( cResData )
::Send( cResponse )
cBuffer = ::Read()
::Read()
cResponse = Chr( 0 ) + Chr( 8 + Len( ::cNickname ) ) + Chr( 0xF8 ) + Chr( 5 ) + Chr( 0x74 ) + ;
Chr( 0xA2 ) + Chr( 0xA3 ) + Chr( 0x61 ) + Chr( 0xFC ) + Chr( Len( ::cNickName ) ) + ;
::cNickName + Chr( 0 ) + Chr( 0x15 ) + Chr( 0xF8 ) + Chr( 6 ) + Chr( 0x48 ) + ;
Chr( 0x43 ) + Chr( 5 ) + Chr( 0xA2 ) + Chr( 0x3A ) + Chr( 0xF8 ) + Chr( 1 ) + ;
Chr( 0xF8 ) + Chr( 4 ) + Chr( 0x7B ) + Chr( 0xBD ) + Chr( 0x4D ) + Chr( 0xF8 ) + ;
Chr( 1 ) + Chr( 0xF8 ) + Chr( 3 ) + Chr( 0x55 ) + Chr( 0x61 ) + Chr( 0x24 ) + ;
Chr( 0 ) + Chr( 0x12 ) + Chr( 0xF8 ) + Chr( 8 ) + Chr( 0x48 ) + Chr( 0x43 ) + ;
Chr( 0xFC ) + Chr( 1 ) + Chr( 0x32 ) + Chr( 0xA2 ) + Chr( 0x3A ) + Chr( 0xA0 ) + ;
Chr( 0x8A ) + Chr( 0xF8 ) + Chr( 1 ) + Chr( 0xF8 ) + Chr( 3 ) + Chr( 0x1F ) + ;
Chr( 0xBD ) + Chr( 0xB1 )
::Send( cResponse )
::Read()
return nil
METHOD _Authenticate( cNonce, cNC ) CLASS HB_WhatsApp
local cCNonce := random_uuid()
local cA1 := hb_StrFormat( "%s:%s:%s", ::cNumber, ::cServer, ::cPassword )
local cA2, cPassword
if cNC == nil
cNC = "00000001"
endif
cA1 = pack_h32( hb_md5( cA1 ) ) + ":" + cNonce + ":" + cCNonce
cA2 = "AUTHENTICATE:" + ::cDigest_Uri
cPassword = hb_md5( cA1 ) + ":" + cNonce + ":" + cNC + ":" + cCNonce + ":" + ::cQop + ;
":" + hb_md5( cA2 )
cPassword = hb_md5( cPassword )
return hb_StrFormat( 'username="%s",realm="%s",nonce="%s",cnonce="%s",nc=%s,qop=%s,digest-uri="%s",response=%s,charset=utf-8',;
::cNumber, ::cRealm, cNonce, cCnonce, cNC, ::cQop, ::cDigest_Uri, cPassword )
METHOD Message( cMsgid, cTo, cTxt ) CLASS HB_WhatsApp
local lLong_txt_bool := isShort( cTxt )
local cStream , cMsg
local cTo_length
local cMsgid_length
local cTotal_length
cTo_length = Chr( Len( cTo ) )
cMsgid_length = Chr( Len( cMsgid ) )
cTxt_length = Chr( Len( cTxt ) )
cContent = Chr( 0xF8 ) + Chr( 0x08 ) + Chr( 0x5D ) + Chr( 0xA0 ) + Chr( 0xFA ) + Chr( 0xFC ) + cTo_length
cContent += cTo
cContent += Chr( 0x8A ) + Chr( 0xA2 ) + Chr( 0x1B ) + Chr( 0x43 ) + Chr( 0xFC ) + cMsgid_length
cContent += cMsgid
cContent += Chr( 0xF8 ) + Chr( 0x02 ) + Chr( 0xF8 ) + Chr( 0x04 ) + Chr( 0xBA ) + Chr( 0xBD ) + Chr( 0x4F) + ;
Chr( 0xF8 ) + Chr( 0x01 ) + Chr( 0xF8 ) + Chr( 0x01 ) + Chr( 0x8C ) + Chr( 0xF8 ) + Chr( 0x02 ) + Chr( 0x16 )
if ! lLong_txt_bool
cContent += Chr( 0xFD ) + Chr( 0 ) + cTxt_length
else
cContent += Chr( 0xFC ) + cTxt_length
endif
cContent += cTxt
cTotal_length = Chr( Len( cContent ) )
if Len( cTotal_length ) == 1
cTotal_length = Chr( 0 ) + cTotal_length
endif
cMsg := cTotal_length + cContent
cStream := ::Send(cMsg)
::Read()
// ::Read()
// ::Read()
Return nil
METHOD Read() CLASS HB_WhatsApp
local cBuffer := Space( 1024 ), cV, cRcvdType
local nLen := hb_socketRecv( ::pSocket, @cBuffer )
cBuffer = SubStr( cBuffer, 1, nLen )
::aResArray = HB_ATokens( cBuffer, Chr( 0 ) )
// ? StrToHex( cBuffer )
for each cV in ::aResArray
cRcvdType = ::_Identify( cV )
// ? cRcvdType
// ? StrToHex( cV )
do case
case cRcvdType == "incomplete_msg"
::_incomplete_message = cV
case cRcvdType == "msg"
::cMsg = ::parse_received_message( cV )
case cRcvdType == "account_info"
::parse_account_info( cV )
case cRcvdType == "last_seen"
::lastseen = ::parse_last_seen( cV )
endcase
next
return cBuffer
METHOD parse_account_info( cMsg )
local nAcst, nActkind
local x := { => }
local nCreation_timstamp_len, nExpr_length
cMsg = SubStr( cMsg, 4 ) // Remove Length,F8,second length
cMsg = SubStr( cMsg, 5 ) // Remove Success XML
// Next should be status
nAcst = Asc( SubStr( cMsg, 1, 1 ) )
if nAcst == 0x09
::cAccount_status = 'active'
else
::cAccount_status = 'inactive'
endif
cMsg = SubStr( cMsg, 3 ) // Remove status & KIND XML
nActkind = Asc( SubStr( cMsg, 1, 1 ) )
if nActkind == 0x37
::cAccount_kind = 'free'
else
::cAccount_kind = 'paid'
endif
cMsg = SubStr( cMsg, 4 ) // Remove XML
nCreation_timstamp_len = Asc( SubStr( cMsg, 1, 1 ) ) // Should return 10 for the next few thousdands years
cMsg = SubStr( cMsg, 2 ) // Remove Length
::cAccount_creation := Num2TS( Val( SubStr( cMsg, 1, nCreation_timstamp_len ) ) )
cMsg = SubStr( cMsg, nCreation_timstamp_len + 1 ) // Remove Timestamp
cMsg = SubStr( cMsg, 3 ) // Remove Expiration XML
nExpr_length = Asc( SubStr( cMsg, 1, 1 ) ) // Should also be 10
cMsg = SubStr( cMsg, 2 ) // Remove Length
::cAccount_expiration := Num2TS( Val( SubStr( cMsg, 1, nExpr_length ) ) )
return nil
METHOD Send( cData ) CLASS HB_WhatsApp
return hb_socketSend( ::pSocket, cData )
static function StartsWith( cStr, cCompare, nPos )
return SubStr( cStr, nPos, Len( cCompare ) ) == cCompare
static function EndsWith( cStr, cCompare )
return Right( cStr, Len( cCompare ) ) == cCompare
METHOD _Identify( cStr ) CLASS HB_WhatsApp
local cMsg_identifier := Chr( 0x5D ) + Chr( 0x38 ) + Chr( 0xFA ) + Chr( 0xFC )
local cServer_delivery_identifier := Chr( 0x8C )
local cClient_delivery_identifier := Chr( 0x7F ) + Chr( 0xBD ) + Chr( 0xAD )
local cAcc_info_iden := Chr( 0x99 ) + Chr( 0xBD ) + Chr( 0xA7 ) + Chr( 0x94 )
local cLast_seen_ident := Chr( 0x48 ) + Chr( 0x38 ) + Chr( 0xFA ) + Chr( 0xFC )
local cLast_seen_ident2 := Chr( 0x7B ) + Chr( 0xBD ) + Chr( 0x4C ) + Chr( 0x8B )
if ! ::_is_full_msg( cStr )
return "incomplete_msg"
elseif StartsWith( cStr, cMsg_identifier, 4 )
if EndsWith( cStr, cServer_delivery_identifier )
return "server_delivery_report"
elseif EndsWith( cStr, cClient_delivery_identifier )
return "client_delivery_report"
else
return "msg"
endif
elseif StartsWith( cStr, cAcc_info_iden, 4 )
return "account_info"
elseif StartsWith( cStr, cLast_seen_ident, 4 ) .and. cLast_seen_ident2 $ cStr
return "last_seen"
else
return "other"
endif
return nil
METHOD _Is_Full_Msg( cStr ) CLASS HB_WhatsApp
return Len( cStr ) == Asc( Left( cStr, 1 ) ) + 1
METHOD Destroy() CLASS HB_WhatsApp
HB_SocketShutDown( ::pSocket )
HB_SocketClose( ::pSocket )
::pSocket = nil
return nil
static function pack_h32( cString )
local c := "", cLeter
local nibbleshift := 4
local n
local nPos := 0
local aOut := {}
for each cLeter in cString
n = asc( cLeter )
if n >= asc( "0" ) .and. n <= asc( "9" )
n -= asc( "0" )
elseif n >= asc( "a" ) .and. n <= asc( "f" )
n -= ( asc( "a" ) - 10 )
elseif n >= asc( "F" ) .and. n <= asc( "F" )
n -= ( asc( "A" ) - 10 )
endif
if cLeter:__enumindex() % 2 != 0
AAdd( aOut, 0 )
nPos++
endif
aOut[ nPos ] = hb_BitOr( aOut[ nPos ], hb_BitShift( n, nibbleshift ) )
nibbleshift = hb_BitAnd( ( nibbleshift + 4 ), 7 )
if cLeter:__enumindex() % 2 == 0
c += Chr( aOut[ nPos ] )
endif
next
return c
static function Num2Days( timet )
return (timet) / (24.0 * 60.0 * 60.0)
static function Num2TS( n )
local fecha, hour, min, sec, time, datetime
local t2d := Num2Days( n )
fecha = Num2Date( n )
hour = ( t2d - int( t2d ) ) * 24
min = ( hour - int( hour ) ) * 60
sec = ( min - int( min ) ) * 60
time = strzero( int( hour ), 2 ) + strzero( int( min ), 2 ) + strzero( int( sec ), 2 )
datetime = dtos( fecha ) + time
return hb_tstostr( hb_stot( datetime ) )
static function Num2Date( n )
local fecha
local t2d := Num2Days( n )
fecha := SToD( "19700101" ) + int( t2d )
return fecha
static function TS2Num( dt )
local fecha
local nNum
dt := hb_DateTime()
//DEFAULT dt := hb_DateTime()
nNum = ( hb_Hour( dt ) * 24 + hb_Minute( dt ) * 60 + hb_sec( dt ) * 60 ) / 86400
nNum += ( hb_TToD( dt ) - SToD( "19700101" ) )
nNum *= 86400
nNum = Int( nNum )
return nNum
static function isShort( str )
return Len( str ) < 256
#pragma BEGINDUMP
#include <hbapi.h>
HB_FUNC( STRREV )
{
int iLen = hb_parclen( 1 ), i;
char * buffer = ( char * ) hb_xgrab( iLen );
for( i = 0; i < iLen; i++ )
buffer[ i ] = hb_parc( 1 )[ iLen - i - 1 ];
hb_retclen( buffer, iLen );
hb_xfree( buffer );
}
#pragma ENDDUMP
-
Kapiaba
- Colaborador

- Mensagens: 1908
- Registrado em: 07 Dez 2012 16:14
- Localização: São Paulo
- Contato:
Usar whatsapp
Se foi deste link:
http://forums.fivetechsupport.com/viewt ... 4&start=30
Resposta do Liñares:
WhatsApp changed its protocol so surely it is not working any more.
WhatsApp mudou seu protocolo, assim, certamente ele não está funcionando mais.
Abs,
http://forums.fivetechsupport.com/viewt ... 4&start=30
Resposta do Liñares:
WhatsApp changed its protocol so surely it is not working any more.
WhatsApp mudou seu protocolo, assim, certamente ele não está funcionando mais.
Abs,
Usar whatsapp
Xara! obrigado foi deste link mesmo que tire o código fonte, vou aguardar e continuar procurando alguma outra solução.
Frazato
Frazato
