https://a.storyblok.com/f/270183/1368x665/b728cc4bd1/messages-api-rcs.png

RCS Business Messaging ist jetzt GA in der Vonage Messages API

Zuletzt aktualisiert am November 20, 2024

Lesedauer: 7 Minuten

Rich Communication Services (RCS) eröffnen neue Möglichkeiten für Business Messaging, und ich freue mich, ankündigen zu können, dass RCS Messaging jetzt allgemein verfügbar (GA) in der Vonage Messages API!

Mit der Umstellung auf GA ist RCS Messaging nun breiter verfügbar.

Erweiterter geografischer Geltungsbereich

Während die RCS-Betaversion nur Netze in Deutschland abdeckte, werden nach dem GA-Start nun auch das Vereinigte Königreich und mehr als 10 weitere Länder unterstützt, wobei die Abdeckung in Zukunft weiter ausgebaut werden soll.

Unterstützt in unseren Server-SDKs

RCS als GA bedeutet auch, dass RCS Messaging jetzt in unseren Server-SDKs. Als Entwickler können Sie also RCS-Nachrichten mit Ihrer bevorzugten Programmiersprache senden!

Im weiteren Verlauf dieses Artikels werden wir uns einige Beispiele dafür ansehen, wie RCS programmatisch implementiert werden kann. Los geht's!

Sind Sie fragen sich, was RCS-Messaging genau ist? Oder wie RCS-Messaging im Vergleich zu SMS oder MMS funktioniert? Schauen Sie sich den Beitrag, den ich Anfang des Jahres geschrieben habe als RCS Messaging der Messages API in der Beta-Version hinzugefügt wurde. Dieser Artikel behandelt einige Vorteile von RCS Messaging. Diese Vorteile können zu einem reichhaltigeren Kundenerlebnis führen, das das Nutzerengagement steigert und zu verbesserten Konversionsraten führt

Wie sich RCS von SMS/MMS-Nachrichten unterscheidet

Was ist der Unterschied zwischen SMS/MMS und RCS-Nachrichten? Alle drei Kanäle unterstützen Textnachrichten, und sowohl MMS als auch RCS unterstützen den Versand von Nachrichten mit Anhängen wie Bild- und Videodateien. RCS zeichnet sich durch einige andere Nachrichtentypen aus, die es unterstützt:

  • Vorgeschlagene Antworten

  • Vorgeschlagene Maßnahmen

  • Reiche Karten

Innerhalb des RCS-Kanals der Messages API werden alle diese Arten von Nachrichten mit dem custom Nachrichtentyp. Sie können mehr lesen über Benutzerdefinierte RCS-Nachrichten und deren Verwendung.

Sehen wir uns ein paar Beispiele für das Senden einiger dieser Nachrichtentypen mit den Server-SDKs an.

Voraussetzungen

  • Ein Vonage Developer Account

Vonage API-Konto

Um dieses Tutorial durchzuführen, benötigen Sie ein Vonage API-Konto. Wenn Sie noch keines haben, können Sie sich noch heute anmelden und mit einem kostenlosen Guthaben beginnen. Sobald Sie ein Konto haben, finden Sie Ihren API-Schlüssel und Ihr API-Geheimnis oben auf dem Vonage-API-Dashboard.

Einrichten

Bevor Sie mit dem Versenden von RCS-Nachrichten mit dem von Ihnen gewählten Vonage SDK beginnen können, müssen Sie zunächst einige vorbereitende Schritte durchführen.

  1. Sie müssen Folgendes einrichten einen RBM-Agenten (RCS Business Messaging). Sobald der Agent erstellt ist, erhalten Sie eine Agent-ID, die Sie dann beim Senden von RCS-Nachrichten als Absender-ID verwenden können. Im Zusammenhang mit der Vonage Messages API ist dies der Wert des Feldes from Feldes im Anfragekörper.

  • Wenn Sie einen Test-Agenten verwenden (d.h. einen RBM-Agenten, der im Entwicklermodus registriert ist), müssen Sie die Nummer, an die Sie senden möchten, für diesen Agenten in der Liste zulassen. Sie können sich an Ihren Account Manager oder an den Unterstützung um dies einzurichten.

  1. Erstellen einer Vonage-Applikation die für die Messages API aktiviert ist. Vonage Applications werden verwendet, um Einstellungen zu speichern, die sich auf die von Ihnen verwendete(n) Vonage API(s) beziehen, und um Anmeldedaten für die Erstellung von JWTs (JSON Web Tokens) zu generieren. Es gibt verschiedene Möglichkeiten, eine Vonage Application zu erstellen:

