https://a.storyblok.com/f/270183/1368x665/1d0acf3cdd/25sep_dev-blog_node-rcs.jpg

Interaktives RCS-Erlebnis in Echtzeit mit Node.js und Vonage

Zuletzt aktualisiert am September 10, 2025

Lesedauer: 7 Minuten

Rich Communication Services (RCS) verändert die Art und Weise, wie Marken mit Fans und Kunden in Kontakt treten. Ganz gleich, ob Sie ein globales Sportereignis oder ein Musikfestival veranstalten oder einfach nur eine reichhaltige, interaktive Konversation aufbauen möchten, RCS bietet innovative Messaging-Funktionen um Ihr Publikum zu fesseln.

In diesem Tutorium werden wir RCS kombinieren vorgeschlagene Antworten, eigenständige Rich Cardsund Rich-Card-Karussells in eine einzige, nahtlose User Journey, die Sie für Sport, Musik oder jede andere Echtzeit-Benutzererfahrung anpassen können. Alles unter Verwendung der Vonage Messages API!

>> TL;DR: Siehe das vollständige Projekt auf GitHub

Warum interaktive Erlebnisse in Echtzeit?

Mit RCS können Sie weit über SMS hinausgehen. Mit Rich Media, interaktiven Schaltflächen und Echtzeit-Feedback können Sie:

  • Steigern Sie Engagement und Konversionen

  • Sofortige Bereitstellung personalisierter Inhalte

  • Erstellen Sie einprägsame, markenbezogene Erlebnisse direkt in der Standard-Messaging-App des Benutzers

Heute werden Sie eine App erstellen, die Benutzer durch ein dynamisches, mehrstufiges Erlebnis führt. Dieses Beispiel eignet sich perfekt für Live-Events, Fan-Abstimmungen oder exklusive Angebote.

Unser Auftrag: Vom Mann des Spiels zum Merch

So funktioniert die User Journey:

  1. Benutzer erhält: "Wer wird gewinnen?" (Brasilien, Deutschland, Unentschieden)

  2. Benutzer tippt auf Brasilien → erhält eine "Man of the Match"-Wahlkarte (Ronaldinho, Ronaldo, Pelé)

  3. Benutzer tippt auf Ronaldinho → erhält ein Karussell mit Ronaldinho-Artikeln

Sie können diesen Ablauf leicht für Musikveranstaltungen, Produkteinführungen oder andere Echtzeit-Erlebnisse erweitern.

Voraussetzungen

Bevor Sie beginnen, benötigen Sie Folgendes:

  • Node.js installiert auf Ihrem Rechner

  • ngrok installiert für die Offenlegung Ihres lokalen Servers

  • Ein Vonage API-Konto

  • Ein registrierter RCS Business Messaging (RBM) Agent

  • Ein RCS-fähiges Telefon zum Testen

>> Anmerkung: RCS über Vonage erfordert einen verwalteten Account. Wenden Sie sich für den Zugang zum Entwicklermodus an Ihren Vonage Account Manager. Bitte kontaktieren Sie unser Vertriebsteam wenn Sie noch keinen verwalteten Account haben.

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.

Projekt einrichten

Ihre Node-Anwendung wird relativ einfach sein, mit ein wenig modularer Organisation, um den Code sauber zu halten und den besten modernen Praktiken zu entsprechen. Bevor Sie jedoch Ihre Node-Anwendung erstellen, sollten Sie zunächst eine Vonage-Anwendung erstellen, die die Messages API nutzt und unsere ngrok-Abhängigkeit ausführt.

Ihren Server mit ngrok freilegen

Um Webhooks von Vonage zu empfangen, muss Ihr lokaler Server über das Internet erreichbar sein. Verwenden Sie ngrok, um Ihren Server freizugeben. Führen Sie in Ihrem Terminal aus:

ngrok http 3000

Beachten Sie die von ngrok bereitgestellte HTTPS-URL:

  • z.B.. https://your-ngrok-subdomain.ngrok.io

Sie können mehr lesen über Testen mit ngrok in unserem Entwicklerportal nachlesen.

Erstellen und Konfigurieren Ihrer Vonage-Anwendung

Erstellen Sie nun Ihre Vonage-Anwendung im Vonage-Dashboard. Geben Sie der Anwendung einen Namen und aktivieren Sie die Nachrichtenfunktion.

