# Visual discovery

Begins a conversational journey through a dataset, allowing a user to explore the content available. Each step in the journey requires the user to select a single item from a set of results in order to proceed. The platform can then determine a new set of results based on the previous selections.

If the first request doesn't contain an item ID the platform will randomly select a list of items from the dataset content. Depending on the scenario (your user just wants to explore and no other item were seen or some items were visited before), it's perfectly fine to have as many different starting points as you like, as long as the start item you send (using the id query string parameter) belongs to the dataset.

The response contains a list of the results. Each item in the results indicates the content it refers to in the id field. This is the ID specified when the content was added to the dataset and should allow you to determine what to show to your user. Each result also includes an explore_url parameter which is used to continue the journey. This is described in more detail below.

In order to retrieve subsequent results from the API, when the user selects an item from a set of results, you simply need to make a GET request to the corresponding explore_url for that item. The response to that request is in the same form as for the initial request. Thus a journey is undertaken by simply following the links at each step for the relevant item in the results.

Results can be filtered using the metadata supplied when the content was created. Filtering syntax is described in the querying section.

# Getting results with metadata

In some cases you can avoid doing a lookup for the item details in your system by also requesting parts of the metadata associated with the item resources. This is achieved using the fields parameter which looks into metadata added when the content was added to the dataset and returns it in the item object. See examples below.

# Input

Endpoint

GET /orgs/:organisation/datasets/:dataset/explore

Field Type Required Value Description
organisation String yes The organisation name
dataset String yes The dataset name
id String no The id of the selected item
limit Number no The number of items to return. Suggestion of at least 5, the minimum limit is 2, the maximum limit is 50, the default limit is 10. If you wish to check the existence of content or get metadata, use Content Details
q String no The filter criteria based on the associated metadata attribute. See Querying for more details.
fields String no A comma separated list of associated item metadata fields to be added to the response (i.e fields=category,colour).
Request all metadata using fields=*. Additional fields generated when processed by Visii include image_width, image_height and image_url.
v String The vars querystring containing key-value pairs (key:value comma separated) of action information, support both specific (such as page_view_id) and other custom parameters. Details of Vars Querystring.
E.g.: v=a:exit,id:abc-123,user_id:abc,page_view_id:12345

# Request

Note

my-dataset-api-token is a dataset token, not an organisation token.

curl -X GET \
     -H "Authorization: token my-dataset-api-token" \
     -H "Accept: application/vnd.visii.v2+json" \
     "https://api.visii.com/orgs/my-org/datasets/my-dataset/explore?id=123&fields=category,price&q=price:10:&limit=2"

# Response

Field Type Value Description
status String The status of the response
results Object The list of results to be shown for this step of the journey
results.$.id String The id of the item
results.$.explore_url String The URL to obtain the next set of results if this item is selected
results.$.metadata Object A selection of metadata fields for the item
HTTP/1.1 200 OK
{
  "results": [
    {
      "id": "123",
      "explore_url": "https://api.visii.com/orgs/my-org/datasets/my-dataset/explore?id=123&fields=category,price&q=category:cats&limit=2&j=sid1",
      "metadata": {
        "category": "boots",
        "price": 99.99
      }
    },
    {
      "id": "456",
      "explore_url": "https://api.visii.com/orgs/my-org/datasets/my-dataset/explore?id=456&fields=category,price&q=category:cats&limit=2&j=sid1",
      "metadata": {
        "category": "heels",
        "price": 10.49
      }
    }
  ],
  "status": "ok"
}
Last Updated: 6/7/2023, 3:36:33 PM