Partnerkonto einrichten

Sobald Sie sich als RBM-Partner registriert haben, haben Sie ein Partnerkonto. Öffnen Sie die Business Communications Developer Console und klicken Sie auf Partnerkontoeinstellungen, um auf die Einstellungen Ihres Partnerkontos zuzugreifen. Hier können Sie Folgendes tun:

Informationen zum Partnerkonto aktualisieren

Auf der Seite Einstellungen können Sie Ihre Partner-ID abrufen und die folgenden Informationen aktualisieren:

Field Beschreibung
Name des Partners Name Ihres Partnerkontos
Anzeigename Der Name wird in den RBM-Abrechnungsberichten angezeigt, die Mobilfunkanbieter erhalten (im Feld owner_name). Mobilfunkanbieter verwenden diese Informationen, um dich als vertrauenswürdigen Partner zu identifizieren und sicherzustellen, dass die korrekten Rechnungsinformationen für die Nutzung von RBM erstellt werden, um ihre Abonnenten zu erreichen. Der hier angegebene Name muss mit dem Namen übereinstimmen, der in den Messaging-Verträgen Ihres Mobilfunkanbieters verwendet wird.
Technischer Ansprechpartner

Die Person, an die sich Google bei technischen Problemen mit Ihren Kundenservicemitarbeitern wendet. Sie können ihre

  • Name
  • Geschäftliche E-Mail-Adresse
  • Telefonnummer
Webhook Das ist die URL Ihres Webhook-Endpunkts. Klicken Sie auf **Konfigurieren**, um sie zu aktualisieren. Wenn Sie Ihren Partner-Webhook konfigurieren, gilt er für alle Ihre Agents. Wenn Sie für einen einzelnen Agent einen anderen Webhook verwenden möchten, können Sie einen Agent-Webhook konfigurieren, der nur für diesen Agent gilt.

Marken verwalten

Als RBM-Partner kannst du Agents für Marken erstellen.

Auf der Seite Marken in den Kontoeinstellungen kannst du die mit deinem Partnerkonto verknüpften Marken hinzufügen, bearbeiten und entfernen.

Marke hinzufügen

Um eine Marke hinzuzufügen, geben Sie ihren Namen in das Eingabefeld ein und klicken Sie auf Hinzufügen.

Marke bearbeiten

So bearbeiten Sie eine Marke:

  1. Klicken Sie das Kästchen neben dem Namen der Marke an.
  2. Klicken Sie auf die Schaltfläche und dann auf Namen bearbeiten.
  3. Nehmen Sie die gewünschten Änderungen vor und klicken Sie auf Fertig.

Marke entfernen

Eine Marke kann nicht entfernt werden, wenn sie mit einem Agent verknüpft ist, auch wenn der Agent nicht gestartet wurde.

Wenn Sie eine Marke entfernen möchten, klicken Sie auf das Kästchen neben dem Namen der Marke und dann auf Löschen.

Nutzer verwalten

Auf der Seite Nutzer in den Kontoeinstellungen verwalten Sie die Nutzer Ihres Partnerkontos. Der Nutzer, der das Partnerkonto erstellt hat, hat die Rolle „Inhaber“. Neue Nutzer können die Rolle „Manager“ oder „Reader“ haben.

  • Manager können auf alle Funktionen der Developer Console zugreifen und damit alle Agents verwalten, die zum Partnerkonto gehören.
  • Leser haben Lesezugriff auf die Developer Console. Sie können damit alle Agents aufrufen, die zum Partnerkonto gehören.

Nutzer hinzufügen

Wenn Sie einen Nutzer hinzufügen möchten, geben Sie seine E-Mail-Adresse in das Eingabefeld ein und wählen Sie seine Rolle aus.

Wenn Sie einen neuen Nutzer hinzufügen, wird er per E-Mail darüber informiert, dass er Zugriff auf das Partnerkonto hat.

Nutzer entfernen

So entfernen Sie Nutzer:

  1. Suchen Sie den Nutzer, den Sie entfernen möchten, und klicken Sie in der Tabellenzeile auf die Schaltfläche .
  2. Wähle Nutzer entfernen aus.
  3. Bestätigen Sie das Entfernen.

Der von Ihnen entfernte Nutzer wird per E-Mail darüber benachrichtigt, dass er keinen Zugriff mehr auf das Partnerkonto hat.

Nutzer mit der Rolle „Inhaber“ können nicht entfernt werden. Wenn Sie den Inhaber ändern oder entfernen möchten, wenden Sie sich an den Support.

Rolle eines Nutzers ändern

So aktualisieren Sie die Rolle eines Nutzers:

  1. Suchen Sie den Nutzer, den Sie aktualisieren möchten, und klicken Sie in der entsprechenden Tabellenzeile auf die Schaltfläche .
  2. Wählen Sie Rolle bearbeiten aus.
  3. Wählen Sie im Drop-down-Menü eine neue Rolle aus.
  4. Klicken Sie auf Speichern.

Dienstkonto zum Authentifizieren von API-Aufrufen einrichten

Wenn Sie Aufrufe an die RBM API senden, authentifizieren Sie Aufrufe mit einem Dienstkontoschlüssel. Mit diesem Schlüssel können Sie Marken und Agents erstellen und verwalten sowie Nachrichten und Anfragen als Agent senden.

