Appearance
Create Phone Number verification Request.
Accepts requests for creating a Phone Number Verification Request.
Endpoints
Environment | URL |
---|---|
Sandbox | https://api-test.streamline.laboremus.ug/phone-verify/api/Verification?v=2.0 |
Production | https://api.streamline.laboremus.ug/phoneid/api/Verification?v=2.0 |
Request
Request Type : POST
Authorization
There are two ways to be authorized when making this request.
js
const token = 'eyJhbGciOiJIUzI1NiIsInR5.eyJzd...ssw5c'
axios.post(API_ENDPOINT,
headers: {
Authorization: `Bearer ${token}`
}
)
const token = 'eyJhbGciOiJIUzI1NiIsInR5.eyJzd...ssw5c'
axios.post(API_ENDPOINT,
headers: {
Authorization: `Bearer ${token}`
}
)
js
import axios from 'axios'
import oauth from 'axios-oauth-client'
const getClientCredentials = oauth.clientCredentials(
axios.create(),
'https://oauth.com/2.0/token',
'CLIENT_ID',
'CLIENT_SECRET'
)
const auth = await getClientCredentials('OPTIONAL_SCOPES')
axios.post(API_ENDPOINT,
headers: {
Authorization: `Bearer ${auth.access_token}`
}
)
import axios from 'axios'
import oauth from 'axios-oauth-client'
const getClientCredentials = oauth.clientCredentials(
axios.create(),
'https://oauth.com/2.0/token',
'CLIENT_ID',
'CLIENT_SECRET'
)
const auth = await getClientCredentials('OPTIONAL_SCOPES')
axios.post(API_ENDPOINT,
headers: {
Authorization: `Bearer ${auth.access_token}`
}
)
INFO
Always add your Subscription key
to the request.
js
axios.post(API_ENDPOINT,
headers: {
'Ocp-Apim-Subscription-Key': 'd484a1f0d34f4301916d0f2c9e9106a2'
}
)
axios.post(API_ENDPOINT,
headers: {
'Ocp-Apim-Subscription-Key': 'd484a1f0d34f4301916d0f2c9e9106a2'
}
)
js
const res = await axios.post(API_ENDPOINT, {
params: {
Ocp-Apim-Subscription-Key: 'd484a1f0d34f4301916d0f2c9e9106a2'
}
});
const res = await axios.post(API_ENDPOINT, {
params: {
Ocp-Apim-Subscription-Key: 'd484a1f0d34f4301916d0f2c9e9106a2'
}
});
Request Values
Name | Type | Required | Description |
---|---|---|---|
referenceId | string or null | no | A Guid / uuid / A set of unique Alphanumerical characters assigned to this verification request. |
phoneNumber | string | yes | Phone number starting with prefix (256) |
Example Request Body
json
{
"referenceId": "string",
"phoneNumber": "string"
}
{
"referenceId": "string",
"phoneNumber": "string"
}
Response
Response Values
Content type
application/json
Name | Type | Description |
---|---|---|
id | string (uuid) | The unique id for the request |
createdAt | string (date-time) | Date the request was created. |
requesterId | string or null | The unique Id for the request initiator |
status | string (Enum: Pending , Completed , Error ) | The status of the execution |
verificationStatus | string (Enum: Unknown , Valid , Invalid ) | The verification status reply |
phoneNumber | string or null | Phone number sent in request payload. |
sentAt | string or null (date-time) | Date the request was sent. |
referenceId | string or null | Reference Id sent in the verification request. |
responsePayload | string or null | String containing a verification response. |
processedAt | string or null (date-time) | Date at which the verification request was processed. |
isError | boolean | A flag to show whether the request has errors |
errors | array of errors | The errors that are returned. |
errors
Name | Type | Description |
---|---|---|
suggestion | string[] | List of suggestions related to the error. |
code | string | The error code. |
message | string | The short message describing the error. |
description | string | A detailed description of the error. |
type | string | The type or category of the error. |
Example Response Body
json
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"createdAt": "2019-08-24T14:15:22Z",
"requesterId": "string",
"status": "Pending",
"verificationStatus": "Unknown",
"phoneNumber": "string",
"sentAt": "2019-08-24T14:15:22Z",
"referenceId": "string",
"responsePayload": "string",
"processedAt": "2019-08-24T14:15:22Z",
"isError": true,
"errors": [
{
"suggestion": [
"string"
],
"code": "string",
"message": "string",
"description": "string",
"type": "string"
}
]
}
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"createdAt": "2019-08-24T14:15:22Z",
"requesterId": "string",
"status": "Pending",
"verificationStatus": "Unknown",
"phoneNumber": "string",
"sentAt": "2019-08-24T14:15:22Z",
"referenceId": "string",
"responsePayload": "string",
"processedAt": "2019-08-24T14:15:22Z",
"isError": true,
"errors": [
{
"suggestion": [
"string"
],
"code": "string",
"message": "string",
"description": "string",
"type": "string"
}
]
}
Error Response
400 Bad Request
application/json
Name | Type | Description |
---|---|---|
statusCode | integer(int32) | The status of the error response |
Example Error Response
json
{
"statusCode": 0
}
{
"statusCode": 0
}
401 Unauthorized
application/json
Name | Type | Description |
---|---|---|
statusCode | integer(int32) | The status of the error response |
Example Error Response
json
{
"statusCode": 0
}
{
"statusCode": 0
}
500 Server Error
No response
Error Codes
When working with our PNV API, you'll encounter errors shown below. Each type of error comes with an appropriate code and suggestion to aid in troubleshooting.
All errors share the same basic response format.code
indicating the error code,message
providing an overview of the error, description
to show more information about the error, suggestion
to aid in troubleshooting and type
describing the error type
Code | Message | Description | Suggestion | Type |
---|---|---|---|---|
S0001 | FAILED_TO_VERIFY_PHONE_NUMBER | Failed to verify phone number | Something went wrong, Please contact support at email support@laboremus.ug | Fatal |
S0002 | INVALID_PHONE_NUMBER | The phone number provided is invalid. | Phone Number should start with Uganda Country code (256) Phone Number should have 12 digits (256712345678) | Data |
S0003 | INVALID_NATIONAL_ID_NUMBER | The national id number(NIN) provided is invalid. | NIN should start with the letter C or P NIN should have 14 characters (CF1234567D12UG) | Data |
S0004 | INVALID_CREDENTIALS | The connection credentials provided are invalid. | Please check whether the subscription key is correct or contact support at email support@laboremus.ug | Authentication |
S0005 | INVALID_NETWORK | The Telecom Network provided is invalid. | The phone number should be from either Airtel or MTN | Data |
S0006 | ACCOUNTHOLDER_NOT_FOUND | The account holder was not found | The owner of the phone number was not found | Data |
S0007 | UNKNOWN_ERROR | An unknown error has occurred, preventing the requested action from being completed. | Please try again later.If the issue persists, contact our support team at support@laboremus.ug with details about the action you were attempting to perform. | Fatal |