logoDokumentation
Suchen

Template Management API

Übersicht

Mit der Template-Management-API der WhatsApp Business API können Sie Vorlagen effizient hinzufügen, löschen und überprüfen. Dieses Vorlagenmanagement ist essenziell für Unternehmen, die ihre Kommunikation über WhatsApp automatisieren und optimieren möchten.

Aufrufvalidierung

Die EngageLab REST API nutzt die HTTP-Basic-Authentifizierung als Verifizierungsmethode. Fügen Sie dazu folgenden HTTP-Header hinzu:

Authorization: Basic ${base64_auth_string}
              
              Authorization: Basic ${base64_auth_string}

            
Diesen Codeblock im schwebenden Fenster anzeigen

Der base64_auth_string wird wie folgt generiert: base64(DevKey:DevSecret)

  • Der Header-Name lautet „Authorization“ und der Wert ist ein base64-kodiertes „Benutzername:Passwort“-Paar (getrennt durch einen Doppelpunkt).
  • Im WhatsApp Business API-Szenario ist der Benutzername DevKey und das Passwort DevSecret. Diese Werte finden Sie im Konsolenbereich unter Konfigurationsmanagement – API-Schlüssel.

Vorlagen abrufen

Aufrufadresse

GET https://wa.api.engagelab.cc/v1/templates

Anfrageparameter

