Fórum Pushbullet #602995

13/06/2019

0

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

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

Gostei + 0

18/06/2019

Bruno Henrique

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

Gostei + 0

17/09/2019

Everton 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

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar