Pushbullet

Delphi

13/06/2019

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
Bruno Henrique

Bruno Henrique

Curtidas 0

Respostas

Bruno Henrique

Bruno Henrique

13/06/2019

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;
}
?>
GOSTEI 0
Bruno Henrique

Bruno Henrique

13/06/2019

Alguém???Ainda sem solução
GOSTEI 0
Battiston

Battiston

13/06/2019

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/

GOSTEI 0
POSTAR