Screenshot of the Vonage 'Create an application' screen with the app name set to 'RCS-Interactive-Football', Messages capability enabled, inbound and status URLs filled, and Voice and AI privacy settings turned offCreating a new Vonage Messages API application for an RCS-based interactive football experience

In den Einstellungen Ihrer Vonage-Anwendung:

  1. Setzen Sie die Inbound URL auf https://YOUR_NGROK_URL/inbound.

  2. Setzen Sie die Status-URL auf https://example.com/rcs_status.
    ** Der Status von Nachrichten werden in einem späteren Artikel behandelt.

  3. Erzeugen Sie einen öffentlichen und einen privaten Schlüssel, indem Sie auf die Schaltfläche klicken. Stellen Sie sicher, dass Sie Ihre private.key Datei in das Stammverzeichnis des Projekts ( rcs-interactive-football ) im nächsten Abschnitt.

  4. Speichern Sie die Änderungen.

Verknüpfen Sie dann Ihren RCS-Agenten, indem Sie auf die Registerkarte "Externe Konten verknüpfen" klicken:

Screenshot of the Vonage dashboard where the Vonage-Node-RCS  application is linked to an RCS external account named 'Vonage,' displaying application ID, API key, and status controls.Dashboard view showing the Vonage-Node-RCS application linked to the Vonage RoR RCS external account, with voice and message capabilities enabled.

Erstellen Sie Ihre Node-Anwendung

Wir halten die Dinge einfach und flach mit unserer Anwendung. Sie können sich das GitHub-Repositorium um den Code etwas aufgeräumter und organisierter zu sehen.

Ihre Dateistruktur wird wie folgt aussehen:

rcs-interactive-football/
├── index.js                
├── config.js              
├── messageTemplates.js     
├── messagingService.js     
├── .env                    
├── package.json                  
└── private.key    

Legen Sie also ein neues Verzeichnis an und initialisieren Sie ein Node.js-Projekt:

mkdir rcs-interactive-football
cd rcs-interactive-football
npm init -y

Installieren Sie die erforderlichen Node-Pakete mit Node-Paket-Manager:

npm install express dotenv @vonage/server-sdk
  • express: Erzeugt den Webserver.

  • dotenv: Lädt die Umgebungsvariablen auf sichere Weise.

  • @vonage/server-sdk: Die Vonage Node SDK für die Interaktion mit der Messages API

Und erstellen Sie Ihre Projektdateien:

touch index.js config.js messageTemplates.js messagingService.js .env

Sie können nun Ihren private.key Datei, die Sie vom Vonage Dashboard heruntergeladen haben, in das Stammverzeichnis Ihres Projekts verschieben.

Konfigurieren Sie Ihre Umgebung

In der Datei .env Datei fügen Sie Ihre Vonage-Anmeldedaten und Ihre Konfiguration hinzu:

VONAGE_APPLICATION_ID=your_application_id
VONAGE_API_SIGNATURE_SECRET=your_api_secret
VONAGE_PRIVATE_KEY=./private.key
RCS_SENDER_ID=your_rbm_agent_id
PORT=3000
  • VONAGE_APPLICATION_ID: Ihre Vonage-Anwendungs-ID, die Sie im API-Dashboard.

  • VONAGE_API_SIGNATURE_SECRET= Ihr Vonage Unterschriftsgeheimnis. Zu finden in Account-Einstellungen.

  • VONAGE_PRIVATE_KEY: Ihre private Schlüsseldatei.

  • RCS_SENDER_ID: Ihre RBM-SenderID (der Name der Marke). Die SenderID erfordert eine besondere Formatierung, z. B. ohne Leerzeichen. Wenden Sie sich an Ihren Account Manager, wenn Sie unsicher sind.

  • PORT: Portnummer für den Express-Server.

Erstellen Sie Ihre RCS-Node-Anwendung

Schritt 1: Konfigurieren Sie Ihren Vonage-Client

Diese App zentralisiert alle konfigurierbaren Werte (Umgebungsvariablen, Bild-URLs und externe Links) in einer einzigen config.js-Datei. Dies schafft eine klare Trennung zwischen Inhalt und Logik. Mit diesem Ansatz haben Sie eine einzige Quelle der Wahrheit für Werte, die sich ändern können. Diese Organisation ermöglicht es Ihnen, Medieninhalte schnell auszutauschen oder Warenlinks zu aktualisieren, ohne dass der zentrale Nachrichtenfluss beeinträchtigt wird.

