Primeros pasos con la SMS API de Vonage
El Servicio de Mensajes Cortos (SMS) es un servicio de mensajería de texto que utiliza protocolos de comunicación estandarizados para enviar mensajes cortos de texto a o entre dispositivos. Estos mensajes se transmiten a través de redes celulares.
Las API de comunicaciones, como Messages API de Vonage, te permiten enviar mensajes SMS mediante programación haciendo una solicitud HTTP a un punto final de API. Luego, el mensaje se transmite a la red celular para su entrega al dispositivo del destinatario.
La Messages API y la SMS API
Actualmente hay dos SMS API de Vonage con las que puedes enviar mensajes SMS:
- El Messages API
- El SMS API
Existen algunas diferencias entre las dos API que puede tener en cuenta a la hora de decidir cuál utilizar.
Messages API
- Messages API es una API de mensajería multicanal que admite otros canales de mensajería además de SMS
- Esto incluye otros canales basados en la red como MMS y RCS, así como canales OTT como WhatsApp y Facebook Messenger.
- Todos los canales utilizan el mismo punto final y la misma estructura básica para las cargas útiles de las solicitudes, por lo que se pueden utilizar varios canales a través de una única integración
- La Messages API seguirá mejorándose con nuevas funciones y compatibilidad con canales de red y OTT.
- La API Messages proporciona un webhook de estado de mensajes que admite los siguientes estados:
submitteddeliveredrejectedundeliverable
SMS API (heredado)
- La SMS API proporciona Recibos de entrega para segmentos de mensajes individuales (cuando un mensaje extenso se ha dividido en varias partes para su envío).
- La SMS API Recibos de entrega admiten los siguientes estados:
accepteddeliveredbufferedexpiredfailedrejectedunknown
Los clientes que envíen SMS en EE. UU. utilizando números de teléfono geográficos de 10 dígitos deberán cumplir las 10 directrices normativas del DLC. Consulte nuestra 10. Documentación del DLC Para más información.
Enviar un SMS
Este ejemplo te muestra cómo enviar un SMS al número que elijas.
Este ejemplo es específico para la API de SMS
Primero, inscríbete en una Account de Vonage si aún no tienes una, y anota tu clave API y tu clave secreta en el Página de introducción al panel de control.
Sustituye los siguientes valores de marcador de posición en el código de ejemplo:
| Clave | Descripción |
|---|---|
VONAGE_API_KEY |
Tu clave API de Vonage. |
VONAGE_API_SECRET |
Tu clave secreta de la API de Vonage. |
Escriba el código
Añada lo siguiente a 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'
Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
npm install @vonage/server-sdkCrea un archivo llamado send.js y añade el siguiente código:
const { Vonage } = require('@vonage/server-sdk');
const vonage = new Vonage({
apiKey: VONAGE_API_KEY,
apiSecret: VONAGE_API_SECRET,
});Escriba el código
Añada lo siguiente a 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);
});Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
Añada lo siguiente a build.gradle:
implementation 'com.vonage:server-sdk-kotlin:2.1.1'Crea un archivo llamado SendMessage y añade el siguiente código al método main:
val client = Vonage {
apiKey(VONAGE_API_KEY)
apiSecret(VONAGE_API_SECRET)
}Escriba el código
Añada lo siguiente al método main del archivo 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}"
)Ejecute su código
Podemos utilizar el plugin aplicación para Gradle para simplificar la ejecución de nuestra aplicación. Actualiza tu build.gradle con lo siguiente:
apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''Ejecute el siguiente comando gradle para ejecutar su aplicación, sustituyendo com.vonage.quickstart.kt.sms por el paquete que contiene SendMessage:
Requisitos previos
Añada lo siguiente a build.gradle:
implementation 'com.vonage:server-sdk:9.3.1'Crea un archivo llamado SendMessage y añade el siguiente código al método main:
VonageClient client = VonageClient.builder().apiKey(VONAGE_API_KEY).apiSecret(VONAGE_API_SECRET).build();Escriba el código
Añada lo siguiente al método main del archivo 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());
}Ejecute su código
Podemos utilizar el plugin aplicación para Gradle para simplificar la ejecución de nuestra aplicación. Actualiza tu build.gradle con lo siguiente:
apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''Ejecute el siguiente comando gradle para ejecutar su aplicación, sustituyendo com.vonage.quickstart.sms por el paquete que contiene SendMessage:
Requisitos previos
Install-Package VonageCrea un archivo llamado SendSms.cs y añade el siguiente código:
using Vonage;
using Vonage.Request;Añada lo siguiente a SendSms.cs:
var credentials = Credentials.FromApiKeyAndSecret(
vonageApiKey,
vonageApiSecret
);
var vonageClient = new VonageClient(credentials);Escriba el código
Añada lo siguiente a 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);Requisitos previos
composer require vonage/clientCrea un archivo llamado send-sms.php y añade el siguiente código:
$keypair = new \Vonage\Client\Credentials\Keypair(VONAGE_PRIVATE_KEY, VONAGE_APPLICATION_ID);
$client = new \Vonage\Client($keypair);Escriba el código
Añada lo siguiente a 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";
}Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
pip install vonage python-dotenvEscriba el código
Añada lo siguiente a 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)Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
gem install vonageCrea un archivo llamado send.rb y añade el siguiente código:
client = Vonage::Client.new(
api_key: VONAGE_API_KEY,
api_secret: VONAGE_API_SECRET
)Escriba el código
Añada lo siguiente a send.rb:
client.sms.send(
from: SMS_SENDER_ID,
to: SMS_TO_NUMBER,
text: 'A text message sent using the Vonage SMS API'
)Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Solución de problemas
Si tienes problemas al realizar llamadas a la API, asegúrate de comprobar el valor devuelto campo de estado para casos concretos códigos de error.
Importante: Si usted es un cliente de EE.UU. que utiliza la SMS API para enviar tráfico desde un código de país +1 de 10 dígitos largos (10 DLC) a redes de EE.UU., debe registrar una marca y una campaña para que se apruebe el envío. Una vez aprobada, debes vincular un número a la campaña. Consulte la 10. Sección de compatibilidad con DLC.
Conceptos de SMS API de Vonage
Antes de usar la SMS API de Vonage, familiarízate con lo siguiente:
-
Formato de los Numbers - La SMS API requiere que los números de teléfono estén en formato E.164.
-
Autenticación - La SMS API se autentica utilizando la clave y el secreto de la API de tu Account.
-
Webhooks - La SMS API realiza solicitudes HTTP al servidor web de tu aplicación para que puedas actuar en consecuencia. Por ejemplo: SMS entrantes y recibos de entrega.