Parameter Typ Optional Beschreibung
name String Ja Vorlagenname, unscharfe Suche möglich
language_code String Ja Vorlagensprache, siehe Sprachcode
category String Ja Vorlagenkategorie:
● AUTHENTICATION: Verifizierungscode
● MARKETING: Marketing
● UTILITY: Servicemitteilung
status String Ja Vorlagenstatus:
  • APPROVED – Genehmigt
  • PENDING – Ausstehend
  • REJECTED – Abgelehnt
  • PENDING_DELETION – Zur Löschung vorgemerkt
  • DELETED – Gelöscht
  • DISABLED – Deaktiviert (gesperrt)
  • IN_APPEAL – Im Einspruchsverfahren
  • PAUSED – Pausiert
    Für Entwickler:innen sind insbesondere APPROVED, PENDING, REJECTED und DISABLED relevant.
  • Antwortparameter

    Parameter Typ Erforderlich Beschreibung
    id String Ja Vorlagen-ID
    name String Ja Vorlagenname
    language String Ja Vorlagensprache, siehe Sprachcode
    category String Ja Typ der Vorlage:
  • OTP: Einmalpasswort
  • MARKETING: Marketing
  • TRANSACTIONAL: Transaktion
    Hinweis: Die Vorlagenkategorien werden aktualisiert:
  • AUTHENTICATION
  • MARKETING
  • UTILITY
  • components Objekt-Array Ja Weitere Informationen zum Vorlageninhalt siehe Komponentenobjekte in einer Vorlage erstellen
    status String Ja Vorlagenstatus:
  • APPROVED
  • IN_APPEAL
  • PENDING
  • REJECTED
  • PENDING_DELETION
  • DELETED
  • DISABLED
  • PAUSED
  • LIMIT_EXCEEDED
  • Antwortbeispiel

    [ { "id": "406979728071589", "name": "code", "language": "zh_CN", "status": "APPROVED", "category": "OTP", "components": [ { "type": "HEADER", "format": "text", "text": "Registrierungs-Bestätigungscode" }, { "type": "BODY", "text": "Ihr Bestätigungscode lautet {{1}}, bitte geben Sie ihn innerhalb von 5 Minuten ein." } ] } // … ]
                  
                  [
        {
            "id": "406979728071589",
            "name": "code",
            "language": "zh_CN",
            "status": "APPROVED",
            "category": "OTP",
            "components": [
                {
                    "type": "HEADER",
                    "format": "text",
                    "text": "Registrierungs-Bestätigungscode"
                },
                {
                    "type": "BODY",
                    "text": "Ihr Bestätigungscode lautet {{1}}, bitte geben Sie ihn innerhalb von 5 Minuten ein."
                }
            ]
        }
        // …
    ]
    
                
    Diesen Codeblock im schwebenden Fenster anzeigen

    Vorlageninformationen abfragen

    API-Endpunkt

    GET https://wa.api.engagelab.cc/v1/templates/{template_id}

    Dabei steht {template_id} für die abzufragende Vorlagen-ID.

    Anfrageparameter

    Keine

    Anfragebeispiel

    GET https://wa.api.engagelab.cc/v1/templates/406979728071589

    Antwortparameter

    Parameter Typ Erforderlich Beschreibung
    id String Ja Vorlagen-ID
    name String Ja Vorlagenname
    language String Ja Vorlagensprache, siehe Sprachcode
    category String Ja Vorlagenkategorie:
  • OTP: Einmalpasswort
  • MARKETING: Marketing
  • TRANSACTIONAL: Transaktional
    Hinweis: Die Vorlagenkategorien werden bis zum 01.05.2023 aktualisiert:
  • AUTHENTICATION
  • MARKETING
  • UTILITY
  • components Objekt-Array Ja Komponenten des Vorlageninhalts, siehe Komponentenobjekt
    status String Ja Vorlagenstatus:
    APPROVED, IN_APPEAL, PENDING, REJECTED, PENDING_DELETION, DELETED, DISABLED, PAUSED, LIMIT_EXCEEDED

    Antwortbeispiel

    { "id": "406979728071589", "name": "code", "language": "en", "status": "APPROVED", "category": "OTP", "components": [ { "type": "HEADER", "format": "text", "text": "Registrierungs-Bestätigungscode" }, { "type": "BODY", "text": "Ihr Bestätigungscode lautet {{1}}, bitte geben Sie ihn innerhalb von 5 Minuten ein." } ] }
                  
                  {
        "id": "406979728071589",
        "name": "code",
        "language": "en",
        "status": "APPROVED",
        "category": "OTP",
        "components": [
            {
                "type": "HEADER",
                "format": "text",
                "text": "Registrierungs-Bestätigungscode"
            },
            {
                "type": "BODY",
                "text": "Ihr Bestätigungscode lautet {{1}}, bitte geben Sie ihn innerhalb von 5 Minuten ein."
            }
        ]
    }
    
                
    Diesen Codeblock im schwebenden Fenster anzeigen

    Vorlage erstellen

    Aufrufadresse

    POST https://wa.api.engagelab.cc/v1/templates

    Beispielaufruf

    { "name": "template_name", "language": "zh_CN", "category": "OTP", "components": [ { "type": "BODY", "text": "definiere var als {{1}}", "example": { "body_text": [ [ "var1" ] ] } }, { "type": "HEADER", "format": "image", "example": { "header_handle": [ "https://jiguang.cn/demopic.jpg" ] } }, { "type": "FOOTER", "text": "Der Footer unterstützt nur Text ohne Variablen." }, { "type": "BUTTONS", "buttons": [ { "type": "PHONE_NUMBER", "text": "Jetzt anrufen", "phone_number": "8613800138000" } ] } ] }
                  
                  {
        "name": "template_name",
        "language": "zh_CN",
        "category": "OTP",
        "components": [
            {
                "type": "BODY",
                "text": "definiere var als {{1}}",
                "example": {
                    "body_text": [
                        [
                            "var1"
                        ]
                    ]
                }
            },
            {
                "type": "HEADER",
                "format": "image",
                "example": {
                    "header_handle": [
                        "https://jiguang.cn/demopic.jpg"
                    ]
                }
            },
            {
                "type": "FOOTER",
                "text": "Der Footer unterstützt nur Text ohne Variablen."
            },
            {
                "type": "BUTTONS",
                "buttons": [
                    {
                        "type": "PHONE_NUMBER",
                        "text": "Jetzt anrufen",
                        "phone_number": "8613800138000"
                    }
                ]
            }
        ]
    }
    
                
    Diesen Codeblock im schwebenden Fenster anzeigen

    Anfrageparameter

    Parameter Typ Erforderlich Beschreibung
    name String Ja Name der Vorlage. Nur Kleinbuchstaben, Zahlen und Unterstriche erlaubt. Maximal 512 Zeichen.
    language String Ja Vorlagensprache, siehe Sprachcode.
    category String Ja Typ der Vorlage:
  • OTP: Einmalpasswort
  • MARKETING: Marketing
  • TRANSACTIONAL: Transaktion
    Hinweis: Die Vorlagenkategorien werden spätestens zum 01.05.2023 aktualisiert:
  • AUTHENTICATION
  • MARKETING
  • UTILITY
  • components Objekt-Array Ja Komponenten, die den Vorlageninhalt beschreiben. Weitere Informationen siehe Komponentenobjekt

    Komponentenobjekt

    Dieses Objekt beschreibt den Vorlageninhalt. Die Vorlage ist in mehrere Komponenten unterteilt, z. B. HEADER, BODY, FOOTER und BUTTONS. Mit type geben Sie diese Komponenten an. Je nach Komponententyp werden unterschiedliche Parameter unterstützt:

    HEADER-Komponente

    Optional. Nur setzen, wenn benötigt.

    Parameter Typ Erforderlich Beschreibung
    type String Ja Typ der Komponente. Gültiger Wert: HEADER.
    format String Ja Header-Format. Gültige Werte: text, image, video, document.
    text String Optional Inhalt des Header-Texts. Muss gesetzt werden, wenn format = text. Es kann eine Variable {{1}} verwendet werden.
    example JSON-Objekt Optional Header-Beispiel. Erforderlich, wenn Text eine Variable enthält oder das Format ein Medientyp ist. Siehe Beispielobjekt-Beschreibung
    Beispielobjekt-Beschreibung
    Parameter Typ Optional Beschreibung
    header_handle String-Array Ja Bei Format image, video oder document: URL des Mediums. Muss zugänglich sein, sonst wird die Vorlage abgelehnt.
    header_text String-Array Ja Bei Format text und Variable: Ersetzung der Variable. Beispiel: "header_text": ["var1"]
    header_url String-Array Ja Wie header_handle, wird aber künftig nicht mehr unterstützt. Nutzung vermeiden.
    BODY-Komponente

    Erforderlich. Der Body-Inhalt muss gesetzt werden.

    Parameter Typ Erforderlich Beschreibung
    type String Ja Typ der Komponente. Gültiger Wert: BODY.
    text String Ja Inhalt des Bodys. Maximal 1.024 Zeichen. Es können mehrere Variablen verwendet werden: {{1}}, {{2}}, ...
    example JSON-Objekt Optional Body-Beispiel. Für Meta-Review erforderlich, wenn Text Variablen enthält. Siehe Beispielobjekt-Beschreibung
    Beispielobjekt-Beschreibung
    Parameter Typ Optional Beschreibung
    body_text String-Array Ja Bei Variablen im Text: Alle Variablen in Reihenfolge der Nummerierung. Beispiel: "body_text": [["var1","var2","var3"]]

    Optional. Nur setzen, wenn benötigt.

    Parameter Typ Erforderlich Beschreibung
    type String Ja Typ der Komponente. Wert: FOOTER.
    text String Ja Inhalt des Footers. Nur Klartext, keine Variablen erlaubt.
    BUTTONS-Komponente

    Optional. Nur setzen, wenn benötigt.

    Parameter Typ Erforderlich Beschreibung
    type String Ja Typ der Komponente. Gültiger Wert: BUTTONS.
    buttons Objekt-Array Ja Button-Informationen, siehe Buttons-Objekt-Beschreibung.
    Buttons-Objekt-Beschreibung
    Parameter Typ Erforderlich Beschreibung
    type String Ja Typ des Buttons. Gültige Werte: QUICK_REPLY, URL, PHONE_NUMBER.
    text String Ja Text auf dem Button, keine Variablen, Klartext, max. 25 Zeichen.
    url String Optional Erforderlich bei type = URL. Am Ende der URL kann eine Variable {{1}} stehen.
    phone_number String Optional Erforderlich bei type = PHONE_NUMBER, keine Variablen, Telefonnummer mit Ländervorwahl.
    example String-Array Optional Erforderlich bei type = QUICK_REPLY und type = URL

    Antwortparameter

    Erfolgreiche Antwort

    Parameter Typ Erforderlich Beschreibung
    template_id String Ja Die ID der Vorlage. Wird bei Erfolg zurückgegeben.
    { "template_id": "1275172986566180" }
                  
                  {
        "template_id": "1275172986566180"
    }
    
                
    Diesen Codeblock im schwebenden Fenster anzeigen

    Fehlgeschlagene Antwort

    Parameter Typ Erforderlich Beschreibung
    code int Ja Fehlercode. Wird bei Fehler zurückgegeben.
    message String Ja Fehlermeldung.
    { "code": 5002, "message": "Ungültiger Parameter. code:100:2388042" }
                  
                  {
        "code": 5002,
        "message": "Ungültiger Parameter. code:100:2388042"
    }
    
                
    Diesen Codeblock im schwebenden Fenster anzeigen

    Vorlage aktualisieren

    Aufrufadresse

    PUT https://wa.api.engagelab.cc/v1/templates/{templateId}

    Beispielaufruf

    { "components": [ { "type": "BODY", "text": "definiere var als {{1}}", "example": { "body_text": [ [ "var1" ] ] } }, { "type": "HEADER", "format": "image", "example": { "header_handle": [ "https://jiguang.cn/demopic.jpg" ] } }, { "type": "FOOTER", "text": "Der Footer unterstützt nur Text ohne Variablen." }, { "type": "BUTTONS", "buttons": [ { "type": "PHONE_NUMBER", "text": "Jetzt anrufen", "phone_number": "8613800138000" } ] } ] }
                  
                  {
        "components": [
            {
                "type": "BODY",
                "text": "definiere var als {{1}}",
                "example": {
                    "body_text": [
                        [
                            "var1"
                        ]
                    ]
                }
            },
            {
                "type": "HEADER",
                "format": "image",
                "example": {
                    "header_handle": [
                        "https://jiguang.cn/demopic.jpg"
                    ]
                }
            },
            {
                "type": "FOOTER",
                "text": "Der Footer unterstützt nur Text ohne Variablen."
            },
            {
                "type": "BUTTONS",
                "buttons": [
                    {
                        "type": "PHONE_NUMBER",
                        "text": "Jetzt anrufen",
                        "phone_number": "8613800138000"
                    }
                ]
            }
        ]
    }
    
                
    Diesen Codeblock im schwebenden Fenster anzeigen

    Anfrageparameter

    Entspricht den Anfrageparametern der Vorlage-Erstellen-Schnittstelle.

    Antwortparameter

    Erfolgreiche Antwort

    Parameter Typ Erforderlich Beschreibung
    code int Ja Rückgabecode, fest 0
    message String Ja Rückmeldung, fest „success“.
    { "code": 0, "message": "success" }
                  
                  {
        "code": 0,
        "message": "success"
    }
    
                
    Diesen Codeblock im schwebenden Fenster anzeigen

    Fehlgeschlagene Antwort

    Parameter Typ Erforderlich Beschreibung
    code int Ja Fehlercode. Wird bei Fehler zurückgegeben.
    message String Ja Fehlermeldung.
    { "code": 5002, "message": "Ungültiger Parameter. code:100:2593002" }
                  
                  {
        "code": 5002,
        "message": "Ungültiger Parameter. code:100:2593002"
    }
    
                
    Diesen Codeblock im schwebenden Fenster anzeigen

    Vorlage löschen

    Aufrufadresse

    DELETE https://wa.api.engagelab.cc/v1/templates/{template_name}

    Hinweis: Hier wird der Vorlagenname (nicht die Vorlagen-ID) übergeben. Dadurch werden alle Sprachversionen dieser Vorlage gelöscht.

    Antwortparameter

    Erfolgreiche Antwort

    Parameter Typ Erforderlich Beschreibung
    code int Ja Rückgabecode, fest 0
    message String Ja Rückmeldung, fest „success“.
    { "code": 0, "message": "success" }
                  
                  {
        "code": 0,
        "message": "success"
    }
    
                
    Diesen Codeblock im schwebenden Fenster anzeigen

    Fehlgeschlagene Antwort

    Parameter Typ Erforderlich Beschreibung
    code int Ja Fehlercode. Wird bei Fehler zurückgegeben.
    message String Ja Fehlermeldung.
    { "code": 2004, "message": "Etwas ist schiefgelaufen" }
                  
                  {
        "code": 2004,
        "message": "Etwas ist schiefgelaufen"
    }
    
                
    Diesen Codeblock im schwebenden Fenster anzeigen

    Fehlercodes

    Code HTTP-Code Beschreibung
    1000 500 Interner Fehler
    2001 401 EngageLab-Authentifizierung fehlgeschlagen, kein gültiges Token.
    2002 401 EngageLab-Authentifizierung fehlgeschlagen. Token abgelaufen oder deaktiviert.
    2003 400 WhatsApp-Authentifizierung fehlgeschlagen, bitte wenden Sie sich an den EngageLab-Support.
    2004 403 Sie sind nicht berechtigt, diese API aufzurufen.
    3001 400 Das Format der Anfrageparameter ist ungültig. Prüfen Sie, ob das JSON-Format verwendet wird.
    3002 400 Die Anfrageparameter sind fehlerhaft. Prüfen Sie, ob die Parameteranforderungen erfüllt sind.
    3003 400 Fehlerhafte Anfrageparameter.
    4001 400 Die Vorlage existiert nicht.
    5002 400 Die Template-Anfrage konnte von Meta nicht verarbeitet werden. Weitere Informationen siehe die Fehlermeldung im Feld message.

    Hinweise

    Anforderungen an das Mediennachrichtenformat

    Medientyp Unterstützte Formate (Content-Type) Größenlimit
    Bild image/jpeg, image/png, keine Transparenz 5 MB
    Video video/mp4 16 MB
    Dokument Nur PDF 100 MB

    Sprachcode

    Sprache Code
    Afrikaans af
    Albanisch sq
    Arabisch ar
    Aserbaidschanisch az
    Bengalisch bn
    Bulgarisch bg
    Katalanisch ca
    Chinesisch (CHN) zh_CN
    Chinesisch (HKG) zh_HK
    Chinesisch (TAI) zh_TW
    Kroatisch hr
    Tschechisch cs
    Dänisch da
    Niederländisch nl
    Englisch en
    Englisch (UK) en_GB
    Englisch (US) en_US
    Estnisch et
    Filipino fil
    Finnisch fi
    Französisch fr
    Georgisch ka
    Deutsch de
    Griechisch el
    Gujarati gu
    Hausa ha
    Hebräisch he
    Hindi hi
    Ungarisch hu
    Indonesisch id
    Irisch ga
    Italienisch it
    Japanisch ja
    Kannada kn
    Kasachisch kk
    Kinyarwanda rw_RW
    Koreanisch ko
    Kirgisisch (Kirgistan) ky_KG
    Lao lo
    Lettisch lv
    Litauisch lt
    Mazedonisch mk
    Malaiisch ms
    Malayalam ml
    Marathi mr
    Norwegisch nb
    Persisch fa
    Polnisch pl
    Portugiesisch (BR) pt_BR
    Portugiesisch (POR) pt_PT
    Punjabi pa
    Rumänisch ro
    Russisch ru
    Serbisch sr
    Slowakisch sk
    Slowenisch sl
    Spanisch es
    Spanisch (ARG) es_AR
    Spanisch (SPA) es_ES
    Spanisch (MEX) es_MX
    Suaheli sw
    Schwedisch sv
    Tamil ta
    Telugu te
    Thailändisch th
    Türkisch tr
    Ukrainisch uk
    Urdu ur
    Usbekisch uz
    Vietnamesisch vi
    Zulu zu

    Weitere Informationen zur Zuordnung von Sprache und Code finden Sie in dieser Datei:
    Template language code.xlsx


    Tipp: Nutzen Sie die WhatsApp Business API und das Vorlagenmanagement, um Ihre Kundenkommunikation effizient und DSGVO-konform zu automatisieren.
    Jetzt starten:

    • Vorlage erstellen
    • Vorlage aktualisieren
    • Vorlage löschen
    • Mehr erfahren
    icon
    Vertrieb kontaktieren