# Send Individual Employee E-Card Mail API Sends the E-Card download mail to a single employee (Self relationship only). **Controller:** `EmployeeRestController::sendMailForIndividualEmployeeEcard` **Method:** `POST` --- ## Endpoint ``` POST /employeeRest/sendMailForIndividualEmployeeEcard ``` --- ## Authentication **JWT token is required.** This endpoint is available only in the authenticated route group. | Filter | Description | |--------|-------------| | `GlobalPostFileUploadGuard` | POST upload guard | | `ratelimit` | Rate limiting | | `appSignature` | App signature validation | | `authJWT` | JWT token validation | ### Required Headers | Header | Required | Description | |--------|----------|-------------| | `Content-Type` | Yes | `application/json` | | `App-Signature` | Yes | Must match server `APP_SIGNATURE` from `.env` | | `Authorization` | Yes | JWT token in format `Bearer ` | ### Example Headers ``` Content-Type: application/json App-Signature: Authorization: Bearer ``` --- ## Request Body (JSON) | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `emp_policy_id` | integer | Yes | Employee policy ID (`employee_polices.id`) | | `client_policy_id` | integer | Yes | Client policy ID | ### Example Request ```json { "emp_policy_id": 12345, "client_policy_id": 678 } ``` ### cURL Example ```bash curl -X POST "https:///employeeRest/sendMailForIndividualEmployeeEcard" \ -H "Content-Type: application/json" \ -H "App-Signature: " \ -H "Authorization: Bearer " \ -d '{ "emp_policy_id": 12345, "client_policy_id": 678 }' ``` --- ## Success Response **HTTP Status:** `200` ```json { "status": true, "code": 200, "message": "Mail sent successfully", "result": {} } ``` --- ## Error Responses ### Missing `emp_policy_id` **HTTP Status:** `200` ```json { "status": false, "code": 404, "message": "emp_policy_id is required" } ``` ### Missing `client_policy_id` **HTTP Status:** `200` ```json { "status": false, "code": 404, "message": "client_policy_id is required" } ``` ### Mail Send Failed **HTTP Status:** `200` ```json { "status": false, "code": 404, "message": "Failed to sent mail.", "result": {} } ``` ### Missing / Invalid Token **HTTP Status:** `401` or `403` ```json { "status": 401, "message": "Token is Invalid" } ``` ### Invalid App Signature **HTTP Status:** `403` ```json { "status": false, "message": "Forbidden: Invalid App Signature" } ``` --- ## Notes - `emp_policy_id` is the **employee policy record ID**, not the employee master ID. - Mail is sent only when E-Card notification is enabled for the client. - Employee must be active with a valid corporate email and TPA ID. - This API uses the same logic as `EmployeeController::send_mail_for_individual_employee_ecard`. --- ## Route Registration Defined in `app/Config/Routes.php`: ```php $routes->group("employeeRest", ["filter" => ['GlobalPostFileUploadGuard', 'ratelimit', 'appSignature', 'authJWT']], function ($routes) { $routes->post("sendMailForIndividualEmployeeEcard", "EmployeeRestController::sendMailForIndividualEmployeeEcard"); }); ``` --- ## Source Implementation: `app/Controllers/EmployeeRestController.php` → `sendMailForIndividualEmployeeEcard()` Service: `app/Controllers/EmpDataServiceController.php` → `sendMailForDownloadingECard()`