cupa-inspera-qp-webhook-xapi
home
Inspera QP Webhook Experience API
Inspera QP Webhook is act as a proxy to connect inspera so that Consumers can consume the API securely.
Architecture Diagram:
Sequence Diagram:
Sequence Diagram Description:
No. | Steps | Description |
---|---|---|
1. | Request | Http Client invokes the mule services along with credentials (client id and client secret) in query params and X-TRANSACTION-ID (A code to track API calls end to end) via Mule Soft Secure API layer |
2. | Validate Credentials | Client id and Client secret credentials are validated by the security API mule gateway layer |
3. | If Validation fails, service returns specific fault response | If Validation fails, service returns specific fault response |
4. | Request | Request forward and behave like a passthrough API |
5. | Response | Response from Inspera |
6. | Return Response | Returns the success response. |
Endpoints:
1. Health Check
GET: /status
To check the health of the API.
Topic | Details | |
---|---|---|
1. | Operation Description | Check the current status of API |
2. | URI | /api/v1/status |
3. | Method | GET |
4. | Response | { "application": "cupa-inspera-webhook-xapi", "version": "v1", "environment": "dev", "status": "Running", "timestamp": "2023-02-02T07:41:43.227Z+00:00" } |
5. | Synchronous/Asynchronous | Synchronous |
6. | Protocol | HTTPS |
7. | URL | https://apis-sandbox.cambridgeassessment.org.uk/cupa-inspera-webhook-xapi-dev/api/v1/status |
8. | Mode of Communication | ☐ Batch ☐ Message ☒ Real Time |
9. | Interface Pattern | ☐ Publish / Subscribe ☒ Request / Reply |
2. To Post Revision Status
POST: /revision/notification
This endpoint to post revision status, payload in below format.
{
"event": "revision_status_updated",
"marketplaceId": 123456,
"contextObjectId": 123456,
"contextObjectType": "qti_section",
"triggeringUserId": 123456,
"triggeringUserName": "abc",
"timestamp": "2021-11-17T19:53:52Z",
"extraInfo": {
"values": {
"jobId": 123
},
"type": "String",
"value": "live",
"previousValue": "draft"
}
}
Topic | Details | |
---|---|---|
1. | Operation Description | To post revision status |
2. | URI | /v1/revision/notification |
3. | Method | Post |
6. | Synchronous/ Asynchronous | Synchronous |
7. | Protocol | HTTPS |
8. | URL | https://apis-sandbox.cambridgeassessment.org.uk/cupa-inspera-webhook-xapi-dev/api/v1/revision/notification/ |
9. | Mode of Communication | ☐ Batch ☐ Message ☒ Real Time |
10. | Interface Pattern | ☐ Publish / Subscribe ☒ Request / Reply |
3. To Post Submission Notification
POST: /submission/notification
This endpoint is used to post submission notification details to non mule system , payload in below format.
{
"event": "submission_delivered",
"marketplaceId": 53856877,
"contextObjectId": 137705108,
"contextObjectType": "ASSESSMENT_RUN",
"associatedObjectId": 137705307,
"associatedObjectType": "candidate",
"triggeringUserId": 137705307,
"triggeringUserName": "ANONYMOUS USER",
"timestamp": 1675346760000,
"extraInfo": {
"type": "JSON",
"value": {
"contextObjectExternalId": null,
"lastUpdated": null,
"presignedUrl": null,
"jobId": null
}
},
"orderId": null
}
Topic | Details | |
---|---|---|
1. | Operation Description | To Post Submission Notification |
2. | URI | /v1/submission notification |
3. | Method | POST |
6. | Synchronous/ Asynchronous | Synchronous |
7. | Protocol | HTTPS |
8. | URL | https://apis-sandbox.cambridgeassessment.org.uk/cupa-inspera-webhook-xapi-dev/api/v1/submission notification |
9. | Mode of Communication | ☐ Batch ☐ Message ☒ Real Time |
10. | Interface Pattern | ☐ Publish / Subscribe ☒ Request / Reply |
4. To Post ELIT Response Notification
POST: /elitresponse/notification
This endpoint is used to post ELIT response notification details to non mule system , payload in below format.
{
"status": "success",
"results": {
"parts": [
{
"part": 1,
"status": "success",
"answers": [
{
"id": "{answerid}",
"grader-results": [
{
"grader-id": 1,
"results": {
"overall": 8.34
}
}
]
}
]
}
]
}
}
Topic | Details | |
---|---|---|
1. | Operation Description | To Post ELIT Response Notification |
2. | URI | /v1/elitresponse/notification |
3. | Method | POST |
6. | Synchronous/ Asynchronous | Synchronous |
7. | Protocol | HTTPS |
8. | URL | https://apis-sandbox.cambridgeassessment.org.uk/cupa-inspera-webhook-xapi-dev/api/v1/elitresponse/notification |
9. | Mode of Communication | ☐ Batch ☐ Message ☒ Real Time |
10. | Interface Pattern | ☐ Publish / Subscribe ☒ Request / Reply |
5. To Post LOFT Notification
POST: /notification/loft
This endpoint is used to post notification loft details to non mule system , payload in below format.
{
}
Topic | Details | |
---|---|---|
1. | Operation Description | To Post LOFT Notification |
2. | URI | /v1/notification/loft |
3. | Method | POST |
6. | Synchronous/ Asynchronous | Synchronous |
7. | Protocol | HTTPS |
8. | URL | https://apis-sandbox.cambridgeassessment.org.uk/cupa-inspera-webhook-xapi-dev/api/v1/notification/loft |
9. | Mode of Communication | ☐ Batch ☐ Message ☒ Real Time |
10. | Interface Pattern | ☐ Publish / Subscribe ☒ Request / Reply |