Blog overzicht

Hoe u uw chatbot integreert met een database

In dit artikel laten we zien hoe je de chatbot kunt gebruiken om gegevens te extraheren en die gegevens naar een database kan sturen met behulp van API’s. We zullen dat doen door de volgende stappen te laten zien:

Naast het pushen van data naar een database, is het ook mogelijk om data op te halen uit een database (GET). Samen vormen deze twee een sterke combinatie voor het bieden van een geautomatiseerde en gepersonaliseerde klantervaring.

Extraheren van gegevens en gebruikersinvoer

Voordat we beginnen met het vullen van onze database, moeten we wat gegevens of gebruikersinvoer extraheren om naar onze database te sturen. Binnen het Flow.ai platform zijn er 2 veelvoorkomende plaatsen waar je data kunt vinden en vast kunt leggen.

1. Gebruikersinvoer

De eerste plaats om gegevens te extraheren is door gebruikersinvoer te gebruiken. Gebruikersinvoer kan waardevolle informatie bevatten, zoals een e-mailadres, telefoonnummer of naam. Ons artikel Hoe gebruikersinvoer vast te leggen laat zien hoe je die informatie als een parameter kunt extraheren.

2. Payload

Ook kun je binnen de payload] veel gegevens vinden. Bij integratie met berichtenkanalen, zoals WhatsApp of Facebook Messenger, worden sommige gegevens al door dat kanaal geleverd. Je kunt dat al uit de metadata van de kanalen halen zonder een naam of telefoonnummer te vragen.

Het opzetten van een database

In dit voorbeeld werken we met een database in Restdb. Als je een andere database gebruikt, hoef je je geen zorgen te maken, het concept is vergelijkbaar.

Nadat je een account heeft aangemaakt, kunt je de database opzetten. In het onderstaande voorbeeld zie je dat de ‘userdata’ van de database die drie velden bevat: naam, telefoonnummer en e-mailadres.

Nieuwe database

Gegevens naar een database verzenden (POST)

Om gegevens van je Flow.ai-chatbot naar de RestDB-database te sturen, werken we met API’s. Als u RestDB gebruikt, kunt u de ontwikkelaarsmodus openen door rechtsboven op het tandwiel- / instellingenpictogram te klikken. Ga dan naar API-documenten -> Javascript. Van daaruit kun je de code van RestDB kopiëren en plakken in een action in Flow.ai.

Chatbot API post

De volgende stap is het wijzigen van de code in de actie van Flow.ai, zodat we de geëxtraheerde gegevens daadwerkelijk naar onze database kunnen sturen. Daarom maken we drie variabelen. We controleren of ze bestaan ​​en zo ja, dan vullen we die variabelen in. Nieuw bij acties en codering? Bekijk de code best practices


async payload => {
  
  var fullName = "-"
  var phoneNumber = "-"
  var email = "-"
  
  
  // Check if name exists
  if("fullName" in payload.user.profile) {
     fullName = payload.user.profile.fullName
    }


  // Check if phoneNumber 
  if("phoneNumber" in payload.user.profile) {
     phoneNumber = payload.user.profile.phoneNumber
    }

  // Check if the param "email" exists
  if(Array.isArray(payload.params.email)) {
    email = payload.params.email[0].value
    }
  

// API (POST) to send data to database
var request = require("request");

var options = { method: 'POST',
  url: 'https://integratedb-74ce.restdb.io/rest/userdata',
  headers: 
   { 'cache-control': 'no-cache',
     'x-apikey': 'YOUR SECRET API KEY',
     'content-type': 'application/json' },
  body: { 
    name: `${fullName}`, 
    phone: `${phoneNumber}` ,
    email: `${email}` 
  },
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

}

Onze code is nu voltooid en we kunnen deze aan onze Flow toevoegen en testen met behulp van de try it out-functie of door te testen in WhatsApp.

Chatbot post request

Onze database is nu aangevuld met de volgende 3 waarden:

  1. De naam van de gebruiker (verkregen door payload)
  2. Het telefoonnummer van de gebruiker (verkregen door payload)
  3. Het e-mailadres van de gebruiker (verkregen door gebruikersinvoer)
Chatbot die de database aanvult

Gegevens ophalen uit een database (GET)

Wanneer data wordt opgeslagen in een database kun je die data ook gebruiken om de klantervaring te verbeteren. Lees meer over het ophalen van gegevens uit een database.

Start directContact opnemen