// config.js
require('dotenv').config();
module.exports = {
  port: process.env.PORT || 3000,
  vonage: {
    applicationId: process.env.VONAGE_APPLICATION_ID,
    privateKey: process.env.VONAGE_PRIVATE_KEY,
    signatureSecret: process.env.VONAGE_API_SIGNATURE_SECRET,
  },
  rcsSenderId: process.env.RCS_SENDER_ID,
  images: {
    footballMatch: "https://github.com/Vonage-Community/tutorial-messages-node-rcs_realtime_football/blob/main/public/football_match.png?raw=true",
    manOfMatch: "https://github.com/Vonage-Community/tutorial-messages-node-rcs_realtime_football/blob/main/public/man_of_match.png?raw=true",
    jersey: "https://github.com/Vonage-Community/tutorial-messages-node-rcs_realtime_football/blob/main/public/ronaldinho_jersey.png?raw=true",
    photo: "https://github.com/Vonage-Community/tutorial-messages-node-rcs_realtime_football/blob/main/public/ronaldinho_photo.png?raw=true",
    tshirt: "https://github.com/Vonage-Community/tutorial-messages-node-rcs_realtime_football/blob/main/public/ronaldinho_shirt.png?raw=true",
  },
  merchLinks: {
    jersey: "https://www.ebay.com/b/Ronaldinho-International-Club-Soccer-Fan-Jerseys/2887/bn_16948843",
    photo: "https://www.ebay.com/shop/ronaldinho-signed-photo?_nkw=ronaldinho+signed+photo",
    tshirt: "https://www.ebay.com/itm/236003366810?_skw=ronaldinho+tshirt",
  }
};

Schritt 2: Definieren Sie Ihre RCS-Nachrichtenvorlagen

Als nächstes füllen wir unsere messageTemplate.js Datei. Das Modul messageTemplates.js kapselt alle RCS-Nachrichtenstrukturen in sauberen, wiederverwendbaren Funktionen, die die Präsentation von der Geschäftslogik trennen.

Jede Vorlagenfunktion (vorgeschlagene Antworten, eigenständige Rich-Cards oder Rich-Card-Karussells) folgt demselben Muster. Sie akzeptiert einen Telefonnummern-Parameter, zieht die entsprechenden Medien und URLs aus unserem Konfigurationsmodul und gibt dann ein korrekt formatiertes RCS-Nachrichtenobjekt zurück, das für die Vonage-API bereit ist.

Dieser modulare Ansatz macht unseren interaktiven Fluss leicht verständlich und modifizierbar, so dass Entwickler die Vorlagen schnell an ihre eigenen Echtzeit-Interaktionsszenarien anpassen können, ohne sich durch komplexe Nachrichtenlogik wühlen zu müssen.

So wird zum Beispiel in der Dokumentation Nachrichtenkönnen Sie das Beispiel vorgeschlagene Antwort:

vonage.messages.send({
  messageType: 'custom',
  channel: Channels.RCS,
  custom: {
    contentMessage: {
      text: 'What do you think of Vonage APIs?',
      suggestions: [
        {
          reply: {
            text: 'They\''re great!',
            postbackData: 'suggestion_1',
          },
        },
        {
          reply: {
            text: 'They\'re awesome!',
            postbackData: 'suggestion_2',
          },
        },
      ],
    },
  },
  to: MESSAGES_TO_NUMBER,
  from: RCS_SENDER_ID,
})

Auf ähnliche Weise können Sie eine initialMessage Funktion in Ihrer messagesTemplate.js Modul erstellen. Diese modularisierte Version abstrahiert den Empfänger und die SenderID:

// messageTemplates.js
const config = require('./config');
module.exports = {

  // Initial Suggested Reply Message to Kick-off
  initialMessage: (to) => ({
    to,
    from: config.rcsSenderId,
    channel: 'rcs',
    message_type: 'custom',
    custom: {
      contentMessage: {
        text: "Who will win?",
        suggestions: [
          { reply: { text: "Brazil", postbackData: "brazil" }},
          { reply: { text: "Germany", postbackData: "germany" }},
          { reply: { text: "Draw", postbackData: "draw" }},
        ]
      }
    }
  })
};

