Introdução à SMS API da Vonage

O Serviço de Mensagens Curtas (SMS) é um serviço de mensagens de texto que utiliza protocolos de comunicação padronizados para enviar mensagens de texto curtas para dispositivos ou entre eles. Essas mensagens são transmitidas por meio de redes de telefonia celular.

As APIs de comunicação, como a Messages API da Vonage, permitem enviar mensagens SMS programaticamente, por meio de uma solicitação HTTP a um endpoint da API. A mensagem é então encaminhada para a rede celular para ser entregue no dispositivo do destinatário.

A Messages API e a SMS API

Atualmente, existem duas SMS APIs da Vonage com as quais você pode enviar mensagens SMS:

Existem algumas diferenças entre as duas APIs que talvez você queira levar em consideração ao decidir qual delas usar.

Messages API

  • A Messages API é uma API de mensagens multicanal que oferece suporte a outros canais de mensagens, além do SMS
  • Isso inclui outros canais baseados em rede, como MMS e RCS, bem como canais OTT, como o WhatsApp e o Facebook Messenger
  • Todos os canais utilizam o mesmo endpoint e a mesma estrutura básica para as cargas de solicitação; assim, é possível utilizar vários canais por meio de uma única integração
  • A Messages API continuará sendo aprimorada com novos recursos e suporte para canais de rede e OTT
  • A Messages API oferece um webhook de status de mensagens que suporta os seguintes status:
    • submitted
    • delivered
    • rejected
    • undeliverable

SMS API (versão antiga)

  • A SMS API oferece Comprovantes de entrega para segmentos de mensagens individuais (nos casos em que uma mensagem longa foi dividida em várias partes para envio).
  • A SMS API Comprovantes de entrega suportam os seguintes status:
    • accepted
    • delivered
    • buffered
    • expired
    • failed
    • rejected
    • unknown

Os clientes que enviam SMS nos EUA utilizando números de telefone geográficos de 10 dígitos deverão seguir as 10 diretrizes regulatórias da DLC. Consulte nosso 10 Documentação do DLC para mais informações.

Enviar um SMS

Este exemplo mostra como enviar um SMS para o número de sua escolha.

Este exemplo destina-se especificamente ao uso com a SMS API

Primeiro, Crie um Account na Vonage se você ainda não tiver uma, e anote sua chave e seu segredo da API no página de introdução do painel de controle.

Substitua os seguintes valores de espaço reservado no código de exemplo:

Chave Descrição
VONAGE_API_KEY Sua chave de API da Vonage.
VONAGE_API_SECRET Seu segredo da API da Vonage.

Escreva o código

Adicione o seguinte ao arquivo ` send-sms.sh`:

curl -X POST https://rest.nexmo.com/sms/json \
  -u "$VONAGE_API_KEY:$VONAGE_API_SECRET" \
  -d "from=${SMS_SENDER_ID}" \
  -d "to=${SMS_TO_NUMBER}" \
  -d 'text=A text message sent using the Vonage SMS API'

Ver código-fonte completo

Execute seu código

Salve este arquivo no seu computador e execute-o:

sh send-sms.sh

Pré-requisitos

npm install @vonage/server-sdk

Crie um arquivo chamado ` send.js ` e insira o seguinte código:

const { Vonage } = require('@vonage/server-sdk');

const vonage = new Vonage({
  apiKey: VONAGE_API_KEY,
  apiSecret: VONAGE_API_SECRET,
});

Ver código-fonte completo

Escreva o código

Adicione o seguinte ao arquivo ` send.js`:

vonage.sms.send({
  to: SMS_TO_NUMBER,
  from: SMS_SENDER_ID,
  text: 'A text message sent using the Vonage SMS API',
})
  .then((resp) => {
    console.log('Message sent successfully');
    console.log(resp);
  })
  .catch((err) => {
    console.log('There was an error sending the messages.');
    console.error(err);
  });

Ver código-fonte completo

Execute seu código

Salve este arquivo no seu computador e execute-o:

node send.js

Pré-requisitos

Adicione o seguinte ao arquivo ` build.gradle`:

implementation 'com.vonage:server-sdk-kotlin:2.1.1'

Crie um arquivo chamado ` SendMessage ` e adicione o código a seguir ao método ` main `:

val client = Vonage {
    apiKey(VONAGE_API_KEY)
    apiSecret(VONAGE_API_SECRET)
}

Ver código-fonte completo

Escreva o código

Adicione o seguinte ao método ` main ` do arquivo ` SendMessage `:

val response = client.sms.sendText(
    from = SMS_SENDER_ID,
    to = SMS_TO_NUMBER,
    message = "Hello from Vonage SMS API"
)

println(
    if (response.wasSuccessfullySent())
        "Message sent successfully."
    else
        "Message failed with error: ${response[0].errorText}"
)

Ver código-fonte completo

Execute seu código

Podemos usar o plugin “ aplicativo ” para o Gradle a fim de simplificar a execução do nosso aplicativo. Atualize seu arquivo ` build.gradle ` com o seguinte:

apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''

Execute o seguinte comando ` gradle ` para rodar seu aplicativo, substituindo ` com.vonage.quickstart.kt.sms ` pelo pacote que contém ` SendMessage`:

gradle run -Pmain=com.vonage.quickstart.kt.sms.SendMessage

Pré-requisitos

Adicione o seguinte ao arquivo ` build.gradle`:

implementation 'com.vonage:server-sdk:9.3.1'

