Ir al contenido principal

Términos y Condiciones - [setTermsAndConditions]

🧾 Descripción

Registra la aceptación de los Términos y Condiciones por parte del usuario logueado en la aplicación.
El proceso localiza al empleado asociado al user_id (email del usuario) y actualiza los campos:

  • terminos_y_condiciones_app = 1

  • fecha_terminos_y_condiciones = fecha/hora actual


🚀 Endpoint


POST /set-terms-and-conditions

La ruta exacta depende de cómo esté configurado en tus routes/api.php.


🔐 Seguridad

  • No requiere token explícito aquí, pero el backend usa apiService, que probablemente sí exige autenticación hacia ERPNext.

  • Se recomienda proteger este endpoint detrás de autenticación de la app.


📥 Request Body

{ "email_logued": "string" }

Campos requeridos:

Campo Tipo Requerido Descripción
email_logued string Email del usuario con el que inició sesión en la app. Este email debe coincidir con el user_id del Employee.

📤 Responses

✔️ 200 – Términos aceptados correctamente

{ "valor": true, "msn": "Terminos y Condiciones Aceptadas Correctamente" }

❌ 400 – Falta el email

{ "valor": false, "msn": "Es necesario el email con el que ha entrado a la app" }

❌ 404 – No existe Employee asociado al usuario

Incluye ambos casos del código:

{ "valor": false, "msn": "Error al traer el empleado asociado" }

❌ 500 – Error al actualizar Employee

{ "valor": false, "msn": "Error al aceptar terminos y condiciones", "error": { ...respuesta ERP... } }

❌ 500 – Error inesperado

{ "valor": false, "msn": "Error en el servicio" }

🧩 Lógica Interna

  1. Validación inicial
    Si email_logued viene vacío → error

  2. Buscar Employee asociado al usuario
    Consulta en ERP:

     

     

    GET Employee?limit=None &fields=["name","terminos_y_condiciones_app"] &filters=[["user_id","=", email_logued]]

     

  3. Manejo de errores:

    • Respuesta sin data

    • Array vacío

  4. Actualizar Employee


    PUT Employee/{employee_name} { "terminos_y_condiciones_app": 1, "fecha_terminos_y_condiciones": "Y-m-d H:i:s" }
  5. Si el response incluye "data" → éxito
    Si no → error


📚 Schemas

Request Schema

{ "email_logued": "string" }

Response Schema

{ "valor": "boolean", "msn": "string", "error": "object (opcional)" }

🧪 Ejemplo de Uso (curl)

curl -X POST https://midominio.com/api/set-terms-and-conditions \ -H "Content-Type: application/json" \ -d '{"email_logued":"user@example.com"}'