Primeros pasos con 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 API de Messages y la API de SMS
Actualmente, existen dos API de Vonage con las que puedes enviar mensajes SMS:
- En Messages API
- En 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 en red y OTT.
- La API Messages proporciona un webhook de estado de mensajes que admite los siguientes estados:
submitteddeliveredrejectedundeliverable
SMS API
- La SMS API es adecuada para casos de uso de alto rendimiento (por ejemplo, > 500 mensajes/segundo) (los niveles de rendimiento superiores sólo están disponibles previa solicitud).
- La SMS API proporciona Cumplimiento de la HIPAA
- La SMS API proporciona Recibos de entrega para segmentos de mensajes individuales (cuando un mensaje largo se ha dividido en varias partes para su entrega).
- 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 tendrán que seguir las directrices reguladoras de 10 DLC. Consulte nuestra 10 Documentación DLC para más información.
Enviar un SMS
Este ejemplo le muestra cómo enviar un SMS al número que elija.
Este ejemplo es específico para la API de SMS
Primero, inscríbete en una Account de Vonage si aún no tiene uno, y anote su clave y secreto de API en el archivo página de inicio del cuadro de mandos.
Sustituya 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 secreto de API de Vonage. |
Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
Crea 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
Crea 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
Crea 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
Escriba 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
Crea un archivo llamado send.rb y añade el siguiente código:
Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Solución de problemas
Si tiene problemas al realizar llamadas a la API, asegúrese de comprobar los datos devueltos campo de estado para 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 DLC Sección de asistencia.
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 números de teléfono 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.