Enviar un SMS con Unicode

La SMS API de Vonage también admite caracteres Unicode, que deberás usar cuando te comuniques con clientes en chino, japonés y coreano.

Para enviar un SMS que contenga caracteres Unicode, sustituya las siguientes variables en el ejemplo siguiente:

ClaveDescripción
VONAGE_API_KEY

Your Vonage API key (see it on your dashboard).

VONAGE_API_SECRET

Your Vonage API secret (also available on your dashboard).

VONAGE_BRAND_NAME

The alphanumeric string that represents the name or number of the organization sending the message.

TO_NUMBER

The phone number you are sending the message to.

Escriba el código

Añada lo siguiente a send-an-sms-with-unicode.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=こんにちは世界' \
  -d 'type=unicode'

Ver fuente completa

Ejecute su código

Guarde este archivo en su máquina y ejecútelo:

sh send-an-sms-with-unicode.sh

Requisitos previos

npm install @vonage/server-sdk

Crea un archivo llamado send-unicode-sms.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,
});

Ver fuente completa

Escriba el código

Añada lo siguiente a send-unicode-sms.js:

vonage.sms.send({
  to: SMS_TO_NUMBER,
  from: SMS_SENDER_ID,
  text: 'こんにちは世界',
  type: 'unicode',
})
  .then((resp) => console.log(resp))
  .catch((error) => console.error(error));

Ver fuente completa

Ejecute su código

Guarde este archivo en su máquina y ejecútelo:

node send-unicode-sms.js

Requisitos previos

Añada lo siguiente a build.gradle:

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

Crea un archivo llamado SendUnicodeMessage y añade el siguiente código al método main:

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

Ver fuente completa

Escriba el código

Añada lo siguiente al método main del archivo SendUnicodeMessage:

val response = client.sms.sendText(
    from = SMS_SENDER_ID,
    to = SMS_TO_NUMBER,
    message = "こんにちは世界",
    unicode = true
)

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

Ver fuente completa

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 SendUnicodeMessage:

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

Requisitos previos

Añada lo siguiente a build.gradle:

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

Crea un archivo llamado SendUnicodeMessage y añade el siguiente código al método main:

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

Ver fuente completa

Escriba el código

Añada lo siguiente al método main del archivo SendUnicodeMessage:

TextMessage message = new TextMessage(SMS_SENDER_ID, SMS_TO_NUMBER, "Blue Öyster Cult \uD83E\uDD18", true);

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

for (SmsSubmissionResponseMessage responseMessage : responses.getMessages()) {
    System.out.println(message);
}

Ver fuente completa

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 SendUnicodeMessage:

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

Requisitos previos

Install-Package Vonage

Crea un archivo llamado SendSmsWithUnicode.cs y añade el siguiente código:

using Vonage;
using Vonage.Messaging;
using Vonage.Request;

Ver fuente completa

Añada lo siguiente a SendSmsWithUnicode.cs:


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

Ver fuente completa

Escriba el código

Añada lo siguiente a SendSmsWithUnicode.cs:


var response = await vonageClient.SmsClient.SendAnSmsAsync(new SendSmsRequest()
{
    To = SMS_TO_NUMBER,
    From = SMS_SENDER_ID,
    Text = "こんにちは世界",
    Type = SmsType.Unicode

Ver fuente completa

Requisitos previos

composer require vonage/client

Crea un archivo llamado send-unicode-sms.php y añade el siguiente código:

$basic  = new \Vonage\Client\Credentials\Basic(VONAGE_API_KEY, VONAGE_API_SECRET);
$client = new \Vonage\Client($basic);

Ver fuente completa

Escriba el código

Añada lo siguiente a send-unicode-sms.php:

$response = $client->sms()->send(
    new \Vonage\SMS\Message\SMS(TO_NUMBER, BRAND_NAME, 'こんにちは世界', 'unicode')
);

Ver fuente completa

Ejecute su código

Guarde este archivo en su máquina y ejecútelo:

php send-unicode-sms.php

Requisitos previos

pip install vonage python-dotenv

Escriba el código

Añada lo siguiente a send-an-sms-with-unicode.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='こんにちは世界',
    type='unicode',
)

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

Ver fuente completa

Ejecute su código

Guarde este archivo en su máquina y ejecútelo:

python sms/send-an-sms-with-unicode.py

Requisitos previos

gem install vonage

Crea un archivo llamado send-unicode-sms.rb y añade el siguiente código:

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

Ver fuente completa

Escriba el código

Añada lo siguiente a send-unicode-sms.rb:

client.sms.send(
  from: SMS_SENDER_ID,
  to: SMS_TO_NUMBER,
  text: 'こんにちは世界',
  type: "unicode"
)

Ver fuente completa

Ejecute su código

Guarde este archivo en su máquina y ejecútelo:

ruby send-unicode-sms.rb

Pruébalo

Cuando ejecute el ejemplo anterior, el mensaje de texto se enviará al número de móvil especificado con los caracteres Unicode intactos.

Tenga en cuenta que los mensajes Unicode sólo pueden contener 70 caracteres, en lugar de los 160 habituales. Hay más información al respecto en la página de ayuda

Para saber más