Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Introduction:

This wiki give the details about Viewer Service API(s) Spec design details.

Base Request Spec:

...

Introduction:

This wiki give the details about Viewer Service API(s) Spec design details.

Base Request Spec:

  • Authorization and x-authenticated-user-token are mandatory headers in every requestx-requested-by header is mandatory in all state update apis

  • UserId will be captured using the user-token from headers for all api requests

Code Block
languagejson
{
    "id": "api.view", // required. id of the api request
    "ver": "1.0",  // required. Current version of api 
    "ts": "2021-01-01T00:00:00+05:30", //mandatory. Timestamp of the request
    "params": {
        "msgid": "4f04da60-1e24-4d31-aa7b-1daf91c46341" // unique request message id, UUID
    },
    "request": {                  // required
        ....
        ....                            
    }       
    

...

Expand
titlePOST - /v1/view/start
Expand
titlePOST - /v1/view/update

Request Spec:

Code Block
languagejson
{
    "id": "api.view.start",
    "ver": "v1",
    "ts": "2021-06-23 05:37:40:575+0000",
    "params": {
       "msgid": "5e763bc2-b072-440d-916e-da787881b1b9"
    },
    "request": {
        "userIdcontentId": "{{userIdcontentId}}",       // required
        "contentId": "{{contentId}}"   // required
        "collectionId" : "{{collectionId}}"  // optional.required 
                                             
       only when contextid is present
        "contextId": "{{batchId}}" // optional
     }
}

Sample Requests:

Sample1: consume organic content

Code Block
languagejson
SampleRequest1
{
    "id": "api.view.start",
    "ver": "v1",
    "ts": "2021-06-23 05:37:50:175+0000",
    "params": {
       "msgid": "5e763bc2-b072-440d-916e-da787881b1b9"
    }
    "request": {
      "userIdcontentId" : "usercontent_123",
      "contentId" : "content_123"
    }
Sample2:
}

Sample2: consume content through collection

Code Block
languagejson
{
    "id": "api.view.start",
    "ver": "v1",
    "ts": "2021-06-23 05:37:40:575+0000",
    "params": {
       "msgid": "5e763bc2-b072-440d-916e-da787881b1b9"
    }
    "request": {
      "userId" : "user_123",
      "contentId" : "content_123",
      "collectionId" : "collection_123"      
    }

Sample3: consume content through context

Code Block
languagejson
{
    "id": "api.view.start",
    "ver": "v1",
    "ts": "2021-06-23 05:37:40:575+0000",
    "params": {
       "msgid": "5e763bc2-b072-440d-916e-da787881b1b9"
    }
    "request": {
      "userId" : "user_123",
      "contentId" : "content_123",
      "collectionId" : "collection_123",
      "contextId" : "context_123"   
       }

Response:

200 Ok Response:

Code Block
languagejson
{
    "id": "api.view.start",
    "ver": "v1",
    "ts": "2021-06-23 05:37:40:575+0000",
    "params": {
        "resmsgid": null,
        "msgid": "5e763bc2-b072-440d-916e-da787881b1b9",
        "err": null,
        "status": "success",
        "errmsg": null
    },
    "responseCode": "OK",
    "result": {
        "{{contentId}}": "Progress started"
    }
}

4XX or 5XX Error Response:

Code Block
languagejson
{
    "id": "api.view.start",
    "ver": "v1",
    "ts": "2021-06-23 05:37:40:575+0000",
    "params": {
        "resmsgid": null,
        "msgid": "5e763bc2-b072-440db072440d-916e-da787881b1b9",
        "err": ERR_Error_Code,
        "status": "failed",
        "errmsg": ERR_error_msg
    },
    "responseCode": "BAD_REQUEST"/"SERVER_ERROR",
    "result": {
      // error message
    }
}

Sample Response:

Sample1: Valid Request

Code Block
languagejson
{
    "id": "api.view.start",
    "ver": "v1",
    "ts": "2021-06-23 05:37:40:575+0000",
    "params": {
        "resmsgid": null,
        "msgid": "5e763bc2-b072-440d-916e-da787881b1b9",
        "err": null,
        "status": "success",
        "errmsg": null
    },
    "responseCode": "OK",
    "result": {
        "content_123": "Progress started"
    }
}

Sample2: InValid Request

Code Block
languagejson
{
    "id": "api.view.start",
    "ver": "v1",
    "ts": "2021-06-23 05:37:40:575+0000",
    "params": {
        "resmsgid": null,
        "msgid": "5e763bc2-b072-440d-916e-da787881b1b9",
         "err": "CLIENT_ERROR",
        "status": "FAILED",
        "errmsg": ERR_error_msg
    },
    "responseCode": "BAD_REQUEST",
    "result": {
        "request.contentId": "Content Id cannot be empty"
    }
}

Content View Update

Request: Sample3: Invalid ContextId in Request

Code Block
languagejson
{
    "id": "api.view.updatestart",
    "ver": "v1",
    "ts": "2021-06-23 05:37:40:575+0000",
    "params": {
        "resmsgid": null,
        "msgid": "5e763bc2-b072-440d-916e-da787881b1b9",
    }     "requesterr": {"CLIENT_ERROR",
        "userIdstatus": "{{userId}}FAILED",
        "errmsg": ERR_error_msg
   // required  
    },
    "contentIdresponseCode": "{{contentId}}BAD_REQUEST",
       // required "result": {
          "collectionIdrequest.contextId" : "{{collectionId}}", //optional. required only whenInvalid Context Id"
       }
}

Content View Update

Expand
titlePOST - /v1/view/update

Request:

Code Block
languagejson
{
    "id": "api.view.update",
    "ver": "v1",
    "ts": "2021-06-23 05:37:40:575+0000",
    "params": {
       "msgid": "5e763bc2-b072-440d-916e-da787881b1b9"
    }
    "request": {
   contextId present in request         "contextId"contentId": "{{batchIdcontentId}}",          // required   
        "collectionId" : "{{collectionId}}", //optional
        "progressDetailscontextId": "{{batchId}}",          // required.optional
 Progress details specific     "progressDetails": {                 // required. Progress details specific 
         ...                  for each mimetype     } }

Sample Requests:

Sample1: Without Context

Code Block
languagejson
{     "id": "api.view.update",     "ver": "v1",
  for each mimetype 
 "ts": "2021-06-23 05:37:40:575+0000",     "params": { ...        "msgid": "5e763bc2-b072-440d-916e-da787881b1b9"     }     "request": {       "userId" : "user_123",       "contentId" : "content_123",       "progressDetails" : {   
      "mimetype" : "appliation/pdf"},

        "progresstimeSpent" : 20,{{timeSpent}}          "timespent" : 10// required
        }
}

Sample Requests:

Sample1: With Without Context

Code Block
languagejson
{
    "id": "api.view.update",
    "ver": "v1",
    "ts": "2021-06-23 05:37:40:575+0000",
    "params": {
       "msgid": "5e763bc2-b072-440d-916e-da787881b1b9"
    }
    "request": {
      "userId" : "user_123",
      "contentId" : "content_123",
      "collectionId" : "collection_123",
      "contextId" : "context_123",
      "progressDetails" : {
         "mimetype" : "applicationappliation/pdf",
         "progress" : 20,
       }
 "timespent" : 10    "timespent" :   }10
}

ResponseSample1: With Context

Code Block
languagejson
200 OK:
{
    "id": "api.view.update",
    "ver": "v1",
    "ts": "2021-06-23 05:37:40:575+0000",
    "params": {

       "resmsgid": null,
        "msgid": "5e763bc2-b072-440d-916e-da787881b1b9",
    }
    "errrequest": null,{
        "statuscontentId" : "successcontent_123",
      "collectionId" : "errmsg": null
 collection_123",
  },     "responseCodecontextId" : "OKcontext_123",
      "resultprogressDetails" : {
         "{{contentId}}mimetype" : "Progress Updated"application/pdf",
         "progress" : 20
       }
     } "timespent" 4XX: or 5XX Error10
}

Response:

Code Block
languagejson
200 OK:
{
    "id": "api.view.update",
    "ver": "v1",
    "ts": "2021-06-23 05contents05:37:40:575+0000",
    "params": {
        "resmsgid": null,
        "msgid": "5e763bc2-b072-440d-916e-da787881b1b9",
        "err": ERR_Error_Codenull,
        "status": "failedsuccess",
        "errmsg": ERR_error_msgnull
    },
    "responseCode": "BAD_REQUEST"/"SERVER_ERROROK",
    "result": {
        "{{contentId}}": }

Content View End

Expand
titlePOST - /v1/view/end

Request:

Code Block
languagejson
"Progress Updated"
    }
}

4XX or 5XX Error:
{
    "id": "api.view.endupdate",
    "ver": "v1",
    "ts": "2021-06-23 05:37:40:575+0000",
    "params": {
        "resmsgid": null,
        "msgid": "5e763bc2-b072-440d-916e-da787881b1b9",
    }     "requesterr": {ERR_Error_Code,
        "userIdstatus": "{{userId}}""failed",
        "errmsg": ERR_error_msg
   //required
    },
    "contentIdresponseCode": "{{contentId}}"BAD_REQUEST"/"SERVER_ERROR",
    "result": {
    }
}

Content View End

/required.
Expand
titlePOST - /
v1/view/end

Request:

Code Block
languagejson
{
     "collectionIdid" : "{{collectionId}}api.view.end",
 // required.required only when "ver": "v1",
       "ts": "2021-06-23 05:37:40:575+0000",
    "params": {
       "msgid": "5e763bc2-b072-440d-916e-da787881b1b9"
    }
    "request": {
        "contentId": "{{contentId}}"        contextId present in request //required.
         "contextIdcollectionId" : "{{batchIdcollectionId}}",  // required.only when 
       //  optional     } }

Sample Request:

Sample1: Without Context

Code Block
languagejson
{     "id": "api.view.end",     "ver": "v1",     "ts": "2021-06-23 05:37:40:575+0000",     "params": {        "msgid": "5e763bc2-b072-440d-916e-da787881b1b9"  contextId present in }
  request 
"request": {       "userIdcontextId" : "user_123{{batchId}}",        "contentId" : "content_123"   // optional
    }
}

Sample2: With Sample Request:

Sample1: Without Context

Code Block
languagejson
{
    "id": "api.view.end",
    "ver": "v1",
    "ts": "2021-06-23 05:37:40:575+0000",
    "params": {
       "msgid": "5e763bc2-b072-440d-916e-da787881b1b9"
    }
    "request": {
      "userIdcontentId" : "usercontent_123",
      "contentId" : "content_123",
      "collectionId" : "collection_123",
      "contextId" : "context_123"   
    }
Response:
}

Sample2: With Context

Code Block
languagejson
{
    "id": "api.view.end",
    "ver": "v1",
    "ts": "2021-06-23 05:37:40:575+0000",
    "params": {
        "resmsgid": null,
        "msgid": "5e763bc2-b072-440d-916e-da787881b1b9",
    }
    "errrequest": null,
 {
      "statuscontentId" : "successcontent_123",
      "collectionId" : "errmsgcollection_123":,
null     },     "responseCode": "OK",
    "result": {
        "{{contentId}}": "Progress ended""contextId" : "context_123"   
   } }

Content View Read

Expand
titlePOST - /v1/view/read
Request

Response:

Code Block
languagejson
{
    "id": "api.view.readend",
    "ver": "v1",
    "ts": "2021-06-23 05:37:40:575+0000",
    "params": {
        "resmsgid": null,
        "msgid": "5e763bc2-b072-440d-916e-da787881b1b9",
    }
    "requesterr": {null,
        "userIdstatus": "{{userId}}success",
   // required    "errmsg": null
   "contentIds": ["{{contentId_1}}", "{{contentId_2}}"], //required },
    "responseCode": "OK",
    "result": {
        "{{contentId}}": "Progress ended"
    }
}

Content View Read

Expand
titlePOST - /v1/view/read

Request:

Code Block
languagejson
{
    "id": "api.view.read",
    "ver": "v1",
    "ts": "2021-06-23 05:37:40:575+0000",
    "params": {
       "msgid": "5e763bc2-b072-440d-916e-da787881b1b9"
    }
    "request": {
        "contentId": {{contentId}}, //required
        "collectionId" : "{{collectionId}}", //optional 
        "contextId": "{{batchId}}"   // optional
     }
}

Response:

Code Block
languagejson
{
    "id": "api.view.read",
    "ver": "v1",
    "ts": "2021-06-23 05:37:40:575+0000",
    "params": {
        "resmsgid": null,
        "msgid": "5e763bc2-b072-440d-916e-da787881b1b9",
        "err": null,
        "status": "success",
        "errmsg": null
    },
    "responseCode": "OK",
    "result": {
      "userId" : "{{userId}}",
      "contentId" : "{{contentId}}",
      "type" : "content"
      contents:[{
    	"collectionId": "{{collectionId}}",
    	"contextId": "{{batchId}}",  
        "contentId": "{{contentId}}",
        "status" : "{{content_status}}"  
        "progressDetails": "{}"
        }]
    }
}

Sample Response:

Sample1: Without context(organic consumption)

Code Block
{
    "id": "api.view.read",
    "ver": "v1",
    "ts": "2021-06-23 05:37:40:575+0000",
    "params": {
        "resmsgid": null,
        "msgid": "5e763bc2-b072-440d-916e-da787881b1b9",
        "err": null,
        "status": "success",
        "errmsg": null
    },
    "responseCode": "OK",
    "result": {
    	"userId": "user_123"
        "contentId": "content_123",
        "type": "content"
        "contents":[{
           "contentid" : "content_123",
           "collectionid" :"content_123",
           "contenxtid" : "content_123"
           "status" : "1",
           "progressDetails": {
             "mimeType" : "application/video"
              "progress" :20
            }
        }]
    }
}

Example2: With context or collection

Code Block
languagejson
{
    "id": "api.view.read",
    "ver": "v1",
    "ts": "2021-06-23 05:37:40:575+0000",
    "params": {
        "resmsgid": null,
        "msgid": "5e763bc2-b072-440d-916e-da787881b1b9",
        "err": null,
        "status": "success",
        "errmsg": null
    },
    "responseCode": "OK",
    "result": {
    	"userId": "user_123"
         "collectionIdcontentId" : "{{collectionId}}content_123",
//optional.required only when      "type": "content"
        "contents":[{
           "contentid" : "content_123",
           "collectionid" :"collection_123",
         contextId present in request  "contenxtid" : "context_123"
            "contextIdstatus" : "{{batchId}}"1",
   // optional      }
}

Response:

Code Block
languagejson
 "progressDetails": {
    "id": "api.view.read",     "ver": "v1",     "tsmimeType" : "2021-06-23 05:37:40:575+0000",application/video"
    "params": {         "resmsgidprogress" :20
   null,         "msgid": "5e763bc2-b072-440d-916e-da787881b1b9",}
        }]
"err": null,   }
}
Expand
titlePOST - /v1/view/read?context=all

Request:

Code Block
languagejson
{
    "statusid": "successapi.view.read.contextall",
        "errmsgver": null
    }"v1",
    "responseCodets": "OK2021-06-23 05:37:40:575+0000",
    "resultparams": {
      	 "userIdmsgid": "{{userId}}",5e763bc2-b072-440d-916e-da787881b1b9"
    }
    	"collectionIdrequest": "{{collectionId}}", // optional{             	"contextId": "{{batchId}}",  // optional     // either of the "contents": [{
 three options is mandatory
        "contentId": "{{contentId}}",  //optional
        "statuscollectionId" : "{{content_statuscollectionId}}",   // 0,1 or 2 
 optional
        "progressDetailscontextId" : "{{contextId}}"   //optional
     }]
 
  }
}

