Envoi d'un message avec basculement
Si un message envoyé avec l'API Messages de Vonage est rejeté, des messages de basculement peuvent être définis pour être envoyés à sa place. Le basculement peut se faire de n'importe quel canal ou type de message vers n'importe quel autre canal ou type de message, mais l'exemple suivant montre le basculement de RCS vers SMS.
Exemple
Vous trouverez ci-dessous la description de toutes les variables utilisées dans chaque extrait de code :
| Clé | Description |
|---|---|
VONAGE_APPLICATION_ID | The Vonage Application ID. |
VONAGE_PRIVATE_KEY_PATH | Private key path. |
TO_NUMBER | The number you are sending the to in E.164 format. For example |
RCS_SENDER_ID | The sender ID for the RCS message. |
JWT | Used to authenticate your request. See Authentication for more information, including how to generate a JWT. |
SMS_SENDER_ID | The alphanumeric string that represents the name or number of the organization sending the message. |
MESSAGES_API_URL | There are two versions of the API, each with their own endpoints. For production the previous Messages API endpoint was |
Conditions préalables
Si vous n'avez pas de demande, vous pouvez créer un. Veillez également à configurer vos webhooks.
Rédiger le code
Ajouter ce qui suit à send-message-with-failover.sh:
curl -X POST "${MESSAGES_API_URL}" \
-H "Authorization: Bearer "$JWT\
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d $'{
"to": "'${MESSAGES_TO_NUMBER}'",
"from": "'${RCS_SENDER_ID}'",
"channel": "rcs",
"message_type": "text",
"text": "This is an RCS text message sent via the Vonage Messages API",
"failover": [
{
"to": "'${MESSAGES_TO_NUMBER}'",
"from": "'${SMS_SENDER_ID}'",
"channel": "sms",
"message_type": "text",
"text": "This is an SMS sent using the Vonage Messages API."
}
]
}'Exécutez votre code
Enregistrez ce fichier sur votre machine et exécutez-le :
Conditions préalables
Si vous n'avez pas de demande, vous pouvez créer un. Veillez également à configurer vos webhooks.
Ajouter ce qui suit à build.gradle:
implementation 'com.vonage:server-sdk-kotlin:2.1.1'Créez un fichier nommé SendMessageWithFailover et ajoutez le code suivant à la méthode main:
val client = Vonage {
applicationId(VONAGE_APPLICATION_ID)
privateKeyPath(VONAGE_PRIVATE_KEY_PATH)
}Rédiger le code
Ajouter ce qui suit à la méthode main du fichier SendMessageWithFailover:
val messageId = client.messages.send(
rcsText {
to(MESSAGES_TO_NUMBER)
from(RCS_SENDER_ID)
text("This is an RCS text message sent using the Messages API")
failover(
smsText {
to(MESSAGES_TO_NUMBER)
from(SMS_SENDER_ID)
text("This is an SMS sent using the Vonage Messages API.")
}
)
}
)Exécutez votre code
Nous pouvons utiliser le plugin Applications pour Gradle afin de simplifier l'exécution de notre application. Mettez à jour votre build.gradle avec ce qui suit :
apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''Exécutez la commande gradle suivante pour exécuter votre application, en remplaçant com.vonage.quickstart.kt.messages par le paquet contenant SendMessageWithFailover:
Conditions préalables
Si vous n'avez pas de demande, vous pouvez créer un. Veillez également à configurer vos webhooks.
Ajouter ce qui suit à build.gradle:
implementation 'com.vonage:server-sdk:9.3.1'Créez un fichier nommé SendMessageWithFailover et ajoutez le code suivant à la méthode main:
VonageClient client = VonageClient.builder()
.applicationId(VONAGE_APPLICATION_ID)
.privateKeyPath(VONAGE_PRIVATE_KEY_PATH)
.build();Rédiger le code
Ajouter ce qui suit à la méthode main du fichier SendMessageWithFailover:
var response = client.getMessagesClient().sendMessage(
RcsTextRequest.builder()
.from(RCS_SENDER_ID).to(MESSAGES_TO_NUMBER)
.text("This is an RCS message sent via the Vonage Messages API")
.failover(SmsTextRequest.builder()
.from(SMS_SENDER_ID).to(MESSAGES_TO_NUMBER)
.text("This is an SMS sent using the Vonage Messages API.")
.build()
)
.build()
);
System.out.println(response);Exécutez votre code
Nous pouvons utiliser le plugin Applications pour Gradle afin de simplifier l'exécution de notre application. Mettez à jour votre build.gradle avec ce qui suit :
apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''Exécutez la commande gradle suivante pour exécuter votre application, en remplaçant com.vonage.quickstart.messages par le paquet contenant SendMessageWithFailover:
Conditions préalables
Si vous n'avez pas de demande, vous pouvez créer un. Veillez également à configurer vos webhooks.
Install-Package VonageRédiger le code
Ajouter ce qui suit à SendMessageWithFailover.cs:
var credentials = Credentials.FromAppIdAndPrivateKeyPath(VONAGE_APPLICATION_ID, VONAGE_PRIVATE_KEY_PATH);
var vonageClient = new VonageClient(credentials);
var request = new RcsTextRequest
{
To = MESSAGES_TO_NUMBER,
From = RCS_SENDER_ID,
Text = "This is an RCS text message sent via the Vonage Messages API",
Failover = new List<IMessage>
{
new SmsRequest
{
To = MESSAGES_TO_NUMBER,
From = SMS_SENDER_ID,
Text = "This is an SMS text message sent via the Vonage Messages API"
}
}
};
var response = await vonageClient.MessagesClient.SendAsync(request);Conditions préalables
Si vous n'avez pas de demande, vous pouvez créer un. Veillez également à configurer vos webhooks.
gem install vonageCréez un fichier nommé send-message-with-failover.rb et ajoutez le code suivant :
client = Vonage::Client.new(
application_id: VONAGE_APPLICATION_ID,
private_key: VONAGE_PRIVATE_KEY
)Rédiger le code
Ajouter ce qui suit à send-message-with-failover.rb:
rcs_message = client.messaging.rcs(
to: MESSAGES_TO_NUMBER,
from: RCS_SENDER_ID,
type: 'text',
message: 'This is an RCS text message sent via the Vonage Messages API'
)
sms_message = client.messaging.sms(
to: MESSAGES_TO_NUMBER,
from: SMS_SENDER_ID,
message: 'This is a failover SMS message in case the RCS message is rejected.'
)
client.messaging.send(
**rcs_message,
failover: [sms_message]
)Exécutez votre code
Enregistrez ce fichier sur votre machine et exécutez-le :
Essayez-le
Lorsque vous exécutez le code, un message RCS est envoyé au numéro de destination ; si ce message est rejeté, un message SMS sera envoyé à sa place.