How to get API.AI simply send me the JSON data of the conversation?

532 Views Asked by At

I am trying to understand if there is an option to get the conversation logs of the discussions with some sort of a webhook. The API.AI docs only refer to using webhook for fulfilment purposes , but for now I don't plan my server (GCP ENGINE APP) to supply fulfilment but only to log the relevant parameters from each conversation. Anyone knows how to approach this?

1

There are 1 best solutions below

1
On

Turn on the webhook feature for the intent. You will be able to get the requests and all the data associated with it. You will be able to send back to API.AI too. Here is the full circle:

{
  "id": "891db09a-851c-43dc-81c6-4c6705c94f85",
  "timestamp": "2017-01-03T10:31:18.676Z",
  "result": {
    "source": "agent",
    "resolvedQuery": "yes, France",
    "action": "show.news",
    "actionIncomplete": false,
    "parameters": {
      "adjective": "",
      "subject": "France"
    },
    "contexts": [
      {
        "name": "subject",
        "parameters": {
          "subject.original": "France",
          "adjective": "",
          "subject": "France",
          "adjective.original": ""
        },
        "lifespan": 5
      },
      {
        "name": "region",
        "parameters": {
          "subject.original": "France",
          "adjective": "",
          "subject": "France",
          "adjective.original": ""
        },
        "lifespan": 5
      }
    ],
    "metadata": {
      "intentId": "34773849-4ac2-4e28-95a5-7abfc061044e",
      "webhookUsed": "true",
      "webhookForSlotFillingUsed": "false",
      "intentName": "subject"
    },
    "fulfillment": {
      "speech": "Here is the latest news\n\n According to Watson the main emotion expressed in the article is: ;( ( sadness )\n\n  Son of Equatorial Guinea’s president facing trial in France\n\nPARIS — After years of investigation, France on Monday put the son of the president of Equatorial Guinea on trial for corruption, charged with spending many millions in state funds — much of it allegedly in cash — to feed an opulent lifestyle of fast cars, designer clothes, works of art and...\n\nRead more: https://www.washingtonpost.com/world/europe/son-of-equatorial-guineas-president-facing-trial-in-france/2017/01/02/b03d30d0-d0cb-11e6-9651-54a0154cf5b3_story.html",
      "source": "Washington Post",
      "displayText": "Here is the latest news. According to Watson the main emotion expressed in the article is: sadness",
      "messages": [
        {
          "type": 0,
          "speech": "Here is the latest news\n\n According to Watson the main emotion expressed in the article is: ;( ( sadness )\n\n  Son of Equatorial Guinea’s president facing trial in France\n\nPARIS — After years of investigation, France on Monday put the son of the president of Equatorial Guinea on trial for corruption, charged with spending many millions in state funds — much of it allegedly in cash — to feed an opulent lifestyle of fast cars, designer clothes, works of art and...\n\nRead more: https://www.washingtonpost.com/world/europe/son-of-equatorial-guineas-president-facing-trial-in-france/2017/01/02/b03d30d0-d0cb-11e6-9651-54a0154cf5b3_story.html"
        }
      ],
      "data": {
        "newsAgent": {
          "adjective": "",
          "subject": "France",
          "intent": "subject",
          "action": "show.news",
          "news": {
            "title": "Son of Equatorial Guinea’s president facing trial in France",
            "source": "Washington Post",
            "link": "https://www.washingtonpost.com/world/europe/son-of-equatorial-guineas-president-facing-trial-in-france/2017/01/02/b03d30d0-d0cb-11e6-9651-54a0154cf5b3_story.html",
            "language": "english",
            "body": "PARIS — After years of investigation, France on Monday put the son of the president of Equatorial Guinea on trial for corruption, charged with spending many millions in state funds — much of it allegedly in cash — to feed an opulent lifestyle of fast cars, designer clothes, works of art and...",
            "emotion": "sadness",
            "emoticon": ";("
          },
          "speech": "Here is the latest news",
          "sessionId": "0856125a-d0bc-4cba-990d-cbcfaea536db"
        }
      }
    },
    "score": 1
  },
  "status": {
    "code": 206,
    "errorType": "partial_content",
    "errorDetails": "Webhook call failed. Error message: Webhook contains contexts with empty names or names containing whitespaces. ErrorId: 131000fa-0ec1-4efb-b47c-64301ac7bb2b"
  },
  "sessionId": "0856125a-d0bc-4cba-990d-cbcfaea536db"
}

The result object is the request that API.AI sends you, you get the contexts objects as well.

The fulfilment object is the response my endpoint sent back to API.AI

Check the documentation