1. Home
  2. Fulfillment Journey

Fulfillment Journey

Quando il Front End deve necessariamente invocare direttamente il motore di NLU senza la possibilità di intermediari, Tellya deve posizionarsi posteriormente rispetto a tale motore e ciò è possibili attraverso la creazione di una Fulfillment Journey.

A seconda del motore di NLU utilizzato è necessario configurare i dettagli e i parametri della comunicazione tra il motore e la piattaforma Tellya, al fine di rispettare il formato atteso.

Google Dialogflow ES

Se si utilizza Google Dialogflow ES come motore di NLU è necessario accedere alla console e configurare nella sezione “Fulfillment” le informazioni relative al Webhook.

In primo luogo è necessario specificare l’URL del servizio (Tellya) da invocare:

https://prod.tellya.ai/chat/api/v2/fulfillment

È inoltre necessario aggiungere un header specificando l’API key della journey da invocare:

  • Key name: apiKey
  • Key value: [apiKeyValue] (es. 31edzz99fe833644bfe0e2190d52268z)

I formati della request e della response che permettono la comunicazione tra i vari sistemi sono consultabili nella documentazione di Google Dialogflow ES.

A seconda dei connettori abilitati all’interno della journey invocata, Tellya potrò popolare alcuni campi all’interno dell’oggetto “payload” messo a disposizione dal formato della Webhook response per restituire il risultato dell’elaborazione effettuata dai connettori.

In particolare:

  • Se presente il connettore Natural Language verrà popolato l’oggetto naturalLanguageResult
  • Se presente il connettore Translate verrà popolato l’oggetto translateResult

naturalLanguageResult

Fields
sentiment

Number

Il valore del sentiment compreso tra -1,0 (negativo) e 1,0 (positivo) corrisponde alla tendenza emotiva generale del testo analizzato.

magnitude

Number

Indica la forza complessiva dell’emozione (sia positiva che negativa) all’interno del testo dato, compresa tra 0,0 e +infinito.

textAnalyzed

String

Testo analizzato dal connettore.

noValues

Boolean

Quando valorizzato a TRUE indica che non è stato specificato alcun testo da analizzare con il connettore.

translateResult

Fields
languageTextAnalyzed

String

Lingua rilevata nel campo testuale da analizzare.

textAnalyzed

String

Testo analizzato.

languageTextTarget

String

Lingua selezionata per tradurre il testo.

textResult

String

Traduzione del testo.

Esempio (Status Code 200)

JSON representation
{
  "fulfillmentMessages": [
    {
      "text": {
        "text": [
          "Buongiorno, avrei bisogno di un'informazione"
        ]
      }
    }
  ],
  "payload": {
    "naturalLanguageResult": {
      "sentiment": 0.8,
      "magnitude": 0.8,
      "textAnalyzed": "Buongiorno, avrei bisogno di un'informazione",
      "noValues": false
    },
    "translateResult": {
      "languageTextAnalyzed": "it",
      "textAnalyzed": "Buongiorno",
      "languageTextTarget": "en",
      "textResult": "Good morning"
}
  },
  "outputContexts": [
    {
      "name": "projects/agent-name/agent/sessions/session-id/contexts/session",
      "lifespanCount": 99,
    }
  ]
}