Skip to main content

Intro

Allows developer to request Customer Authentication using picked authentication provider. The secret will be provided using USSD channel.

Authenticating customer

API permission
Performing customer authentication requires to have `CUSTOMER_AUTHENTICATION` permission. If `CUSTOMER_AUTHENTICATION` permission wasn't grant to you, please contact Qrios team.

Initiating customer authentication

To initiate customer authentication, send request:

Operation callback

When the operation reaches the final state, the developer will receive a notification to callback URL defined during the registration.

Callback schema

Content-Type: application/json

  • clientId - client identifier
    • type: string
  • operationId - operation identifier
    • type: string
  • operation - operation type
    • type: string (enum) - possible values: [customerauthentication]
  • status
    • type: object
    • properties:
      • result - operation status
        • type: string (enum) - possible values: [success, failure, unknown]
      • cause - failure cause. It is defined when the operation has the failure status
        • type: string (enum) - check swagger for details
  • customerauthentication
    • type: object
    • properties:
      • authenticationResult - result of customer authentication. It is defined when the operation has the success status. type: string (enum) - possible values: [AUTHENTICATION_SUCCESS, AUTHENTICATION_FAILED, AUTHENTICATION_TIMEOUT]

Callback examples

Successul customer authentication

The customer was successfully authenticated

{
  "clientId": "ouVkgq0f",
  "operationId": "operationId",
  "operation": "customerauthentication",
  "status": {
    "result": "success"
  },
  "customerauthentication": {
    "authenticationResult": "AUTHENTICATION_SUCCESS"
  }
}
Failed customer authenitcation

The customer failed to authenticate (e.g. customer entered invalid PIN)

{
  "clientId": "ouVkgq0f",
  "operationId": "operationId",
  "operation": "customerauthentication",
  "status": {
    "result": "success"
  },
  "customerauthentication": {
    "authenticationResult": "AUTHENTICATION_FAILED"
  }
}
Timed out customer authentication

The customer didn't proceed authentication. The operation was finished due to authentication timeout

{
  "clientId": "ouVkgq0f",
  "operationId": "operationId",
  "operation": "customerauthentication",
  "status": {
    "result": "success"
  },
  "customerauthentication": {
    "authenticationResult": "AUTHENTICATION_TIMEOUT"
  }
}
Qrios API failed to initiate a customer authentication

Qrios API failed to initiate a authentication process for given customer

{
  "clientId": "ouVkgq0f",
  "operationId": "operationId",
  "operation": "customerauthentication",
  "status": {
    "result": "failure",
    "cause": "other"
  },
  "customerauthentication": {
    "authenticationResult": null
  }
}