respond-io
New
🚀 TikTok Business Messaging ist live! Verwandeln Sie Gespräche nahtlos in Konvertierungen. Mehr erfahren.
arrow-icon

Startseite >

Kanäle >
Eigener Kanal >
Schnellstart für benutzerdefinierte Kanäle

Schnellstart für benutzerdefinierte Kanäle

Avatar
JQ Lee
· 04 Apr 2025
4 Min. Lesezeit

Diese Integration ermöglicht Ihrem Team, über eine benutzerdefinierte Implementierung über jeden beliebigen Messaging-Kanal mit Ihren Kunden zu chatten.

Einen benutzerdefinierten Kanal verbinden

Schritt 1: Gehe zu Einstellungen > Kanäle

Schritt 2: Klicken Sie auf Kanal hinzufügen > Benutzerdefinierter Kanal > Verbinden

Schritt 3: Geben Sie die Ziel-Webhook-URL ein, an die ausgehende Nachrichten gesendet werden.

Schritt 4: Wählen Sie den ID-Typ für den Kanal > klicken Sie auf Weiter

ID-Typen werden zur Benutzeridentifizierung und zur Kommunikation mit Ihrem benutzerdefinierten Integrationsserver verwendet.

Es stehen zwei Arten von IDs zur Verfügung:

  1. Telefonnummer: Verwenden Sie dies, wenn der Nachrichtendienstanbieter Kontakte anhand ihrer Telefonnummer erkennt.

    1. Beispielformat: +60177872890

  2. Benutzerdefinierte ID: Verwenden Sie dies, wenn der Messaging-Dienstanbieter Kontakte anhand einer benutzerdefinierten ID erkennt.

    1. Die maximale Zeichenlänge beträgt 50.

    2. AZ,az,0-9,_,=,+,/und@sind erlaubt.

Schritt 5: Der folgende Dialog liefert dieKanal-ID,API-TokenundWebhook-URLzB

  1. Kanal-ID:gfd8g7fd89dgfd

  2. API-Token:aaaxczsadzxcasdacxzcasdaaaxczsadzxcasdacxzcasd

  3. Webhook-URL:https://app.respond.io/custom/channel/webhook/

    Mithilfe des ID-Typs „Telefonnummer“ können Sie eine Konversation beginnen und die erste Nachricht an einen Kontakt senden.

Nachrichten an respond.io weiterleiten

Die Webhook-URLwird verwendet, um dieNachrichten,NachrichtenechosundNachrichtenbelegeauf der respond.io-Plattform zu posten.

Der bereitgestellte Code löst den Webhook auf respond.io aus, erstellt bei Bedarf einen Kontakt und speichert die Nachricht unter diesem Kontakt.

Beispiel für Nachrichten

curl -X POST \\  
  https://app.respond.io/custom/channel/webhook/ \\  
  -H 'Autorisierung: Träger aaaxczsadzxcasdacxzcasdaaaxczsadzxcasdacxzcasd' \\  
  -H 'Cache-Steuerung: kein Cache' \\  
  -H 'Inhaltstyp: application/json' \\  
  -d '{  
  "channelId": "gfd8g7fd89dgfd",  
  "contactId": "+60177872890",  
  "events": \[  
    {  
      "Typ": "Nachricht",  
      "mId": "xcvzzxcxczxczxc",  
      "Zeitstempel": 2132131321000,  
      "Nachricht": {  
        "Typ": "Text",  
        "Text": "Hallo Welt"  
      }  
    }  
  \],  
  "Kontakt": {  
    "Vorname": "John",  
    "Nachname": "Doe",  
    "Profilbild": "",  
    "Ländercode": "MY",  
    "E-Mail": "[email protected]",  
    "Telefon": "+60177872890",  
    "Sprache": "en"  
  }  
}'

Beispiel für Messaging Echoes

