Integrazioni


Elenco

Cliccando sul tab "Integrazioni" della sidebar di sinistra è possibile elencare le attuali integrazioni create in precedenza
image

{info} E' possibile cliccare su i tre puntini per copiare o cancellare una integrazione esistente

Nuova Integrazione

Per creare una nuova integrazione cliccare su "Nuova integrazione"

image

Sono attualmente disponibili due integrazioni

  • Jira: famoso software di gestione issue per callcenter.
  • Webhook: La url che verrà chiamata quando abilitata sulle intent di un agente.

Jira

L'integrazione Jira permette di collegare un agente al proprio servizio Jira che già utilizza il proprio Callcenter. Abilitando il servizio su una determinata intent, questa farà partire una conversazione che chiederà:

Servizio di Assistenza: scrivi quì sotto il tuo problema e un operatore ti risponderà sulla tua email non appena sarà possibile

Dopo aver descritto e inviato il problema comparirà la seguente richiesta:

Su quale indirizzo email vuoi essere contattato?

Dopo la conferma del testo e della email verrà aperto un ticket in automatico sul sistema Jira precedentemente configurato.

Configurazione Jira:

  1. Nome
  2. Host
  3. User
  4. Password
  5. Domanda della issue (deprecato)
  6. Risposta alla issue (deprecato)
  7. Tipo di issue: bug, info, etc.
  8. Summary: campo sommario di Jira Api
  9. Agente: agente sul quale abilitare Jira

Webhook

image

Attualmente Botsolver utilizza la Nlp (Natural Language Processing) denominata DialogFlow, un prodotto Google. Il protocollo di integrazione Webhook è compatibile con il webhook di DialogFlow, consentendo un rapido switch fra i due prodotti e fornendo però maggiori funzionalità. Quando il webhook viene attivato per una determinata intent, consente di fornire risposte dinamiche e non preimpostate all’agente, il quale ignorerà qualsiasi risposta precedentemente fornita. Il webhook deve essere preventivamente creato nella sezione “Integrazioni”, alla voce “Webhook”.

Campi richiesti per la creazione Webhook:

  1. Nome
  2. url
  3. username
  4. Password
  5. abilitato/non abilitato

L’autenticazione avviene mediante HTTP Basic Authentication.

Richiesta Webhook:

Quando il webhook viene attivato, invia una richiesta POST alla Url impostata in precedenza con i seguenti parametri in formato JSON:

Parametro Tipo Dimensione Descrizione
User User Object Dettagli dell’utente che ha effettuato la richiesta al chatbot
Nlp Nlp Object Dettagli in formato Natural Language Processing della richiesta utente

Oggetto User:

Campi Tipo Dimensione Descrizione
firstname String varchar(255) Nome Utente
lastname String varchar(255) Cognome utente
Email String varchar(255) Email
chat_id String varchar(11) Stringa Random se non preimpostata sulla configurazione js
bot_id Integer Int(10)unsigned id del canale
bot_name String varchar(255) Nome del canale
platform String varchar(255) Nome della piattaforma (web, messenger)

Oggetto Nlp:

L’oggetto nlp ricalca pedissequamente l’oggetto webhook request della libreria DialogFlow (https://dialogflow.com/docs/fulfillment/how-it-works ) Un esempio è disponibile qui sotto:

  "nlp" => {
    "responseId": "c9adb1ea-e232-4ae3-904a-50b8ae6bf202"
    "session": "projects/newagent-8bb34/agent/sessions/f0b1c8d88f93647d8cdce09ec24c5148"
    "queryResult": {
      "queryText": "100 euro"
      "parameters": {
        "prodotto": "ticketVine101"
      }
      "allRequiredParamsPresent": true
      "fulfillmentText": ""
      "fulfillmentMessages": []
      "outputContexts":  [
        0 => {
          "name": "projects/newagent-8bb34/agent/sessions/f0b1c8d88f93647d8cdce09ec24c5148/contexts/payment_folloup"
          "lifespanCount": 5
          "parameters": {
            "prodotto": ""
            "prodotto.original": "ticketVine101"
            "number": ""
          }
        }
      ]
    }
    "outputContexts": []
    "action": ""
    "intent": {
      "name": "projects/newagent-8bb34/agent/intents/0d113fb0-383e-4bd4-b29d-2bedace7a48d"
      "display_name": "payment.followup"
    }
    "intentDetectionConfidence": 1.0
    "diagnosticInfo": {}
    "languageCode": "it"
  }

Risposta Webhook La risposta del webhook deve essere in formato JSON e al momento deve contenere unicamente un campo fullfilmentText :

Campo Tipo Descrizione
fullfilmentText string Testo da fornire all’utente

In un futuro sarà possibile fornire maggiori parametri.