Beim Einrichten der Vonage Application erhalten Sie eine Application ID und eine private.key Datei. Sie benötigen diese, um JWTs zu generieren, die für die Authentifizierung mit der Vonage Messages API verwendet werden. Die SDKs generieren die JWTs für Sie automatisch für jede Anfrage, aber Sie müssen ihnen die Anwendungs-ID und den privaten Schlüssel mitteilen.

Sobald der RBM-Agent und die Vonage-Anwendung eingerichtet sind, müssen Sie die beiden miteinander verknüpfen. Sie können dies über das Vonage Developer Dashboard tun, entweder auf der Seite für die Vonage Anwendung selbst (unter der Registerkarte Externe Konten), oder auf der Seite Externe Konten.

Screenshot of the Vonage Developer Dashboard with an option to link an RCS agent to an ApplicationScreenshot of the Vonage Developer Dashboard with an option to link an RCS agent to an Application

Okay, jetzt, wo wir alles eingerichtet haben, wollen wir uns ein paar Code-Beispiele ansehen!

Verwendung von RCS Messaging

So instanziieren Sie den Vonage-Client

Alle Server-SDKs unterscheiden sich in ihrer spezifischen Implementierung, aber sie haben einige allgemeine Concepts gemeinsam, wie z.B. die Instanziierung eines Client-Objekts, das dann zur Interaktion mit den Vonage-APIs durch den Aufruf von Methoden verwendet werden kann. Hierfür benötigen Sie die Application ID und den privaten Schlüssel, die Sie zuvor generiert haben. Im Folgenden finden Sie ein Beispiel für das Ruby SDK, obwohl alle Server SDKs einem ähnlichen Muster folgen:

vonage_client = Vonage::Client.new(
   application_id: ENV['VONAGE_APPLICATION_ID'],
   private_key: File.read(ENV['VONAGE_APPLICATION_PRIVATE_KEY_PATH'])
)

Beachten Sie, dass im obigen Beispiel, VONAGE_APPLICATION_ID und VONAGE_APPLICATION_PRIVATE_KEY_PATH als Umgebungsvariablen gesetzt sind.

So senden Sie eine RCS-Vorschlagsantwortnachricht

Bei Nachrichten mit Antwortvorschlägen handelt es sich um einen Nachrichtentyp, bei dem Sie einen Text mit einer Reihe von vorgeschlagenen Optionen senden können, die der Empfänger für seine Antwort verwenden kann. Diese Optionen erscheinen als "Chips" oder Schaltflächen in der Benutzeroberfläche des Geräts, die der Empfänger dann auswählen kann.

Nachrichten mit Antwortvorschlägen sind für viele verschiedene Anwendungsfälle geeignet. Ein Beispiel ist die Durchführung von Kundenumfragen. Die Beschränkung der Antworten auf bestimmte, vorgeschlagene Werte erleichtert die Verarbeitung dieser Eingaben in Ihrer Anwendung. Sie könnten zum Beispiel eine RCS-Nachricht senden, in der Sie einen Kunden bitten, Ihren Service von eins bis fünf zu bewerten, wobei text Werte von eins bis fünf als vorgeschlagene Antwortoptionen.

Zusätzlich zu den vorgeschlagenen textenthält jede vorgeschlagene Antwortoption auch einen postbackData Wert. So können Sie z. B. eine benutzerfreundliche Sprache für den text Wert, aber etwas anderes für den postbackData Wert, der für die interne Verarbeitung verwendet werden soll. Eine weitere Verwendung für postbackData könnte darin bestehen, die Umfrage in verschiedenen Regionen zu verschicken, wobei der text Wert je nach Region in verschiedenen Sprachen, aber mit demselben Wert postbackData Wert.

Schauen wir uns ein Beispiel an.

So senden Sie diese Nachrichten mit den SDKs für Node und Ruby.

Senden einer RCS-Vorschlagsantwort-Nachricht mit dem Node SDK

Hier versenden wir die Umfrage auf Englisch.

vonageClient.messages.send(
  new RCSCustom({
    custom: {
      contentMessage: {
        text: "Vonage APIs are easy to use.",
        suggestions: [
          {
            reply: {
              text: "Strongly agree",
              postbackData: "5",
            },
          },
          {
            reply: {
              text: "Agree",
              postbackData: "4",
            },
          },
          {
            reply: {
              text: "Neither agree or disagree",
              postbackData: "3",
            },
          },
          {
            reply: {
              text: "Disagree",
              postbackData: "2",
            },
          },
          {
            reply: {
              text: "Strongly disagree",
              postbackData: "1",
            },
          },
        ],
      },
    },
    to: '447900000000',
    from: 'VonageRCSAgent',
  }),
);

