Ir al contenido principal

Asignación Familiar(Buscar dni empleado (1)) - [searchJobApplicant]

🧾 Descripción

Este servicio consulta información de un postulante (Job Applicant) enviando su número de documento a un endpoint externo.
El servicio actúa como un proxy directo: recibe un documento, llama por cURL al endpoint de EMPRESARIAL y retorna la respuesta tal cual viene de la API.

No realiza validaciones ni transformaciones adicionales.


🚀 Endpoint interno

POST /search-job-applicant


📥 Parámetros de entrada (Request Body)

{ "document": "string" }

Campo | Tipo | Obligatorio | Descripción

---|---|---|---
document | string | Sí | Número de documento del postulante a buscar.


🔐 Seguridad

No usa autenticación interna ni tokens propios.
El servicio simplemente reenvía el dato al endpoint: POST {EMPRESARIAL}/api/search_job_applicant


🧠 Flujo del Servicio (Resumen Real)

  1. Recibe el campo document desde la solicitud.

  2. Prepara una petición cURL hacia:


    {EMPRESARIAL}/api/search_job_applicant
  3. Envía el documento como parámetro form-data:


    document = <valor recibido>
  4. Ejecuta la llamada.

  5. Decodifica la respuesta JSON.

  6. Retorna la data al cliente sin modificaciones.


📤 Respuesta 200 – Ejemplo

Respuesta depende totalmente del servicio externo.
Un ejemplo típico puede ser:

{ "valor": true, "data": { "name": "JOB-00045", "first_name": "Carlos", "last_name": "Rojas", "status": "Open", "document": "74581236" } }

❗ Posibles Errores

1. No se puede conectar con EMPRESARIAL

{ "valor": false, "msn": "No se pudo conectar con el servicio externo", "data": [] }

2. EMPRESARIAL devuelve error interno

{ "valor": false, "msn": "Error desde API Empresarial", "data": { ...detalle del error... } }

3. Respuesta no válida o JSON corrupto

{ "valor": false, "msn": "Respuesta inesperada del servidor externo", "data": "<response>" }

📚 Esquema esperado desde el API externo (referencial)

El API no está documentado en tu código, pero normalmente una estructura de Job Applicant incluye:

{ "name": "string", "first_name": "string", "last_name": "string", "status": "string", "document": "string" }

La estructura real depende 100% del sistema EMPRESARIAL.


🗃 Lógica en pseudo-código

document = request.document curl = init() curl.url = EMPRESARIAL + "api/search_job_applicant" curl.method = POST curl.postfields = { document: document } response = curl.execute() return json_decode(response)


🧩 Código documentado

/** * Servicio: searchJobApplicant * * Descripción: * Busca información de un postulante enviando su documento al API externo EMPRESARIAL. * Este servicio actúa como un puente: manda el documento vía cURL y retorna la respuesta * sin transformaciones adicionales. * * Endpoint interno: * POST /search-job-applicant * * Parámetros: * - document (string): Documento de identidad del postulante. * * Flujo: * 1. Recibe el documento del request. * 2. Ejecuta cURL hacia EMPRESARIAL/api/search_job_applicant enviando el documento. * 3. Obtiene y decodifica la respuesta JSON. * 4. Retorna directamente la respuesta del servicio externo. * * Posibles errores: * - Fallo en la conexión cURL * - Respuesta inválida del servidor externo */ public function searchJobApplicant(Request $request) { $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => EMPRESARIAL.'api/search_job_applicant', CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => '', CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => 'POST', CURLOPT_POSTFIELDS => array('document' => $request->document), )); $response = curl_exec($curl); curl_close($curl); return json_decode($response,true); }