cupa-inspera-qp-webhook-xapi

(0 reviews)

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:

resources/image-9aa26bd9-37c4-4d51-b991-6f0aae5df0db.png

resources/image-eca427e2-9b83-4471-8602-bae39f494688.png


Sequence Diagram:

resources/image-50a1af4d-f91a-4374-ad16-4640771d71ff.png

Sequence Diagram Description:

No.StepsDescription
1.RequestHttp 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 CredentialsClient id and Client secret credentials are validated by the security API mule gateway layer
3.If Validation fails, service returns specific fault responseIf Validation fails, service returns specific fault response
4.RequestRequest forward and behave like a passthrough API
5.ResponseResponse from Inspera
6.Return ResponseReturns the success response.

Endpoints:

1. Health Check

GET: /status

To check the health of the API.

TopicDetails
1.Operation DescriptionCheck the current status of API
2.URI/api/v1/status
3.MethodGET
4.Response{ "application": "cupa-inspera-webhook-xapi", "version": "v1", "environment": "dev", "status": "Running", "timestamp": "2023-02-02T07:41:43.227Z+00:00" }
5.Synchronous/AsynchronousSynchronous
6.ProtocolHTTPS
7.URLhttps://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"
    }
}
TopicDetails
1.Operation DescriptionTo post revision status
2.URI/v1/revision/notification
3.MethodPost
6.Synchronous/ AsynchronousSynchronous
7.ProtocolHTTPS
8.URLhttps://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
}
TopicDetails
1.Operation DescriptionTo Post Submission Notification
2.URI/v1/submission notification
3.MethodPOST
6.Synchronous/ AsynchronousSynchronous
7.ProtocolHTTPS
8.URLhttps://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
                                }
                            }
                        ]
                    }
                ]
            }
        ]
    }
}
TopicDetails
1.Operation DescriptionTo Post ELIT Response Notification
2.URI/v1/elitresponse/notification
3.MethodPOST
6.Synchronous/ AsynchronousSynchronous
7.ProtocolHTTPS
8.URLhttps://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.

{
}
TopicDetails
1.Operation DescriptionTo Post LOFT Notification
2.URI/v1/notification/loft
3.MethodPOST
6.Synchronous/ AsynchronousSynchronous
7.ProtocolHTTPS
8.URLhttps://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

Reviews