Fügen Sie weiterhin die Vorlagen für die RCS Standalone Rich Card und RCS Rich Card Carousel hinzu. Diese abstrahieren zusätzlich die Medien, die wir von unserem Konfigurationsmodul erhalten. Zunächst die Standalone Card, die es den Nutzern ermöglicht, für ihren Mann des Spiels zu stimmen:

  // Standalone Rich Card for voting on Man of the Match
   manOfTheMatchMessage: (to) => ({
    to,
    from: config.rcsSenderId,
    channel: 'rcs',
    message_type: 'custom',
    custom: {
      contentMessage: {
        richCard: {
          standaloneCard: {
            thumbnailImageAlignment: "RIGHT",
            cardOrientation: "VERTICAL",
            cardContent: {
              title: "Vote Now!",
              description: "Who was the man of the match?",
              media: {
                height: "TALL",
                contentInfo: {
                  fileUrl: config.images.manOfMatch,
                  forceRefresh: true
                }
              },
              suggestions: [
                { reply: { text: "Ronaldinho", postbackData: "ronaldinho" } },
                { reply: { text: "Ronaldo", postbackData: "ronaldo" } },
                { reply: { text: "Pele", postbackData: "pele" } }
              ]
            }
          }
        }
      }
    }
  })

Und schließlich erstellen Sie die Nachrichtenvorlage für das RCS-Karussell, das Ihren Nutzern die Waren zeigt, die sie kaufen können.

// RCS Rich Card Carousel for Player Merch to Present
  playerMerchCarousel: (to) => ({
    to,
    from: config.rcsSenderId,
    channel: 'rcs',
    message_type: 'custom',
    custom: {
      contentMessage: {
        richCard: {
          carouselCard: {
            cardWidth: "MEDIUM",
            cardContents: [
              {
                title: "Ronaldinho Jersey",
                description: "Authentic gameworn kit.",
                media: {
                  height: "TALL",
                  contentInfo: {
                    fileUrl: config.images.jersey,
                    forceRefresh: true
                  }
                },
                suggestions: [
                  {
                    action: {
                      text: "Buy now",
                      postbackData: "buy_now_jersey",
                      openUrlAction: {
                        url: config.merchLinks.jersey
                      }
                    }
                  }
                ]
              },
              {
                title: "Autographed Photo",
                description: "Timeless photo signed by Ronaldinho himself.",
                media: {
                  height: "TALL",
                  contentInfo: {
                    fileUrl: config.images.photo,
                    forceRefresh: true
                  }
                },
                suggestions: [
                  {
                    action: {
                      text: "Buy now",
                      postbackData: "buy_now_photo",
                      openUrlAction: {
                        url: config.merchLinks.photo
                      }
                    }
                  }
                ]
              },
              {
                title: "Fan T-shirt",
                description: "100% Cotton, 100% Passion.",
                media: {
                  height: "TALL",
                  contentInfo: {
                    fileUrl: config.images.tshirt,
                    forceRefresh: true
                  }
                },
                suggestions: [
                  {
                    action: {
                      text: "Buy now",
                      postbackData: "buy_now_shirt",
                      openUrlAction: {
                        url: config.merchLinks.tshirt
                      }
                    }
                  }
                ]
              }
            ]
          }
        }
      }
    }
  })

>> Sie können die vollständige messagesTemplate.js Datei

Schritt 3: Erstellen eines Nachrichtendienstes

Nachdem wir nun unsere Konfiguration und die Nachrichtenvorlagen eingerichtet haben, erstellen wir einen Nachrichtendienst, der die Interaktionen der Vonage-API abstrahiert. Das Modul messagingService.js übernimmt die Nachrichtenvorlagen, die wir bereits erstellt haben, und fügt die notwendigen Funktionen hinzu, um die Nachricht tatsächlich über die API zu senden.

Lassen Sie uns zunächst den Vonage-Client mit unserer Konfiguration initialisieren:

// messagingService.js
const { Vonage } = require('@vonage/server-sdk');
const config = require('./config');
const messageTemplates = require('./messageTemplates');

// Initialize the Vonage client with our application credentials
const vonage = new Vonage({
  applicationId: config.vonage.applicationId,
  privateKey: require('fs').readFileSync(config.vonage.privateKey)
});

Jetzt, wo unser vonage Client bereit ist, können wir die sendInitialMessage Funktion erstellen, indem wir die Nachricht mit der Telefonnummer an den Client übergeben:

module.exports = {

  sendInitialMessage: async (to) => {
    try {
      const msg = messageTemplates.initialMessage(to);
      const response = await vonage.messages.send(msg);
      console.log(`Initial message sent successfully`);
      return response;
    } catch (error) {
      console.error('Error sending initial message:', error);
      throw error;
    }
  }
}