So generieren Sie einen Dienstkontoschlüssel:

  1. Rufen Sie in den Kontoeinstellungen die Seite Dienstkonto auf.
  2. Klicken Sie auf Schlüssel erstellen und dann auf Erstellen. Der Browser lädt den Dienstkontoschlüssel herunter.

Bewahren Sie Ihren Dienstkontoschlüssel an einem sicheren, privaten Ort auf. Geben Sie Ihren Schlüssel nicht öffentlich frei. Sie benötigen diesen Schlüssel später für den Zugriff auf die RBM APIs.

Partner-Webhook konfigurieren

Ein Webhook ist ein von einem Partner erstellter HTTPS-Callback, der angibt, wie der Agent auf Nachrichten und Ereignisse reagieren soll. Nachdem Sie den Webhook konfiguriert haben, können Sie Nachrichten und Ereignisse empfangen.

So konfigurieren Sie einen Partner-Webhook:

  1. Öffnen Sie die Business Communications Developer Console und melden Sie sich mit Ihrem RBM-Partner-Google-Konto an.

  2. Öffnen Sie die Kontoeinstellungen.

  3. Klicken Sie unter RCS Business Messaging-Webhook-URL auf Konfigurieren.

  4. Geben Sie unter Webhook-Endpunkt-URL die Webhook-URL ein, die mit „https://“ beginnt.

  5. Notieren Sie sich den clientToken-Wert. Sie benötigen sie, um zu überprüfen, ob Nachrichten von Google stammen.

  6. Konfigurieren Sie den Webhook so, dass er eine POST-Anfrage mit dem angegebenen Parameter clientToken akzeptiert und eine 200 OK-Antwort mit dem Nur-Text-Wert des Parameters secret als Antworttext sendet.

    Beispiel: Ihr Webhook erhält eine POST-Anfrage mit dem folgenden Textinhalt:

    {
      "clientToken":"SJENCPGJESMGUFPY",
      "secret":"1234567890"
    }
    

    Der Webhook sollte den Wert clientToken bestätigen. Wenn clientToken korrekt ist, sollte er eine 200 OK-Antwort mit 1234567890 als Antworttext zurückgeben:

    // clientToken from Configure
    const myClientToken = "SJENCPGJESMGUFPY";
    
    // Example endpoint
    app.post("/rbm-webhook", (req, res) => {
      const msg = req.body;
      if (msg.clientToken === myClientToken) {
          res.status(200).send(msg.secret);
          return;
      }
      res.send(400);
    });
    
  7. Klicken Sie in der Developer Console auf Bestätigen. Sobald RBM den Webhook verifiziert hat, wird das Dialogfeld geschlossen.

Eingehende Nachrichten überprüfen

Da Webhooks Nachrichten von beliebigen Absendern empfangen können, sollten Sie vor der Verarbeitung des Nachrichteninhalts prüfen, ob Google eingehende Nachrichten gesendet hat.

So überprüfen Sie, ob Google eine Nachricht gesendet hat, die Sie erhalten haben:

  1. Extrahieren Sie den X-Goog-Signature-Header der Nachricht. Dies ist eine base64-codierte, gehashte Kopie der Nutzlast des Nachrichtentexts.
  2. Mit Base64 decodieren Sie die RBM-Nutzlast im message.body-Element der Anfrage.
  3. Verwenden Sie das Clienttoken des Webhooks, das Sie beim Einrichten des Webhooks angegeben haben, als Schlüssel, erstellen Sie einen SHA512-HMAC der Byte der base64-decodierten Nachrichtennutzlast und codieren Sie das Ergebnis mit Base64.
  4. Vergleichen Sie den Hash X-Goog-Signature mit dem von Ihnen erstellten Hash.
    • Wenn die Hashwerte übereinstimmen, haben Sie bestätigt, dass die Nachricht von Google gesendet wurde.
    • Wenn die Hashwerte nicht übereinstimmen, prüfen Sie Ihren Hash-Vorgang bei einer als fehlerfrei bekannten Nachricht.

      Wenn Ihr Hash-Prozess korrekt funktioniert und Sie eine Nachricht erhalten, die Ihrer Meinung nach in betrügerischer Absicht an Sie gesendet wurde, wenden Sie sich an uns.

Node.js

  if ((requestBody.hasOwnProperty('message')) && (requestBody.message.hasOwnProperty('data'))) {
    // Validate the received hash to ensure the message came from Google RBM
    let userEventString = Buffer.from(requestBody.message.data, 'base64');
    let hmac = crypto.createHmac('sha512', CLIENT_TOKEN);
    let data = hmac.update(userEventString);
    let genHash = data.digest('base64');
    let headerHash = req.header('X-Goog-Signature');

    if (headerHash === genHash) {
      let userEvent = JSON.parse(userEventString);

      console.log('userEventString: ' + userEventString);
      handleMessage(userEvent);
    } else {
      console.log('hash mismatch - ignoring message');
    }
  }

  res.sendStatus(200);
  

Nächste Schritte

Nachdem Ihr Partnerkonto jetzt eingerichtet ist, können Sie Ihren ersten Agent erstellen.