Sample Response:

Sample1: Without context

code

Code Block
languagejson
{
 
  "id": "api.view.read.contextall",

   "ver": "v1",
    "ts": "2021-06-23 05:37:40:575+0000",
 
  "params": {
 
      "resmsgid": null,
   
    "msgid": "5e763bc2-b072-440d-916e-da787881b1b9",
    "err": null,
    "errstatus": null"success",
    "errmsg": null
  },
  "statusresponseCode": "success",OK",
  "result": {
    ...
    ...                   "errmsg": null            },//requested_data
    "responseCodetype": "OKcontextall",
    "resultcontents" : {[      	"userId": "user_123",           "contents": [{  // List of all contents irresepcitvie of context
 "contentId": "content_123",   ]
   }    "status" : "1",      
}

Sample Response:

Code Block
languagejson
{
  "progressDetailsid": "{"api.view.read.contextall",
  "ver": "v1",
  "ts":    "2021-06-23 05:37:40:575+0000",
  "progressparams" :20, {
    "resmsgid": null,
     "msgid": "timespent" : 105e763bc2-b072-440d-916e-da787881b1b9",
    "err": null,
      }""status": "success",
    "errmsg": null
  }],
  "responseCode": "OK",
 }
}

Example2: With context

Code Block
languagejson
{
  "result": {
  "iduserId" : "api.view.readuser_123",
    "vercollectionId" : "v1",
 collection_123"
  "tscontents": "2021-06-23 05:37:40:575+0000",[
    {
      "paramsuserid": {
  :"user_123",
      "resmsgidcontentId": null"content_123",

       "msgidstatus": "5e763bc2-b072-440d-916e-da787881b1b91",

       "errprogressDetails": null,{
        "statusprogress": "success"20,
        "errmsgtimespent": 10
 null     },
    "responseCode": "OK",},
    {
"result": {     	"userIduserid" : "user_123",

       "collectionId" : "collection_!23",
 
      "contextId" : "context_123",
        "contents": [{
   
      "contentId": "content_123",
 
        "progressDetails": "{
   
         "progress": :20,
   
         "timespent" : 10
   
      }",
          status "status": "12"
     }
  }]

   }
}

Content Submit Assess

Expand
titlePOST - /v1/assessment/submit

Request:

Code Block
languagejson
{
    "id": "api.assess.submit",
    "ver": "v1",
    "ts": "2021-06-23 05:37:40:575+0000",
    "params": {
       "msgid": "5e763bc2-b072-440d-916e-da787881b1b9"
    }     
    "request": {
        "userId": "{{userId}}",               // required
          "contentId": "{{contentId}}",         // required  
        "collectionId" : "{{collectionId}}",  // required
        "contextId": "{{batchId}}",           // required 
        "attemptId" : "{{attemptId}}",        // required
        "assessments": [{
            {{assess_event}}      // required for self-assess contents
        }]
    }
}

Response:

Code Block
{
    "id": "api.view.assess",
    "ver": "v1",
    "ts": "2021-06-23 05:37:40:575+0000",
    "params": {
        "resmsgid": null,
        "msgid": "5e763bc2-b072-440d-916e-da787881b1b9",
        "err": null,
        "status": "success",
        "errmsg": null
    },
    "responseCode": "OK",
    "result": {
        "{{contentId}}": "Score Updated"
    }
}

...

Expand
titlePOST - /v1/assessment/read

Request:

{ "request": { "userId": "{{userId}}",
Code Block
languagejson
{
           //required"request": {
        "contentId" : "{{contentId}}",    //required
        "collectionId" : "{{collectionId}}", //required
        "contextId": "{{batchId}}"   // required
   }
}

Response:

Code Block
languagejson
{
    "id": "api.assessment.read",
    "ver": "v1",
    "ts": "2021-06-23 05:37:40:575+0000",
    "params": {
        "resmsgid": null,
        "msgid": "5e763bc2-b072-440d-916e-da787881b1b9",
        "err": null,
        "status": "success",
        "errmsg": null
    },
    "responseCode": "OK",
    "result": {
    	"userId": "{{userId}}",
        "contentId" : "{{contentId}}"
    	"collectionId": "{{collectionId}}",
    	"contextId": "{{batchId}}",
        "assessments": [{
          "attemptId" : "{{attemptId}}",
    	  "score": {{score}},
    	  "max_score": {{max_score}}
        },{
          "attemptId" : "{{attemptId}}",
    	  "score": {{score}},
    	  "max_score": {{max_score}}
        }
        ]
    }
}

...

Expand
titleGET - /v1/summary/list/:userId

Response:

Code Block
languagejson
{
  "id": "api.summary.list",
  "ver": "v1",
  "ts": "2021-06-23 05:59:54:984+0000",
  "params": {
    "resmsgid": null,
    "msgid": "95e4942d-cbe8-477d-aebd-ad8e6de4bfc8",
    "err": null,
    "status": "success",
    "errmsg": null
  },
  "responseCode": "OK",
  "result": {
    "summary": [
      {
        "userId": "{{userId}}",
        "collectionId": "{{collectionId}}",
        "contextId": "{{batchId}}",
        "enrolledDate": 1624275377301,
        "active": true,
        "contentStatus": {
          "{{contentId}}": {{status}}
        },
        "assessmentStatus": {
          "assessmentId": {
            "score": {{best_score}},
            "max_score": {{max_score}}
          }
        },
        "collection": {
          "identifier": "{{collectionId}}",
          "name": "{{collectionName}}",
          "logo": "{{logo Url}}",
          "leafNodesCount": {{leafNodeCount}},
          "description": "{{description}}"
        },
        "issuedCertificates": [{
          "name": "{{certName}}",
          "id": "certificateId",
          "token": "{{certToken}}",
          "lastIssuedOn": "{{lastIssuedOn}}"
        }],
        "completedOn": {{completion_date}},
        "progress": {{progress}},
        "status": {{status}}
      }
    ]
  }
}

Sample Response:

Sample1:

Code Block
languagejson
{
  "id": "api.summary.list",
  "ver": "v1",
  "ts": "2021-06-23 05:59:54:984+0000",
  "params": {
    "resmsgid": null,
    "msgid": "95e4942d-cbe8-477d-aebd-ad8e6de4bfc8",
    "err": null,
    "status": "success",
    "errmsg": null
  },
  "responseCode": "OK",
  "result": {
    "summary": [
      {
        "userId": "user_123",
        "collectionId": "collection_123",
        "contextId": "context_123",
        "enrolledDate": 1624275377301,
        "active": true,
        "contentStatus": {
          "content_123": 2,
          "content_456": 1
        },
        "assessmentStatus": {
          "content_123": {
            "score": {{best_score}},
            "max_score": {{max_score}}
          }
        },
        "collection": {
          "identifier": "collection_123",
          "name": "Mathematics",
          "logo": "http://logoimage",
          "leafNodesCount": 4,
          "description": "Dummy Collection"
        },
        "issuedCertificates": [{
          "name": "Certificate-1",
          "id": "cert_123",
          "token": "sdfjkldjk23j2kj2k3jk2",
          "lastIssuedOn": "1624275377301"
        }],
        "completedOn": "2021-09-10",
        "progress": 70,
        "status": 1
      }
    ]
  }
}

...

Expand
titlePOST - /v1/summary/read

Request:

Code Block
{
    "request": {
        "userId": "{{userId}}", // required
        "collectionId" : "{{collectionId}}", // required
        "contextId": "{{batchId}}" //required
    }
}

Response:

Code Block
languagejson
{
  "id": "api.summary.read",
  "ver": "v1",
  "ts": "2021-06-23 05:59:54:984+0000",
  "params": {
    "resmsgid": null,
    "msgid": "95e4942d-cbe8-477d-aebd-ad8e6de4bfc8",
    "err": null,
    "status": "success",
    "errmsg": null
  },
  "responseCode": "OK",
  "result": {
        "userId": "{{userId}}",
   ",
    "collectionIderr": "{{collectionId}}",
   null,
    "contextIdstatus": "{{batchId}}success",
        "enrolledDateerrmsg": 1624275377301,null
     },
  "activeresponseCode": true"OK",

       "contentStatusresult": {
         "userId": "{{contentIduserId}}":,
{{status}}        "collectionId": "{{collectionId}}",
        "assessmentStatuscontextId": {
"{{batchId}}",
         "assessmentIdenrolledDate": {
1624275377301,
           "scoreactive": {{best_score}},
    true,
        "max_scorecontentStatus": {{max_score}}
          "{{contentId}}": {{status}}
        },
        "collectionassessmentStatus": {
          "identifierassessmentId": "{{collectionId}}",{
            "namescore": "{{collectionNamebest_score}}",
            "logomax_score": "{{logo Urlmax_score}}",

         "leafNodesCount": {{leafNodeCount}},
        },
 "description": "{{description}}"      "collection": {
 },         "issuedCertificatesidentifier": [{"{{collectionId}}",
          "name": "{{certNamecollectionName}}",
          "id": "certificateIdlogo": "{{logo Url}}",
          "tokenleafNodesCount": "{{certTokenleafNodeCount}}",
          "lastIssuedOndescription": "{{lastIssuedOndescription}}"
        }],
        "completedOnissuedCertificates": {{completion_date}},[{
          "progressname": "{{progresscertName}}",
          "statusid": {{status}}"certificateId",
  }
} 

Viewer Summary Delete

Expand
titleDELETE - /v1/summary/delete/:userId?all - To Delete all enrolments

Response:

Code Block
languagejson
Response:  {     "idtoken": "api.summary.delete",{{certToken}}",
          "verlastIssuedOn": "v1",{{lastIssuedOn}}"
      "ts": "2021-06-23 05:37:40:575+0000", }],
        "paramscompletedOn": {{completion_date}},
        "resmsgidprogress": null{{progress}},
        "msgidstatus": "5e763bc2-b072-440d-916e-da787881b1b9",{{status}}
  }
     "err": null,
   }

Viewer Summary Download - Default Format : CSV

Expand
titleGET - /v1/summary/download/:userId

Response:

Code Block
{
    "statusid": "successapi.summary.download",
   
    "errmsgver": null
    }"v1",
    "responseCodets": "OK2021-06-23 05:37:40:575+0000",
    "resultparams": {
        "{{userid}}resmsgid": :null,
"Enrolment Deleted Succesfully"     } }
Expand
titleDELETE - /v1/summary/delete/:userId - To Delete specific enrolments

Request:

Code Block
{"msgid": "5e763bc2-b072-440d-916e-da787881b1b9",
        "requesterr": {null,
        "userIdstatus": "{{userId}}success",
     // required   "errmsg": null
    },
    "collectionIdresponseCode" : "{{collectionId}}OK",
 //  required "result": {
      "contextIdurl": "{{batchIduserId}}"  // required_viewer_summary.csv"
    }
}
Expand
titleGET - /v1/summary/download/:userId?format=json

Response:

Code Block
languagejson
Response: 
{
    "id": "api.summary.deletedownload",
    "ver": "v1",
    "ts": "2021-06-23 05:37:40:575+0000",
    "params": {
        "resmsgid": null,
        "msgid": "5e763bc2-b072-440d-916e-da787881b1b9",
        "err": null,
        "status": "success",
        "errmsg": null
    },
    "responseCode": "OK",
    "result": {
      "{{userid}}url" : "Enrolment Deleted Succesfully "{{userId}}_viewer_summary.json"
    }
}

Viewer Summary Download - Default Format : CSVDelete

Expand
titleGET DELETE - /v1/summary/downloaddelete/:userId?all - To Delete all enrolments

Response:

Code Block
languagejson
Response: 
{
    "id": "api.summary.downloaddelete",
    "ver": "v1",
    "ts": "2021-06-23 05:37:40:575+0000",0000",
    "params": {
        "resmsgid": null,
        "msgid": "5e763bc2-b072-440d-916e-da787881b1b9",
        "err": null,
        "paramsstatus": {"success",
        "resmsgiderrmsg": null,
    },
    "msgidresponseCode": "5e763bc2-b072-440d-916e-da787881b1b9OK",
    "result": {
     "err{{userid}}" : null, "Enrolment Deleted Succesfully"
    }
}
GET - /v1/summary/download/:userId?format=json
Expand
titleDELETE - /v1/summary/delete/:userId - To Delete specific enrolments

Request:

Code Block
{
    "statusrequest": "success",{
        "errmsguserId": null
 "{{userId}}",   // required
   },     "responseCodecollectionId" : "OK{{collectionId}}",  // required
 "result": {       "urlcontextId": "{{userIdbatchId}}_viewer_summary.csv"
"  // required
    }
}
Expand
title

Response:

Code Block
languagejson
Response: 
{
    "id": "api.summary.downloaddelete",
    "ver": "v1",
    "ts": "2021-06-23 05:37:40:575+0000",
    "params": {
        "resmsgid": null,
        "msgid": "5e763bc2-b072-440d-916e-da787881b1b9",
        "err": null,
        "status": "success",
        "errmsg": null
    },
    "responseCode": "OK",
    "result": {
      "url{{userid}}" : "{{userId}}_viewer_summary.jsonEnrolment Deleted Succesfully"
    }
}

Clarifications:

  • For assessment submit, do we need consider the assess events without context as wellIn the summary list api, if the context is program, how to show the program metadata