Result Validation API
Description
The APP server calls this interface to send the encrypted data (payload) returned by the Engagelab SDK to the Engagelab server for phone number consistency verification.
Interface Information
| Item | Description |
|---|---|
| Request path | POST /v1/verify |
| Protocol | HTTPS |
| Authentication | HTTP Basic Auth |
| Content-Type | application/json |
Latest domain: authapi.engagelab.com
Request Example
curl -X POST 'https://{authapi.engagelab.com}/v1/verify' \
-H 'Authorization: Basic dG40bm0wcXgwMzJ5eDZmMTdxMnRzYThmOnlvdXJfYXBwX3NlY3JldF9oZXJl' \
-H 'Content-Type: application/json' \
-d '{
"payload": "uh/vX6WTi0vipwIBnUyt11h1OuDVImzWR/JuyySaztqmQLx1FKz6Xkpq83IhlEMi..."
}'
curl -X POST 'https://{authapi.engagelab.com}/v1/verify' \
-H 'Authorization: Basic dG40bm0wcXgwMzJ5eDZmMTdxMnRzYThmOnlvdXJfYXBwX3NlY3JldF9oZXJl' \
-H 'Content-Type: application/json' \
-d '{
"payload": "uh/vX6WTi0vipwIBnUyt11h1OuDVImzWR/JuyySaztqmQLx1FKz6Xkpq83IhlEMi..."
}'
This code block in the floating window
Authentication
Use HTTP Basic Auth for authentication:
Authorization: Basic base64(appKey:appSecret)
Authorization: Basic base64(appKey:appSecret)
This code block in the floating window
Example:
- appKey:
tn4nm0qx032yx6f17q2tsa8f - appSecret:
your_app_secret_here - base64 encoding:
dG40bm0wcXgwMzJ5eDZmMTdxMnRzYThmOnlvdXJfYXBwX3NlY3JldF9oZXJl
Authorization: Basic dG40bm0wcXgwMzJ5eDZmMTdxMnRzYThmOnlvdXJfYXBwX3NlY3JldF9oZXJl
Authorization: Basic dG40bm0wcXgwMzJ5eDZmMTdxMnRzYThmOnlvdXJfYXBwX3NlY3JldF9oZXJl
This code block in the floating window
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| payload | string | Yes | The encrypted data returned by the Engagelab SDK, passed through by the APP |
Request body example:
{
"payload": "uh/vX6WTi0vipwIBnUyt11h1OuDVImzWR/JuyySaztqmQLx1FKz6Xkpq83IhlEMi..."
}
{
"payload": "uh/vX6WTi0vipwIBnUyt11h1OuDVImzWR/JuyySaztqmQLx1FKz6Xkpq83IhlEMi..."
}
This code block in the floating window
Response Parameters
Success Response (HTTP 200)
| Parameter | Type | Description |
|---|---|---|
| code | int | Status code; 0 means success |
| msg | string | Status description |
| data | object | Response data |
| data.message_id | string | Unique message identifier, can be used for troubleshooting |
| data.verified | boolean | Phone number verification result; true means consistent, false means inconsistent |
Success example (verification passed):
{
"code": 0,
"msg": "success",
"data": {
"message_id": "1876123456789012345",
"verified": true
}
}
{
"code": 0,
"msg": "success",
"data": {
"message_id": "1876123456789012345",
"verified": true
}
}
This code block in the floating window
Success example (verification failed):
{
"code": 0,
"msg": "success",
"data": {
"message_id": "1876123456789012345",
"verified": false
}
}
{
"code": 0,
"msg": "success",
"data": {
"message_id": "1876123456789012345",
"verified": false
}
}
This code block in the floating window
Error Response (HTTP 4xx/5xx)
| Parameter | Type | Description |
|---|---|---|
| code | int | Error code |
| msg | string | Error description |
Error example:
{
"code": 2001,
"msg": "auth failed"
}
{
"code": 2001,
"msg": "auth failed"
}
This code block in the floating window
Error Codes
| Error code | HTTP status code | Description | Suggested handling |
|---|---|---|---|
| 1000 | 500 | Internal server error | Please retry later; if it persists, contact technical support |
| 2001 | 401 | Authentication failed | Check whether appKey and appSecret are correct and whether the Authorization format complies with the specification |
| 2004 | 401 | Invalid appKey | Check whether the appKey is correct, or contact technical support to confirm whether the service is activated |
| 3001 | 400 | Invalid parameter format | Check whether the request body is valid JSON |
| 3002 | 400 | Parameter validation failed | Check whether the payload parameter exists and is in the correct format |
| 3003 | 400 | appKey mismatch | The appKey in the payload does not match the appKey in the authentication header; make sure you use the correct key pair |
| 3004 | 400 | Configuration not enabled | The service configuration is not yet enabled; please contact technical support to activate it |
| 3005 | 400 | Insufficient balance | The account balance is insufficient; please top up and retry |
| 4001 | 400 | Configuration not found | The corresponding service configuration was not found; please contact technical support |
| 5001 | 400 | Verification failed | An exception occurred during the carrier authentication process; troubleshoot based on the details in msg or contact technical support |
Notes
- Payload pass-through: After the APP receives the payload returned by the Engagelab SDK, it must submit it as-is to the APP server, which then calls this interface. Do not modify the payload in any way.
- Security recommendation: Keep the appSecret safe and use it only on the server side; do not expose it in the APP.
- Verification result: A
verifiedvalue offalsemeans the phone number entered by the user does not match the SIM card phone number, and the user login should be rejected.