Beim Empfang der Nachricht wird eine Liste mit Vorschlägen angezeigt, aus der der Empfänger wählen kann.

Screenshot of an RCS suggested reply message in EnglishScreenshot of an RCS suggested reply message in English

Screenshot of an RCS suggested reply message in EnglishScreenshot of an RCS suggested reply message in English

Senden einer RCS-Vorschlagsantwort-Nachricht mit dem Ruby SDK

Hier versenden wir die Umfrage in französischer Sprache.

message = vonage_client.messaging.rcs(
  type: 'custom',
  message: {
    contentMessage: {
      text: "Les APIs de Vonage sont simple a utilizer",
      suggestions: [
        {
          reply: {
            text: "Fortement en accord",
            postbackData: "5"
          }
        },
        {
          reply: {
            text: "En accord",
            postbackData: "4"
          }
        },
        {
          reply: {
            text: "Neutre",
            postbackData: "3"
          }
        },
        {
          reply: {
            text: "En désaccord",
            postbackData: "2"
          }
        },
        {
          reply: {
            text: "Fortement en  désaccord",
            postbackData: "1"
          }
        }
      ]
    }
  }
)

vonage_client.messaging.send(
  from: 'VonageRCSAgent',
  to: '447900000000',
  **message
)

Dies würde auf die gleiche Weise angezeigt, aber mit den geänderten text Werten:

Screenshot of an RCS suggested reply message in FrenchScreenshot of an RCS suggested reply message in FrenchScreenshot of an RCS suggested reply message in FrenchScreenshot of an RCS suggested reply message in French

Beachten Sie, dass für beide Sprachversionen die postbackData Werte die gleichen sind.

Wenn der Empfänger mit einer der Optionen antwortet, wird dies über Ihren Webhook für eingehende Nachrichten als eine rcs Nachricht mit einem message_type von reply. Die JSON-Nutzdaten für die reply Nachricht enthält ein reply Objekt mit zwei Eigenschaften: title, das den Wert der Option text der ausgewählten Antwortoption enthält; und id, das den Wert der Option postbackData aus der ausgewählten Antwortoption enthält.

So senden Sie eine RCS-Nachricht mit Aktionsvorschlägen

Mit Nachrichten mit Aktionsvorschlägen können Sie dem Empfänger eine Aktion vorschlagen, die mit einer nativen oder installierten App auf dem Gerät, mit dem er die Nachricht empfängt, interagieren wird. Zum Beispiel, um eine URL in einem Browser zu öffnen, einen Ort in einer Karten- oder Standort-App anzuzeigen, und so weiter. Wie bei den Vorgeschlagenen Antworten gibt es zahlreiche Anwendungsfälle für die verschiedenen Arten von Nachrichten mit Aktionsvorschlägen. Ähnlich wie bei den Vorgeschlagenen Antworten erscheinen die Vorgeschlagenen Aktionen als "Chips" oder Schaltflächen in der Benutzeroberfläche des Geräts, die der Empfänger dann drücken kann, um die Aktion auszulösen.

Die verfügbaren Aktionen sind:

  • openUrlAction

  • dialAction

  • viewLocationAction

  • shareLocationAction

  • createCalendarEventAction

Bei allen vorgeschlagenen Aktionstypen können Sie einige text die in der Hauptnachricht erscheinen werden, sowie einige text innerhalb der Aktion selbst, die auf dem 'Chip'/der Schaltfläche erscheinen.

Alle Aktionen enthalten eine postbackData Eigenschaft, deren Wert als Wert der payload Eigenschaft in einer eingehenden rcs Nachricht des Typs button.

Schauen wir uns einige Beispiele an.

Senden einer Nachricht zum Erstellen eines Kalenderereignisses mit dem Python SDK

Beginnen wir mit der Aktion Kalenderereignis erstellen. Mit dieser Aktion kann Ihre Nachricht mit der Kalender-App auf dem Telefon des Empfängers interagieren, um ein Ereignis in diesem Kalender zu erstellen. Ein möglicher Anwendungsfall für diese Aktion wäre die Bestätigung eines Termins, zum Beispiel eines Arzt- oder Zahnarzttermins.

Die Nachricht wird in der Messaging-App mit einer Option zum Erstellen eines Kalenderereignisses angezeigt.

Screenshot of an RCS suggested action message to create a calendar eventScreenshot of an RCS suggested action message to create a calendar eventWenn diese Option ausgewählt ist, wird die Standard-Kalenderanwendung des Geräts geöffnet und der Benutzer kann das Ereignis in seinem Kalender speichern.