Wir werden zwei weitere Funktionen erstellen ( sendManOfTheMatchMessage und sendPlayerMerchCarousel ) um unsere beiden anderen Nachrichten zuzuordnen:

sendManOfTheMatchMessage: async (to) => {
    try {
      const msg = messageTemplates.manOfTheMatchMessage(to);
      const response = await vonage.messages.send(msg);
      console.log(`Man of the Match message sent successfully`);
      return response;
    } catch (error) {
      console.error('Error sending Man of the Match message:', error);
      throw error;
    }
  },

  sendPlayerMerchCarousel: async (to) => {
    try {
      const msg = messageTemplates.playerMerchCarousel(to);
      const response = await vonage.messages.send(msg);
      console.log(`Merchandise carousel sent successfully`);
      return response;
    } catch (error) {
      console.error('Error sending merchandise carousel:', error);
      throw error;
    }
  }

>> Sie können die vollständige messagesService.js-Datei

Schritt 4: Implementierung der Hauptanwendungslogik

Nun ist es an der Zeit, alles in unserer index.js Datei. Hier werden wir unseren Express-Server erstellen, unsere Routen einrichten und die interaktive Ablauflogik implementieren, die unser RCS-Erlebnis dynamisch und ansprechend macht.

Einrichten des Express-Servers

Zunächst konfigurieren wir Express und richten eine grundlegende Middleware ein, damit wir JSON- und URL-kodierte Anfragen verarbeiten können:

// index.js
const express = require('express');

const { verifySignature } = require('@vonage/jwt');
const config = require('./config');
const messagingService = require('./messagingService');

// Initialize Express app
const app = express();
app.use(express.json());
app.use(express.urlencoded());

// Constants
const PORT = config.port;
const VONAGE_API_SIGNATURE_SECRET = config.vonage.signatureSecret;

// Simple home route to confirm server is running
app.get('/', (req, res) => {
  res.send('RCS Interactive Football Demo - Server is running!');
});

Auslösen der ersten Nachricht

Diese Route ermöglicht es uns, die Konversation mit einem Benutzer manuell zu starten. Sie können dies mit Postman oder cURL aufrufen, um die erste "Wer wird gewinnen?"-Nachricht auszulösen.

app.post('/send-initial-message', async (req, res) => {
    const toNumber = req.body.to;
    
    try {
      await messagingService.sendInitialMessage(toNumber);
      res.status(200).json({ message: 'Initial message sent successfully.' });
    } catch (error) {
      console.error('Error in /send-initial-message:', error);
      res.status(500).json({ error: 'Internal server error.' });
    }
  });

Eingehende Webhooks behandeln

Jetzt kommt der wichtigste Teil: der Webhook-Handler, der die Benutzerantworten verarbeitet und unseren interaktiven Fluss erstellt.

Vonage sendet Webhook-Rückrufe, wenn ein Benutzer mit Ihrer RCS-Nachricht interagiert. Wir prüfen also den Kanaltyp und den Nachrichtentyp:

if (inboundMessage.channel === 'rcs' && inboundMessage.message_type === 'reply')

Und wir erwarten, dass diese Interaktion über einen Antwortvorschlag, eine Schaltfläche auf einer Karte oder ein Karussell-Element erfolgt. Rich Cards verwenden das postbackData Attribut, aber für vorgeschlagene Antworten müssen wir auf ein id:

    const userSelection = inboundMessage.reply?.postbackData || inboundMessage.reply?.id;

Wenn man alles zusammenfasst, sieht Ihr inbound Webhook sieht wie folgt aus:

