Senden einer Nachricht mit Failover

Wenn eine mit der Vonage Messages API gesendete Nachricht abgelehnt wird, können Failover-Nachrichten definiert werden, die an ihrer Stelle gesendet werden. Failover kann von jedem Kanal oder Nachrichtentyp zu jedem anderen Kanal oder Nachrichtentyp erfolgen, das folgende Beispiel zeigt jedoch Failover von RCS zu SMS.

Beispiel

Nachstehend finden Sie die Beschreibung aller in den einzelnen Codeausschnitten verwendeten Variablen:

SchlüsselBeschreibung
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 447700900000.

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 https://api.nexmo.com/v0.1/messages, the new one is https://api.nexmo.com/v1/messages. For sandbox testing the Messages API endpoint is https://messages-sandbox.nexmo.com/v0.1/messages or https://messages-sandbox.nexmo.com/v1/messages, depending on which version you have set in the sandbox dashboard.

Voraussetzungen

Wenn Sie keine Bewerbung haben, können Sie einen erstellen aufrufen. Stellen Sie sicher, dass Sie auch Ihre Webhooks konfigurieren.

Schreiben Sie den Code

Fügen Sie Folgendes zu send-message-with-failover.sh hinzu:

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."
      }
    ]
  }'

Vollständige Quelle anzeigen

Führen Sie Ihren Code aus

Speichern Sie diese Datei auf Ihrem Rechner und führen Sie sie aus:

bash send-message-with-failover.sh

Voraussetzungen

Wenn Sie keine Bewerbung haben, können Sie einen erstellen aufrufen. Stellen Sie sicher, dass Sie auch Ihre Webhooks konfigurieren.

Fügen Sie Folgendes zu build.gradle hinzu:

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

Erstellen Sie eine Datei mit dem Namen SendMessageWithFailover und fügen Sie den folgenden Code in die Methode main ein:

val client = Vonage {
    applicationId(VONAGE_APPLICATION_ID)
    privateKeyPath(VONAGE_PRIVATE_KEY_PATH)
}

Vollständige Quelle anzeigen

Schreiben Sie den Code

Fügen Sie der Methode main in der Datei SendMessageWithFailover Folgendes hinzu:

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.")
            }
        )
    }
)

Vollständige Quelle anzeigen

Führen Sie Ihren Code aus

Wir können das Anmeldung Plugin für Gradle verwenden, um die Ausführung unserer Anwendung zu vereinfachen. Aktualisieren Sie Ihre build.gradle mit dem Folgenden:

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

Führen Sie den folgenden Befehl gradle aus, um Ihre Anwendung auszuführen, und ersetzen Sie dabei com.vonage.quickstart.kt.messages durch das Paket, das SendMessageWithFailover enthält:

gradle run -Pmain=com.vonage.quickstart.kt.messages.SendMessageWithFailover

Voraussetzungen

Wenn Sie keine Bewerbung haben, können Sie einen erstellen aufrufen. Stellen Sie sicher, dass Sie auch Ihre Webhooks konfigurieren.

Fügen Sie Folgendes zu build.gradle hinzu:

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

Erstellen Sie eine Datei mit dem Namen SendMessageWithFailover und fügen Sie den folgenden Code in die Methode main ein:

VonageClient client = VonageClient.builder()
		.applicationId(VONAGE_APPLICATION_ID)
		.privateKeyPath(VONAGE_PRIVATE_KEY_PATH)
		.build();

Vollständige Quelle anzeigen

Schreiben Sie den Code

Fügen Sie der Methode main in der Datei SendMessageWithFailover Folgendes hinzu:

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);

Vollständige Quelle anzeigen

Führen Sie Ihren Code aus

Wir können das Anmeldung Plugin für Gradle verwenden, um die Ausführung unserer Anwendung zu vereinfachen. Aktualisieren Sie Ihre build.gradle mit dem Folgenden:

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

Führen Sie den folgenden Befehl gradle aus, um Ihre Anwendung auszuführen, und ersetzen Sie dabei com.vonage.quickstart.messages durch das Paket, das SendMessageWithFailover enthält:

gradle run -Pmain=com.vonage.quickstart.messages.SendMessageWithFailover

Voraussetzungen

Wenn Sie keine Bewerbung haben, können Sie einen erstellen aufrufen. Stellen Sie sicher, dass Sie auch Ihre Webhooks konfigurieren.

Install-Package Vonage

Schreiben Sie den Code

Fügen Sie Folgendes zu SendMessageWithFailover.cs hinzu:

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);

Vollständige Quelle anzeigen

Voraussetzungen

Wenn Sie keine Bewerbung haben, können Sie einen erstellen aufrufen. Stellen Sie sicher, dass Sie auch Ihre Webhooks konfigurieren.

gem install vonage

Erstellen Sie eine Datei mit dem Namen send-message-with-failover.rb und fügen Sie den folgenden Code hinzu:

client = Vonage::Client.new(
  application_id: VONAGE_APPLICATION_ID,
  private_key: VONAGE_PRIVATE_KEY
)

Vollständige Quelle anzeigen

Schreiben Sie den Code

Fügen Sie Folgendes zu send-message-with-failover.rb hinzu:

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]
)

Vollständige Quelle anzeigen

Führen Sie Ihren Code aus

Speichern Sie diese Datei auf Ihrem Rechner und führen Sie sie aus:

ruby send-message-with-failover.rb

Probieren Sie es aus

Wenn Sie den Code ausführen, wird eine RCS-Nachricht an die Zielnummer gesendet; wenn diese Nachricht abgelehnt wird, wird an ihrer Stelle eine SMS-Nachricht gesendet.