This post briefly explains how to use Wikipedia’s Open Search API to search Wikipedia and return the result to our api.ai Bot.
Format – any of json,jsonfm,xml,xmlfm More in the Docs
action – opensearch
search – our term to search for, here it’s “Global Warming”
limit – Max number of results to return, we set it to 2. To make the call faster as it would return fewer data.
profile – more in the Docs
[ "global warming", [ "Global warming", "Global warming controversy" ], [ "Global warming, also referred to as climate change, is the observed century-scale rise in the average temperature of the Earth's climate system and its related effects.", "The global warming controversy concerns the public debate over whether global warming is occurring, how much has occurred in modern times, what has caused it, what its effects will be, whether any action should be taken to curb it, and if so what that action should be." ], [ "https://en.wikipedia.org/wiki/Global_warming", "https://en.wikipedia.org/wiki/Global_warming_controversy" ]
Create a new Intent for our agent. In what user says section add few sentences like below screenshot. When you enter these sentence api.ai might pre-select few words as system entities. You would want to remove any preselection and select the term to search of in all the sentences and define it as @sys.any
In the action, you will find the parameter, name it “wikisearchterm”. You can name it anything but our woobhook is made to recognize this parameter. Also, make it Required and define prompts.
And Check “Use Webhook” under fulfillment. We will be using the same URL as in the last tutorials.
Url is: https://apiapiwebhooksamples.herokuapp.com/webhook
You can check the complete code for the webhook at my GitHub. It just a simple GET request to Wikipedia. And returns text for api.ai and telegram integration. I am putting all the webhook so far in one file. So you will see other webhook there as well.
Bot In Action
Telegram bot: @iameurekabot
Api.ai Web integrated Bot: