Skip to main content
Je kennisbank bevat de regels. Function calling haalt de actuele stand op: een orderstatus, een voorraad, een vrij tijdslot. Jij geeft een adres en zegt wanneer de bot het moet gebruiken; Chatwize roept het aan tijdens het gesprek.

Waar vind je het

1

Open je chatbot

Klik vanuit Chatbots op je chatbot.
2

Open AI-agent

In de linker zijbalk, onder Hoofdmenu. Open de agent die dit moet kunnen.
3

Voeg een endpoint toe

Onder Outbound API-endpoints, klik Voeg endpoint toe.

Wat je invult

Schrijf de beschrijving als opdracht: “Zoekt een bestelling op via het ordernummer. Roep dit aan als de bezoeker vraagt waar zijn bestelling blijft.” Niet: “Order-API”.

Voorbeeld

Orderopzoeking op https://api.voorbeeld.nl/orders.
Parameters
Chatwize roept …/orders?order_number=10423 aan. Jij antwoordt:
De bezoeker leest: “Je bestelling is met PostNL onderweg en wordt 25 september verwacht.”
Voorraad — “Geeft de voorraad van één artikel. Roep dit aan als de bezoeker vraagt of iets op voorraad is.”
Beschikbaarheid — een enum houdt de bot binnen jouw categorieën.
Een datum komt binnen als tekst. Controleer zelf of hij klopt.Terugbelverzoek — een write-actie via POST. Voorkom dubbele verzoeken aan jouw kant.
Geen parameters{}. Bijvoorbeeld openingstijden. Het beste endpoint om mee te beginnen.
WooCommerce: https://jouwwinkel.nl/wp-json/wc/v3/orders met parameter search, en je consumer key en secret in een Authorization-header. Shopify en Magento werken hetzelfde: GET met query-parameters, token in een header.Vaste waarden zet je zelf in de URL (?per_page=1); die kan de AI niet overschrijven.
Een leessleutel ziet alle bestellingen — wie een ordernummer raadt, krijgt de status. Zet er je eigen endpoint voor dat ordernummer én e-mailadres eist en alleen een paar velden teruggeeft.

Het schema

Eén plat object. Properties van het type string, number, integer of boolean, eventueel met enum. Geen geneste objecten of arrays. De description is wat de AI leest. Alles in het schema kan de bezoeker beïnvloeden met wat hij typt. Dit hoort er dus nooit in:
Een parameter klant_id wordt gevuld met wat de bezoeker zegt. Wíé de gegevens krijgt, bepaalt je eigen systeem — nooit het gesprek.

Wat je binnenkrijgt

JSON over HTTPS, met jouw headers en een ondertekening. Controleer die: dan weet je dat het verzoek van Chatwize komt en niet is gewijzigd. De sleutel zie je één keer, bij het aanmaken.
Twee headers: X-Chatwize-Outbound-Timestamp (moment van versturen) en X-Chatwize-Outbound-Signature (sha256= plus een HMAC-SHA256 over <tijdstempel>.<inhoud>). De inhoud is de rauwe body bij POST, PUT en PATCH, en de query-string bij GET.
Onderteken over de rauwe body, vergelijk met timingSafeEqual / compare_digest / hash_equals (nooit ==), en neem bij GET het vraagteken mee.

Wat je terugstuurt

JSON, binnen vijf seconden, klein. Alleen het begin van een lang antwoord bereikt de AI. Alles wat je stuurt kan in de chat belanden.

Veilig koppelen

Wat je bot mag aanroepen, kan elke bezoeker indirect laten aanroepen.
  • Controleer zelf of het mag. De ondertekening bewijst dat het van Chatwize komt, niet dat deze bezoeker recht heeft op deze gegevens.
  • Liever lezen dan schrijven. Automatisch uitvoeren uit zolang je test.
  • Stuur zo weinig mogelijk terug.
  • Aparte sleutel in een header, met zo min mogelijk rechten.
  • Publiek adres dat direct antwoordt. Interne adressen en doorverwijzingen werken niet.

Als het niet werkt

Elke aanroep staat in de inbox: welk endpoint, welke parameters, wat er terugkwam.