curl -X POST \\  
  https://app.respond.io/custom/channel/webhook/ \\  
  -H 'Autorisierung: Träger aaaxczsadzxcasdacxzcasdaaaxczsadzxcasdacxzcasd' \\  
  -H 'Cache-Steuerung: kein Cache' \\  
  -H 'Inhaltstyp: application/json' \\  
  -d '{  
  "channelId": "gfd8g7fd89dgfd",  
  "contactId": "+60177872890",  
  "events": \[  
    {  
      "Typ": "Nachricht\_Echo",  
      "mId": "xcvzzxcxczxczxc",  
      "Zeitstempel": 2132131321000,  
      "Nachricht": {  
        "Typ": "Text",  
        "Text": "Hallo Welt"  
      }  
    }  
  \],  
  "Kontakt": {  
    "Vorname": "John",  
    "Nachname": "Doe",  
    "Profilbild": "",  
    "Ländercode": "MY",  
    "E-Mail": "[email protected]",  
    "Telefon": "+60177872890",  
    "Sprache": "en"  
  }  
}'

Beispiel für Messaging-Belege

curl -X POST \\  
  https://app.respond.io/custom/channel/webhook/ \\  
  -H 'Autorisierung: Träger aaaxczsadzxcasdacxzcasdaaaxczsadzxcasdacxzcasd' \\  
  -H 'Cache-Steuerung: kein Cache' \\  
  -H 'Inhaltstyp: application/json' \\  
  -d '{  
  "channelId": "gfd8g7fd89dgfd",  
  "contactId": "+60177872890",  
  "events": \[  
    {  
      "Typ": "Nachricht\_Status",  
      "mId": "xcvzzxcxczxczxc",  
      "Zeitstempel": 2132131321000,  
      "Status": {  
        "Wert": "gesendet|zugestellt|gelesen|fehlgeschlagen",  
        "Nachricht": "Fehler: Senden aufgrund eines ungültigen Tokens fehlgeschlagen"  
      }  
  \]  
}'

Feld

Beschreibung

Validierung

Kanal-ID

Eindeutige Kanal-ID

Erforderlich. Eindeutiges Feld. Wird von respond.io generiert.

Kontakt-ID

Eindeutige Kontakt-ID

Erforderlich. Eindeutige respond.io-Kontakt-ID. Maximal 50 Zeichen.

Ereignisse.Typ

Ereignistyp

Erforderlich. Verfügbarer Typ: Nachricht, Nachrichtenecho und Nachrichtenstatus.

events.mld

Nachrichten-ID

Erforderlich. Eindeutige Nachrichten-ID. Maximal 50 Zeichen.

Ereignisse.Zeitstempel

UNIX-Epochenzeit (Millisekunden)

Erforderlich. Zeitpunkt des Ereignisses, das den Rückruf ausgelöst hat.

Ereignisse.Nachrichtentyp

Nachrichtenart

Erforderlich. Verfügbare Nachrichtentypen: Text, Anhang, Standort und Quick_Reply. Weitere Beispiele für Nachrichtentypen finden Sie im Abschnitt „Nachrichtentyp“.

Ereignisse.Nachrichtentext

Nachrichtentext

Erforderlich. Maximale Länge 7.000 Zeichen.

Ereignisse.Status.Wert

Text

Erforderlich, wenn event.type message_status ist. Verfügbare Statuswerte: Gesendet, Zugestellt, Gelesen und Fehlgeschlagen.

Ereignisse.Status.Nachricht

Text

Erforderlich, wenn events.status.value fehlgeschlagen ist.

Kontakt.Vorname

Vorname

Optional. Maximal 50 Zeichen.

kontakt.nachname

Nachname

Optional. Maximal 50 Zeichen.

Kontakt.Profilbild

Profilbild-URL

Optional. Die Avatargröße sollte nicht mehr als 100 KB betragen. Empfohlen werden 720 x 720.

contact.locale

Gebietsschemacode

Optional. Die Werteliste finden Sie hier.

Kontakt.Ländercode

Landesvorwahl

Optional. 2-stelliger Ländercode – ISO ALPHA-2-Code.

Kontakt.Zeitzone

Zeitzone

Optional. (min: -24) (max: 24).

kontakt.email

E-Mail-Adresse

Optional. Maximal 50 Zeichen.

Kontakttelefon

Telefonnummer.

Optional. Maximal 18 Zeichen.

Kontakt.Sprache

Sprache

Optional. ISO 639-1.

Antwort – Erfolg (HTTP-Status → 200)

"OK"

Ausgehende Nachrichten von respond.io verarbeiten

respond.io ruft den Endpunkt<API Base URL>/messageauf

