Pushbullet

13/06/2019

8

Boa noite!!!

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
Responder

Posts

13/06/2019

Bruno Henrique

Tem esse código em c# mais não sei como passar para o delphi principalmente a parte de requisições!!!



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;
}
?>
Responder

18/06/2019

Bruno Henrique

Alguém???Ainda sem solução
Responder

17/09/2019

Battiston

Testa esse serviço aqui.
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/

Responder
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira