3.7 KiB
3.7 KiB
Get Client RM API
Returns Level 1 (Account Manager) and Level 2 (Head) contact details for a client.
Controller: EmployeeRestController::getClientRM
Method: GET
Endpoint
GET /employeeRest/getClientRM
Authentication
JWT token is required. This endpoint is available only in the authenticated route group.
| Filter | Description |
|---|---|
ratelimit |
Rate limiting |
appSignature |
App signature validation |
authJWT |
JWT token validation |
Required Headers
| Header | Required | Description |
|---|---|---|
App-Signature |
Yes | Must match server APP_SIGNATURE from .env |
Authorization |
Yes | JWT token in format Bearer <token> |
Example Headers
App-Signature: <your_app_signature>
Authorization: Bearer <jwt_token>
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
client_id |
string | Yes | MD5 hash of the client ID (32-character hex string) |
Example Request
GET /employeeRest/getClientRM?client_id=5d41402abc4b2a76b9719d911017c592
Note: Pass the MD5 hash of the numeric client ID, not the raw client ID.
Example:
MD5(123) = 202cb962ac59075b964b07152d234b70
GET /employeeRest/getClientRM?client_id=202cb962ac59075b964b07152d234b70
Success Response
HTTP Status: 200
{
"status": "success",
"code": 200,
"data": {
"level_1": [
{
"first_name": "John",
"email": "john@example.com",
"mobile": "9876543210"
}
],
"level_2": [
{
"first_name": "Jane",
"email": "jane@example.com",
"mobile": "9123456789"
}
]
}
}
Response Fields
| Key | Type | Description |
|---|---|---|
status |
string | success or failed |
code |
integer | Response code |
data.level_1 |
array | Account Manager contact list |
data.level_2 |
array | Head contact list |
first_name |
string | RM name |
email |
string | RM email |
mobile |
string | RM mobile number |
If no RM is assigned for a level, the corresponding array will be empty ([]).
Level Mapping
| Response Key | Role | client_rm.level in DB |
|---|---|---|
level_1 |
Account Manager | 3 |
level_2 |
Head | 1 |
Notes:
- Only active records are returned (
client_rm.is_active = 1). - Manager (DB level
2) is not included in this API. level_1can contain multiple Account Managers.
Error Responses
Missing client_id
HTTP Status: 200
{
"status": "failed",
"code": 400,
"message": "client_id is required"
}
Missing Token
HTTP Status: 403
{
"status": 403,
"message": "Access Forbidden"
}
Invalid or Expired Token
HTTP Status: 401
{
"status": 401,
"message": "Token is Invalid"
}
{
"status": 401,
"message": "Token expired"
}
Invalid App Signature
HTTP Status: 403
{
"status": false,
"message": "Forbidden: Invalid App Signature"
}
Server Error
HTTP Status: 500
{
"status": "failed",
"code": 500,
"data": "Error message"
}
Route Registration
Defined in app/Config/Routes.php (authenticated group only):
$routes->group("employeeRest", ["filter" => ['GlobalPostFileUploadGuard', 'ratelimit', 'appSignature', 'authJWT']], function ($routes) {
$routes->get("getClientRM", "EmployeeRestController::getClientRM");
});
Source
Implementation: app/Controllers/EmployeeRestController.php → getClientRM()