Stellen Sie sicher, dass Sie den CodeOutgoing Messageauf der Route/messageIhres Webservers anwenden.

Hier ist das cURL-Beispiel von respond.io, das den Endpunkt aufruft:

curl -X POST \\  
  /message \\  
  -H 'Autorisierung: Träger aaaxczsadzxcasdacxzcasdaaaxczsadzxcasdacxzcasd' \\  
  -H 'Cache-Steuerung: kein Cache' \\  
  -H 'Inhaltstyp: application/json' \\  
  -d '{  
	"channelId": "gfd8g7fd89dgfd",  
	"contactId": "+60177872890",  
	"message": {  
		"type": "text",  
		"Text": "Hallo Welt"  
	}  
}'

Antwort – Erfolg (HTTP-Status → 200)

{  
	"mId": "1640141607842"  
}

Die Authentifizierung muss am Endpunkt erfolgen, bevor die Nachricht an den Messaging-Dienstanbieter gesendet wird.

Hier'ist ein Beispiel für die Verwendung einer Express-Middleware für diesen Zweck:

const {validationResult} = require('express-validator');

const validateToken = (req, res, next) => {
    const apiToken = <>
    const bearerToken = req.headers.authorization;

    if (!bearerToken)
        return res.send(401)

    const token = bearerToken.substring(7, bearerToken.length);

    wenn (apiToken !== token) {
        return res.send(401)
    }
    weiter();
};

module.exports = {
    validateToken
};

Wir'haben ein Beispiel für einen benutzerdefinierten Kanal beigefügt, den Sie auf Ihrem Server testen können. Schauen Sie sich hier unser GitHub-Projekt an.

Nachrichtentyp

Beispiel für Text

{  
  "Typ": "Text",  
  "Text": "Willkommen bei respond.io",  
}

Feld

Beschreibung

Validierung

Typ

Nachrichtenart

Erforderlich. Text

Text

Nachrichtentext

Erforderlich. Maximale Länge 7.000 Zeichen.

Beispiel für Mediendatei

{  
  "Typ": "Anhang",  
  "Anhang": {  
    "Typ": "Bild|Video|Audio|Datei",  
    "URL": "https://abc/japan.png",  
    "MIME-Typ": "Bild/png",  
    "Dateiname":"Firmenlogo.png",  
    "Beschreibung": "neuestes Firmenlogo"  
  }  
}

Feld

Beschreibung

Validierung

Typ

Nachrichtenart

Erforderlich. Anhang.

Anhangstyp

Anhangstyp

Erforderlich. Verfügbare Anhangstypen: Bild, Video, Audio und Datei.

Anhang.URL

URL

Erforderlich. Maximal 2.000 Zeichen. Stellen Sie sicher, dass es sich um einen öffentlichen Link handelt, damit Benutzer oder Kontakte den Inhalt sehen können.

Anhang.MIME-Typ

MIME-Typ des Anhangs

Optional

Anhang.Dateiname

Dateiname

Optional. Der Dateiname sollte eine Erweiterung enthalten. Maximal 256 Zeichen (einschließlich Dateierweiterung). Das Senden einer Datei ohne Erweiterung oder mit der falschen Erweiterung kann dazu führen, dass der Kontakt oder Benutzer die Datei nicht öffnen kann.

Anhang.Beschreibung

Dateibeschreibung

Optional. Maximal 256 Zeichen. Gilt nur für Anhangstyp = Bild.

Stelle sicher, dass die URL des Anhangs nicht zwangsweise vom Browser heruntergeladen wird. Der Content-Disposition-Header der HTTP-Antwort sollte den Standardwert inline haben.

Beispiel für Standort

{  
  „Typ“: „Standort“,  
  „Breitengrad“: 0,123456,  
  „Längengrad“: -0,1234,  
  „Adresse“: „Sky Suites, Jalan P. Ramlee, Kuala Lumpur, 50250 Kuala Lumpur, Wilayah Persekutuan Kuala Lumpur“  
}

Feld

Beschreibung

Validierung

Typ

Nachrichtenart

Erforderlich. Standort.

Breite

Koordinaten

Erforderlich. Breitengrad (±90°) innerhalb gültiger Bereiche.

Längengrad

