Fórum Pushbullet #602995
13/06/2019
0
Alguém saberia me dizer como poderia usar a API do Pushbullet em delphi???
https://docs.pushbullet.com/
Gostaria de informar o número do celular em um maskedit e digitar a mensagem em um memo, e ao clicar no botão enviar a mensagem e disparada através da api do pushbullet.Mais não tenho ideia de como usar.
Alguém ajuda?
Grato
Bruno Henrique
Curtir tópico
+ 0Posts
13/06/2019
Bruno Henrique
using System;
using System.Data.SqlTypes;
using System.IO;
using System.Net;
using System.Text;
using Bibliotecas.Model;
public partial class StoredProcedures
{
[Microsoft.SqlServer.Server.SqlProcedure]
public static void stpEnvia_Torpedo(SqlString Nr_Numero, SqlString Ds_Mensagem)
{
if (Nr_Numero.IsNull)
Retorno.Erro("Favor informar o número de telefone que irá receber a mensagem");
if (Nr_Numero.Value.Length <= 9)
Retorno.Erro("Favor informar o número de telefone com DDD");
if (Ds_Mensagem.IsNull)
Retorno.Erro("Favor informar a mensagem que será enviada");
if (Ds_Mensagem.Value.Length > 160)
Retorno.Erro("O tamanho máximo da mensagem a ser enviada por SMS é de 160 caracteres");
try
{
const string AccessToken = "seu_access_token"; //https://www.pushbullet.com/#settings
const string UserIdentity = "token_usuario"; //curl --header "Access-Token: access_token" https://api.pushbullet.com/v2/users/me
const string DeviceIdentity = "token_do_dispositivo"; //curl--header "Access-Token: access_token" https://api.pushbullet.com/v2/devices
var dsScript = @"{
""push"": {
""type"": ""messaging_extension_reply"",
""package_name"": ""com.pushbullet.android"",
""source_user_iden"": """ + UserIdentity + @""",
""target_device_iden"": """ + DeviceIdentity + @""",
""conversation_iden"": """ + ((Nr_Numero.Value.Length <= 11) ? "+55" + Nr_Numero.Value : Nr_Numero.Value) + @""",
""message"": """ + Ds_Mensagem.Value.Replace('\\\\', '/') + @"""
},""type"": ""push""
}";
var request = (HttpWebRequest) WebRequest.Create("https://api.pushbullet.com/v2/ephemerals");
request.Method = "POST";
request.Headers.Add("Access-Token", AccessToken);
request.UserAgent = "curl/7.37.0";
request.ContentType = "application/json";
var buffer = Encoding.GetEncoding("UTF-8").GetBytes(dsScript);
using (var reqstr = request.GetRequestStream())
{
reqstr.Write(buffer, 0, buffer.Length);
using (var response = request.GetResponse())
{
var dataStream = response.GetResponseStream();
var reader = new StreamReader(dataStream);
var responseFromServer = reader.ReadToEnd();
if (responseFromServer == "{}")
Retorno.Mensagem(responseFromServer);
else
Retorno.Erro(responseFromServer);
}
}
}
catch (Exception e)
{
Retorno.Erro("Erro : " + e.Message);
}
}
}E tem esse em Php
<?php
// Variáveis
$Nr_Numero = "+5527912345678";
$Ds_Mensagem = "Teste da API com o PHP";
$Nr_Numero = (strlen( $Nr_Numero ) <= 11) ? "+55" . $Nr_Numero : $Nr_Numero;
$Ds_Mensagem = str_replace( "\\\\", "/", $Ds_Mensagem );
// Parâmetros
$strUrl = "https://api.pushbullet.com/v2/ephemerals";
$AccessToken = "seu_access_token";
$UserIdentity = "seu_token_usuario";
$DeviceIdentity = "seu_token_dispositivo";
$requisicao = [
'type' => 'push',
'push' => [
'type' => 'messaging_extension_reply',
'package_name' => 'com.pushbullet.android',
'source_user_iden' => $UserIdentity,
'target_device_iden' => $DeviceIdentity,
'conversation_iden' => $Nr_Numero,
'message' => $Ds_Mensagem
]
];
$headers = array(
"Content-type: application/json",
"Access-Token: " . $AccessToken,
);
$ch = curl_init();
curl_setopt( $ch, CURLOPT_URL, $strUrl );
// Cabeçalhos e configurações
curl_setopt( $ch, CURLOPT_HEADER, 1 );
curl_setopt( $ch, CURLOPT_HTTPHEADER, $headers );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt( $ch, CURLOPT_USERAGENT, "curl/7.37.0" );
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, TRUE );
curl_setopt( $ch, CURLOPT_MAXREDIRS, 2 );
// Desativa a verificaçõo de certificado SSL
curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, 0 );
curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, 0 );
// Envia os dados
curl_setopt( $ch, CURLOPT_POST, 1 );
curl_setopt( $ch, CURLOPT_POSTFIELDS, json_encode( $requisicao ) );
$retorno = curl_exec( $ch );
curl_close( $ch );
if ( substr( $retorno, -2 ) == "{}" )
{
echo "Torpedo enviado com sucesso para o número " . $Nr_Numero;
}
else
{
echo "Erro: " . $retorno;
}
?>Gostei + 0
18/06/2019
Bruno Henrique
Gostei + 0
17/09/2019
Everton Battiston
Olá, temos uma solução bem bacana para envio de SMS, integrando via API ou acessando direto na web. Temos um valor bem agressivo para envio de SMS. Fique a vontade para conhecer a DisparoPro, acesse:
https://pro.disparopro.com.br/integracao-via-api/
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)