As with any other API, you require appropriate access_token to work with Suggest API. Refer to Authentication Flow for necessary detail.
Location Based Suggestions API
Resources suggested to users based on their current collection in study are termed as location-based suggestions. These resources are highly curated content items that are related to the collection being studied.
API End Point
{REST_END_POINT}/gooru-search/rest/v3/suggest/{type}
Method Type
POST
Request Headers
Header | Value | Description |
---|---|---|
Authorization | Token {TOKEN} | Replace the {TOKEN} with actual value of access_token obtained from authentication. |
Path Variables
Name | Data Type | Value | Description |
---|---|---|---|
type | String | 'resource' | Denotes type of suggestions to surface. This provides future extensibility around suggestions. |
Request Params
Name | Data Type | Default | Description |
---|---|---|---|
limit | Integer | 3 | Number of maximum suggestions to return. Value can be anything between 1..10. Max limit is 10 suggestions. |
Request Body
Key | Data Type | Value | Description |
---|---|---|---|
context.context_type | String | 'collection-study' | Indicates the type of user activity around which suggestions are to be made. |
context.context_area | String | 'study-player' | Indicates the application context of users' current activity. |
context.collection_id | UUID | ID of collection being studied by user | ID of collection being studied by user around which suggestions will be made |
context.user_id | UUID | ID of current user | Identifies the user in Gooru system |
metrics | JSON | {} | Empty JSON needs to be passed for now. Future extension. |
Sample Call
Curl -i -H "Authorization:Token MTQ3NDM1NDIzMDk1OTowMjE5MDkwYy1hYmU2LTRhMDktOGM5Zi0zNDM5MTFmNWNkODY6YmE5NTZhOTctYWUxNS0xMWU1LWEzMDItZjhhOTYzMDY1OTc" -XPOST ‘http://gooru.org/gooru-search/rest/v3/suggest/resource?limit=3’ -d ‘{ "context":{ "context_type":"collection-study", "user_id":"3784de18-1361-4ef0-b0ae-5aca980cdfe3", "container_id":"4784de18-1361-4ef0-b0ae-5aca980cdfe3", "course_id":"5784de18-1361-4ef0-b0ae-5aca980cdfe3", "unit_id":"6784de18-1361-4ef0-b0ae-5aca980cdfe3", "lesson_id":"7784de18-1361-4ef0-b0ae-5aca980cdfe3" }, "metrics":{} }’
Response Structure
Key | Data Type | Value | Description |
---|---|---|---|
executionTime | Number | time spent in milliseconds | Indicates time spent in surfacing suggestions. |
suggestResults | JSON Array | Array of resource objects. | Each resource object is a JSON with the keys as: title, contentFormat, contentSubFormat, description, url, curriculumInfo, etc. This is similar to Search response. |
suggestedType | String | 'resource' | Indicates the type of suggestions responded with - for now it is 'resource'. |
Sample Response
{
"executionTime":127,
"suggestResults":[{
"addDate":1329341077000,
"usedInCollectionCount":1,
"contentFormat":"resource",
"contentSubFormat":"interactive_resource",
"description":"Why do scientists use microscopes to study plant cells?",
"gooruOid":"bd741800-4cb9-4e5d-8ceb-5f3ce581a9db",
"grade":null,
"hasFrameBreaker":false,
"lastModified":1329341077000,
"lastModifiedString":"2012-02-15T21:24:37Z",
"license":{
"code":"CC0 1.0",
"icon":"license/oer_icon.png",
"name":"creative commons",
"url":"http://creativecommons.org/publicdomain/zero/1.0/"
},
"publishStatus":"published",
"publisher":null,
"collectionIds":["775b139c-adb1-414a-8a60-07ef24f7b77c"],
"collectionTitles":["Quiz: Looking Inside Cells"],
"taxonomySet":{
"subject":[ "Science" ],
"domain":[ "Cell Biology" ],
"course":[],
"curriculum":{
"curriculumName":[ "CA" ],
"curriculumCode":[ "CA.SCI.7.LS.1b" ],
"curriculumInfo":[{
"code":"CA.SCI.7.LS.1b",
"frameworkCode":"CA",
"id":"CA.K12.SC-7-CB-01.02",
"title":"Students know the characteristics that distinguish plant cells from animal cells, including chloroplasts and cell walls.",
"parentTitle":"Science"
}],
"curriculumDesc":[ "Students know the characteristics that distinguish plant cells from animal cells, including chloroplasts and cell walls."]
}
},
"title":"Why do scientists use microscopes to study plant cells? ",
"url":null,
"viewCount":2
}],
"suggestedType":"resource"
}