Koordinaten

Erforderlich. Längengrad (±180°) innerhalb gültiger Bereiche.

Adresse

Standortadresse

Optional. Maximal 256 Zeichen.

Beispiel für eine Schnellantwort

{  
  "Typ": "Schnellantwort",  
  "Titel": "Wählen Sie Ihre bevorzugte Sprache",    
  "Antworten": \[  
    "Malaiisch",  
    "Englisch"  
  \]  
}

Feld

Beschreibung

Validierung

Typ

Nachrichtenart

Erforderlich. schnelle Antwort.

titel

Titel der Schnellantwort

Erforderlich. Maximal 256 Zeichen.

Antworten

Antworttext

Erforderlich. Maximal 10 Antworten mit maximal 256 Zeichen pro Antwort.

Fehlercodes

Fehler (HTTP-Status → 4xx)

Kanalkonfiguration

Schritt 1: Klicken Sie auf Einstellungen > Kanäle

Schritt 2: Suchen Sie den benutzerdefinierten Kanal > Klicken Sie auf Verwalten

Schritt 3: Auf der Seite „Benutzerdefinierte Kanalkonfiguration“ sehen Sie die folgenden Konfigurationen:

  • Kanalsymbol – Laden Sie ein Bild hoch, das als Symbol für Ihren benutzerdefinierten Kanal dient.

  • Kanalname – Der Kanalname kann geändert werden und wird intern zur Identifizierung des Kanals verwendet.

  • Webhook-URL für ausgehende Nachrichten — Die Webhook-URL für ausgehende Nachrichten an diesen Kanal.

  • Webhook-URL für eingehende Nachrichten — Die Webhook-URL für eingehende Nachrichten an diesen Kanal.

  • ID-Typ — Diese werden zur Benutzeridentifizierung und zur Kommunikation mit Ihrem benutzerdefinierten Integrationsserver verwendet.

  • Kanal-ID — Eindeutige Kanal-ID zur Identifizierung Ihres benutzerdefinierten Kanals.

  • API-Token — Eine eindeutige Kennung, die zur Authentifizierung eines Benutzers für den Zugriff auf eine API verwendet wird.

Schritt 4: Klicken Sie auf Änderungen speichern , um die benutzerdefinierte Kanalkonfiguration zu aktualisieren.

FAQ und Fehlerbehebung

Kann ich Chats von anderen Plattformen über einen benutzerdefinierten Kanal verbinden?

Ja, das ist möglich. Hier sind drei Schritte, die Sie befolgen müssen:

  1. Gib in respond.io die Ziel-Webhook-URL von der anderen Plattform in das Feld Webhook-URL für eingehende Nachrichten ein.

  2. Richten Sie auf der anderen Plattform eine -Webhook-URL ein, die auf respond.io verweist und es Kontakten ermöglicht, Ihnen Nachrichten zurückzusenden.

  3. Sie'benötigen einen benutzerdefinierten Integrationsserver , um APIs sowohl von respond.io als auch von der anderen Plattform zu interpretieren und so den Nachrichtenaustausch zwischen ihnen zu ermöglichen.

Stellen Sie sicher, dass Sie mit der anderen Plattform bestätigen, dass die ersten beiden Schritte durchführbar sind.

FAQ zu benutzerdefinierten Kanal-Webhooks

Warum gibt der Webhook den Status 200 zurück, auch wenn die Nachricht nicht an respond.io zugestellt werden kann?

Beim Verbinden eines benutzerdefinierten Kanals geben Nachrichten, die über Webhooks an respond.io gesendet werden, immer sofort einen Statuscode 200 zurück, unabhängig davon, ob die Nachricht erfolgreich an respond.io weitergeleitet wurde. Dies liegt an der Natur von Webhooks, die darauf ausgelegt sind, eine sofortige Antwort zurückzugeben, ohne den Erfolg der Nachrichtenübermittlung zu überprüfen.

Diesen Artikel teilen
Telegram
Facebook
Linkedin
Twitter

Verwandte Artikel 👩‍💻

Benutzerdefinierte Kanalübersicht
Erhalten Sie einen Überblick über den benutzerdefinierten Kanal und seine Funktionen.

Sie können nicht finden, was Sie suchen? 🔎