Crie um arquivo chamado ` SendMessage ` e adicione o código a seguir ao método ` main `:

VonageClient client = VonageClient.builder().apiKey(VONAGE_API_KEY).apiSecret(VONAGE_API_SECRET).build();

Ver código-fonte completo

Escreva o código

Adicione o seguinte ao método ` main ` do arquivo ` SendMessage `:

TextMessage message = new TextMessage(
        SMS_SENDER_ID, SMS_TO_NUMBER,
        "A text message sent using the Vonage SMS API"
);

SmsSubmissionResponse response = client.getSmsClient().submitMessage(message);

if (response.getMessages().get(0).getStatus() == MessageStatus.OK) {
    System.out.println("Message sent successfully.");
} else {
    System.out.println("Message failed with error: " + response.getMessages().get(0).getErrorText());
}

Ver código-fonte completo

Execute seu código

Podemos usar o plugin “ aplicativo ” para o Gradle a fim de simplificar a execução do nosso aplicativo. Atualize seu arquivo ` build.gradle ` com o seguinte:

apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''

Execute o seguinte comando ` gradle ` para rodar seu aplicativo, substituindo ` com.vonage.quickstart.sms ` pelo pacote que contém ` SendMessage`:

gradle run -Pmain=com.vonage.quickstart.sms.SendMessage

Pré-requisitos

Install-Package Vonage

Crie um arquivo chamado ` SendSms.cs ` e insira o seguinte código:

using Vonage;
using Vonage.Request;

Ver código-fonte completo

Adicione o seguinte ao arquivo ` SendSms.cs`:

var credentials = Credentials.FromApiKeyAndSecret(
    vonageApiKey,
    vonageApiSecret
    );

var vonageClient = new VonageClient(credentials);

Ver código-fonte completo

Escreva o código

Adicione o seguinte ao arquivo ` SendSms.cs`:

var response = await vonageClient.SmsClient.SendAnSmsAsync(new Vonage.Messaging.SendSmsRequest()
{
    To = SMS_TO_NUMBER,
    From = SMS_SENDER_ID,
    Text = "A text message sent using the Vonage SMS API"
});
Console.WriteLine(response.Messages[0].To);

Ver código-fonte completo

Pré-requisitos

composer require vonage/client

Crie um arquivo chamado ` send-sms.php ` e insira o seguinte código:

$keypair = new \Vonage\Client\Credentials\Keypair(VONAGE_PRIVATE_KEY, VONAGE_APPLICATION_ID);
$client = new \Vonage\Client($keypair);

Ver código-fonte completo

Escreva o código

Adicione o seguinte ao arquivo ` send-sms.php`:

$response = $client->sms()->send(
    new \Vonage\SMS\Message\SMS(TO_NUMBER, BRAND_NAME, 'A text message sent using the Vonage SMS API')
);

$message = $response->current();

if ($message->getStatus() == 0) {
    echo "The message was sent successfully\n";
} else {
    echo "The message failed with status: " . $message->getStatus() . "\n";
}

Ver código-fonte completo

Execute seu código

Salve este arquivo no seu computador e execute-o:

php send-sms.php

Pré-requisitos

pip install vonage python-dotenv

Escreva o código

Adicione o seguinte ao arquivo ` send-an-sms.py`:

from vonage import Auth, Vonage
from vonage_sms import SmsMessage, SmsResponse

client = Vonage(Auth(api_key=VONAGE_API_KEY, api_secret=VONAGE_API_SECRET))

message = SmsMessage(
    to=SMS_TO_NUMBER,
    from_=SMS_SENDER_ID,
    text="A text message sent using the Vonage SMS API.",
)

response: SmsResponse = client.sms.send(message)
print(response)

Ver código-fonte completo

Execute seu código

Salve este arquivo no seu computador e execute-o:

python sms/send-an-sms.py

Pré-requisitos

gem install vonage

Crie um arquivo chamado ` send.rb ` e insira o seguinte código:

client = Vonage::Client.new(
  api_key: VONAGE_API_KEY,
  api_secret: VONAGE_API_SECRET
)

Ver código-fonte completo

Escreva o código

Adicione o seguinte ao arquivo ` send.rb`:

client.sms.send(
  from: SMS_SENDER_ID,
  to: SMS_TO_NUMBER,
  text: 'A text message sent using the Vonage SMS API'
)

Ver código-fonte completo

Execute seu código

Salve este arquivo no seu computador e execute-o:

ruby send.rb

Solução de problemas

Se você tiver problemas ao fazer chamadas de API, certifique-se de verificar o valor retornado campo de status para casos específicos códigos de erro.

Importante: Se você é um cliente dos EUA que utiliza a SMS API para enviar tráfego a partir de um número longo de 10 dígitos com código de país +1 (10 DLC) para redes nos EUA, é necessário registrar uma marca e uma campanha para obter aprovação para o envio. Após a aprovação, é necessário vincular um número à campanha. Consulte o 10 Seção de suporte a DLCs.

Concepts da SMS API da Vonage

Antes de usar a SMS API da Vonage, familiarize-se com o seguinte:

  • Formato numérico - A SMS API exige que os números de telefone estejam no formato E.164.

  • Autenticação - A SMS API realiza a autenticação por meio da chave e do segredo da API do seu Account.

  • Webhooks - A SMS API envia solicitações HTTP ao servidor web do seu aplicativo para que você possa processá-las. Por exemplo: SMS recebidas e confirmaciones de entrega.

Referência