Screenshot of a calendar appliction with a option to save an eventScreenshot of a calendar appliction with a option to save an event

Bei dieser Aktion setzen Sie eine title und description des Kalenderereignisses sowie die startTime und endTime (die die Uhrzeit und das Datum darstellen, an dem das Ereignis beginnt und endet). Beachten Sie die Abweichung von der UTC.

vonage_client.messages.send_message(
    {
        "channel": "rcs",
        "message_type": "custom",
        "to": '447900000000',
        "from": 'VonageRCSAgent',
        "custom": {
            "contentMessage": {
                "text": "Dear Mr Smith, we're happy to confirm your appointment at 14:30h on Tuesday the 1st of October at Healthy Smile Dental Co.",
                "suggestions": [
                    {
                        "action": {
                            "text": "Save to calendar",
                            "postbackData": "postback_data_1234",
                            "fallbackUrl": "https://www.google.com/calendar",
                            "createCalendarEventAction": {
                                "startTime": "2024-10-01T14:30:00+01:00",
                                "endTime": "2024-10-01T15:00:00+01:00",
                                "title": "Dental Appointment",
                                "description": "Dental Appointment at Healthy Smile Dental Co.",
                            },
                        }
                    }
                ],
            }
        },
    }
)

Senden einer Standortfreigabe-Nachricht mit dem Java SDK

Die Aktion "Standort freigeben" fordert den Empfänger der Nachricht auf, einen geografischen Standort anzugeben, indem er die Standardkarten- oder Standortanwendung des Geräts öffnet. Sobald der Empfänger einen Standort ausgewählt hat, kann er diesen als Antwort auf die erhaltene Nachricht senden. Die Antwort des Empfängers wird über Ihren Webhook für eingehende Nachrichten als eine rcs Nachricht mit einem message_type von location. Die JSON-Nutzdaten in dieser Nachricht enthalten ein location Objekt mit lat und long Eigenschaften, die den gemeinsamen Standort angeben.

Ein möglicher Anwendungsfall für diesen Nachrichtentyp wäre ein Taxidienst, der von einem Kunden die Angabe eines Abholpunkts benötigt.

Die empfangene Nachricht würde die Option enthalten, einen Standort zu teilen.

Screenshot of an RCS suggested action message to share a locationScreenshot of an RCS suggested action message to share a locationBei Auswahl dieser Option wird die Standard-Kartenanwendung des Geräts geöffnet, so dass der Empfänger eine Stecknadel setzen und dann seinen Standort mitteilen kann.

Screenshot of a map application with a pin and option to send locationScreenshot of a map application with a pin and option to send location

var response = vonageClient.getMessagesClient().sendMessage(
	RcsCustomRequest.builder()
		.from('VonageRCSAgent').to('447900000000')
		.custom(Map.of("contentMessage", Map.of(
				"text", "Your driver will come and meet you at your specified location.",
				"suggestions", List.of(
					Map.of(
						"action", Map.of(
							"text", "Share your pickup location",
							"postbackData", "postback_data_1234",
							"shareLocationAction", Map.of()
						)
					)
				)
			))
		).build()
);

Nachbereitung und nächste Schritte

In diesem Artikel haben wir uns einige Beispiele für den Versand verschiedener Arten von RCS-Nachrichten mit den Server-SDKs von Vonage angesehen. Dies ist jedoch nur ein kleiner Ausschnitt, denn es gibt unzählige potenzielle Anwendungsfälle für RCS-Messaging. Wir werden in zukünftigen Blog-Beiträgen weitere Beispiele für RCS-Messaging behandeln, also schauen Sie bald wieder vorbei!

Wenn Sie inspiriert wurden, etwas Großartiges mit dem RCS-Kanal der Vonage Messages API zu bauen, dann schauen Sie sich unbedingt die Messages API-Dokumentation und Code-Schnipsel.

Vielen Dank fürs Lesen! Sie können uns folgen auf X für weitere Neuigkeiten von Vonage Dev, oder schließen Sie sich uns in unserem Vonage Community Slack-Arbeitsbereich.

Teilen Sie:

https://a.storyblok.com/f/270183/373x376/e8d3211236/karl-lingiah.png
Karl LingiahRuby-Entwickler Advocate

Karl ist Developer Advocate bei Vonage und kümmert sich um die Wartung unserer Ruby Server SDKs und die Verbesserung der Entwicklererfahrung für unsere Community. Er liebt es zu lernen, Dinge zu entwickeln, Wissen zu teilen und alles, was allgemein mit Webtechnologie zu tun hat.