app.post('/inbound', async (req, res) => {
  // Verify the message signature for security
  const token = req.headers.authorization?.split(' ')[1];
  
   if (!token || !verifySignature(token, VONAGE_API_SIGNATURE_SECRET)) {
      console.error('Invalid signature');
      return res.status(401).json({ error: 'Invalid signature' });
    }

  const inboundMessage = req.body;
  
  // Only process RCS reply messages
  if (inboundMessage.channel === 'rcs' && inboundMessage.message_type === 'reply') {
	// Retrieve the postbackData for RCS Cards, id for Suggested Replies
         const userSelection = inboundMessage.reply?.postbackData || inboundMessage.reply?.id;

    const userNumber = inboundMessage.from;
    
    // Log the inbound message for debugging
    console.log(`User ${userNumber} selected: ${userSelection}`);
    
    try {
      // Handle different user selections based on our interactive flow
      switch (userSelection) {
        case 'brazil':
          // User selected Brazil - send man of the match voting
          console.log(`Sending man of the match message to ${userNumber}`);
          await messagingService.sendManOfTheMatchMessage(userNumber);
          break;
          
        case 'ronaldinho':
          // User selected Ronaldinho - send merchandise carousel
          console.log(`Sending player merchandise carousel to ${userNumber}`);
          await messagingService.sendPlayerMerchCarousel(userNumber);
          break;
          
        default:
          // For any other selection, log a confirmation message to the service
          console.log(`Sending confirmation for ${userSelection} to ${userNumber}`);
      }
      
      // Always return 200 OK to Vonage
      res.status(200).end();
    } catch (error) {
      console.error('Error processing inbound message:', error);
      res.status(500).json({ error: 'Internal server error' });
    }
  } else {
    // Not an RCS reply message
    console.log('Received non-RCS reply message');
    res.status(200).end();
  }
});

// Start the server
app.listen(PORT, () => {
  console.log(`Server is running on port ${PORT}`);
  console.log('RCS Interactive Football Demo is ready!');
});

>> Sie können die vollständige index.js-Datei

Wie Sie Ihre Node RCS-Anwendung testen

Öffnen Sie eine neue Terminal-Registerkarte, getrennt von Ihrer ngrok-Registerkarte, und starten Sie Ihren Express-Server:

node index.js

Verwenden Sie ein Tool wie Postman oder cURL, um eine POST-Anfrage an Ihren /send-initial-message Endpunkt mit der Rufnummer des Empfängers zu senden:

curl -X POST https://YOUR_NGROK_URL/send-initial-message \
  -H "Content-Type: application/json" \
  -d '{"to": "YOUR_RCS_TEST_NUMBER"}'

Beobachten Sie, wie sich der interaktive Fluss auf Ihrem Gerät entfaltet!

RCS message conversation showing a Vonage RCS bot with interactive buttons for Ronaldo and Pele, and a rich card featuring a Ronaldinho jersey priced at $70 with a 'Shop Now' buttonExample of an RCS Rich Card showcasing a Ronaldinho jersey as part of an interactive football campaign

Schlussfolgerung

Gute Arbeit! Sie haben soeben mit Node.js und der Vonage Messages API ein mehrstufiges RCS-Erlebnis in Echtzeit geschaffen. Es ist modular und leicht wiederverwendbar. Dieses Muster eignet sich hervorragend für Sport, Musik, Einzelhandel oder jede Veranstaltung, bei der Sie schnelle Interaktionen und echtes Engagement benötigen.

Allerdings haben wir nur einen Zweig des Flusses entwickelt. Wenn der Benutzer auswählt Deutschland oder glaubt, dass das Spiel mit einem Unentschiedenpassiert nichts... noch nicht! Das sind Ihre nächsten Schritte. Sie haben die Vorlagen und die Architektur fertig, also sollte das Hinzufügen dieser Pfade ein Kinderspiel sein.

Aber das ist noch nicht alles!

Kombinieren Sie dies mit der neuen Vonage Gerätestandort-API. Wenn Sie wissen, dass ein Nutzer im Stadion ist oder sich das Spiel in einer Kneipe ansieht, können Sie diesen interaktiven RCS-Flow genau dann auslösen, wenn er die größte Wirkung zeigt.

Wenn Sie den Rest des Ablaufs ausbauen oder ihn in Ihre eigene Event-App integrieren, lassen Sie es uns wissen. Wir würden uns freuen, es zu sehen. Tag VonageDev auf X, oder schauen Sie bei der Vonage Entwickler-Community Slack und zeigen Sie, woran Sie arbeiten.

Teilen Sie:

https://a.storyblok.com/f/270183/384x384/e4e7d1452e/benjamin-aronov.png
Benjamin AronovAdvokat für Entwickler

Benjamin Aronov ist ein Entwickler-Befürworter bei Vonage. Er ist ein bewährter Community Builder mit einem Hintergrund in Ruby on Rails. Benjamin genießt die Strände von Tel Aviv, das er sein Zuhause nennt. Von Tel Aviv aus kann er einige der besten Startup-Gründer der Welt treffen und von ihnen lernen. Außerhalb der Tech-Branche reist Benjamin gerne um die Welt auf der Suche nach dem perfekten Pain au Chocolat.