Skip to content

WhatsApp

Verbind uw Triggerfish-agent met WhatsApp zodat u er vanaf uw telefoon mee kunt communiceren. De adapter gebruikt de WhatsApp Business Cloud API (de officiële door Meta gehoste HTTP API), ontvangt berichten via webhook en verzendt via REST.

Standaardclassificatie

WhatsApp is standaard ingesteld op PUBLIC-classificatie. WhatsApp-contacten kunnen iedereen zijn met uw telefoonnummer, dus PUBLIC is de veilige standaard.

Installatie

Stap 1: Een Meta Business-account aanmaken

  1. Ga naar het Meta for Developers-portaal
  2. Maak een ontwikkelaarsaccount aan als u dat nog niet heeft
  3. Maak een nieuwe app aan en selecteer Business als het apptype
  4. Voeg in uw app-dashboard het WhatsApp-product toe

Stap 2: Uw inloggegevens ophalen

Verzamel vanuit het WhatsApp-gedeelte van uw app-dashboard deze waarden:

  • Access Token — Een permanent toegangstoken (of genereer een tijdelijk voor testen)
  • Phone Number ID — Het ID van het telefoonnummer geregistreerd bij WhatsApp Business
  • Verify Token — Een tekenreeks die u kiest, gebruikt om webhookregistratie te verifiëren

Stap 3: Webhooks configureren

  1. Navigeer in de WhatsApp-productinstellingen naar Webhooks
  2. Stel de callback-URL in op het publieke adres van uw server (bijv. https://uw-server.com:8443/webhook)
  3. Stel het Verify Token in op dezelfde waarde die u in uw Triggerfish-configuratie gebruikt
  4. Abonneer op het messages-webhookveld

Publieke URL vereist WhatsApp-webhooks vereisen een publiek toegankelijk HTTPS-eindpunt. Als u Triggerfish lokaal uitvoert, heeft u een tunnelservice nodig (bijv. ngrok, Cloudflare Tunnel) of een server met een publiek IP-adres. :::

Stap 4: Triggerfish configureren

Voeg het WhatsApp-kanaal toe aan uw triggerfish.yaml:

yaml
channels:
  whatsapp:
    # accessToken opgeslagen in OS-sleutelhanger
    phoneNumberId: "uw-telefoonnummer-id"
    # verifyToken opgeslagen in OS-sleutelhanger
    ownerPhone: "15551234567"
OptieTypeVereistBeschrijving
accessTokenstringJaWhatsApp Business API-toegangstoken
phoneNumberIdstringJaTelefoonnummer-ID van Meta Business Dashboard
verifyTokenstringJaToken voor webhookverificatie (u kiest dit)
webhookPortnumberNeePoort voor webhooks (standaard: 8443)
ownerPhonestringAanbevolenUw telefoonnummer voor eigenaarverificatie (bijv. "15551234567")
classificationstringNeeClassificatieniveau (standaard: PUBLIC)

Sla geheimen veilig op Sla toegangstokens nooit op in bronbeheer. Gebruik omgevingsvariabelen of uw OS-sleutelhanger. :::

Stap 5: Triggerfish starten

bash
triggerfish stop && triggerfish start

Stuur een bericht van uw telefoon naar het WhatsApp Business-nummer om de verbinding te bevestigen.

Eigenaaridentiteit

Triggerfish bepaalt eigenaarsrol door het telefoonnummer van de afzender te vergelijken met de geconfigureerde ownerPhone. Deze controle vindt in code plaats voordat het LLM het bericht ziet:

  • Overeenkomst — Het bericht is een eigenaarsopdracht
  • Geen overeenkomst — Het bericht is externe invoer met PUBLIC-taint

Als er geen ownerPhone is geconfigureerd, worden alle berichten behandeld als afkomstig van de eigenaar.

Stel altijd eigenaar-telefoon in Als anderen uw WhatsApp Business-nummer kunnen berichten, configureer altijd ownerPhone om ongeautoriseerde opdrachtuitvoering te voorkomen. :::

Hoe de webhook werkt

De adapter start een HTTP-server op de geconfigureerde poort (standaard 8443) die twee soorten verzoeken verwerkt:

  1. GET /webhook — Meta stuurt dit om uw webhookendpoint te verifiëren. Triggerfish antwoordt met het challengetoken als het verify-token overeenkomt.
  2. POST /webhook — Meta stuurt inkomende berichten hier naartoe. Triggerfish parseert de Cloud API webhook-payload, extraheert tekstberichten en stuurt ze door naar de berichtenhandler.

Berichtlimieten

WhatsApp ondersteunt berichten tot 4.096 tekens. Berichten die deze limiet overschrijden, worden opgesplitst in meerdere berichten voor verzending.

Typaanduidingen

Triggerfish stuurt en ontvangt typaanduidingen op WhatsApp. Wanneer uw agent een verzoek verwerkt, toont de chat een typaanduiding. Leesbevestigingen worden ook ondersteund.

Classificatie wijzigen

yaml
channels:
  whatsapp:
    # accessToken opgeslagen in OS-sleutelhanger
    phoneNumberId: "uw-telefoonnummer-id"
    # verifyToken opgeslagen in OS-sleutelhanger
    classification: INTERNAL

Geldige niveaus: PUBLIC, INTERNAL, CONFIDENTIAL, RESTRICTED.