Ir al contenido principal

Actualizar terminos de supervision (1) - [updatequestion]

🧾 Descripción

Actualiza los campos (preguntas) de un documento del Doctype “Check List del Supervisor Nacional 2” dentro del ERP, permitiendo modificar dinámicamente cualquier grupo de preguntas o valores enviados desde la aplicación.

El servicio solo actualiza los campos enviados, y valida previamente que realmente existan cambios antes de ejecutar la operación.


🚀 Endpoint

POST /updatequestion


📥 Request Body

{ "questions": "{...}", "name": "CHK-LIST-0001" }

📌 Parámetros

Campo Tipo Obligatorio Descripción
questions string (JSON-stringified) ✔️ Objeto JSON con los campos a modificar.
name string ✔️ ID del documento del check list que se actualizará.

Ejemplo del campo questions:

{ "pregunta_1": "SI", "pregunta_2": "NO", "observacion": "Todo conforme" }

🔐 Seguridad

Requiere autenticación interna mediante: $this->general->ServiceErp(...)

➡️ Se usa el token y contexto configurado internamente para comunicarse con el ERP.


🧠 Flujo del Servicio (resumen real)

  1. Valida parámetros obligatorios
    Si questions o name viene vacío, retorna error de validación.

  2. Valida que existan cambios reales
    Si questions == '{}', se considera que no hubo modificación.

  3. Convierte a array el JSON recibido


    $questions = json_decode($questionsForm, true);
  4. Genera el payload a actualizar
    Todos los campos recibidos se envían directamente al ERP.

  5. Realiza la actualización mediante API ERP


    PUT resource/Check List del Supervisor Nacional 2/{name}
  6. Retorna el resultado de la operación


📤 Response 200 – Ejemplos

✅ Actualización correcta

{ "valor": true, "msn": "Actualizado Correctamente" }

⚠️ No hubo cambios enviados

{ "valor": false, "msn": "Usted no realizo ningun cambio" }

❌ Error de validación

{ "valor": false, "msn": "El campo questions es obligatorio" }

❌ Falla en el PUT

{ "valor": false, "msn": "Error al actualizar" }

❗ Posibles Errores

Error Descripción
Parámetros vacíos Si questions o name está vacío.
Sin cambios Cuando el JSON está vacío ({}).
Error en ERP Si el PUT falla por permisos, campos inexistentes o problemas del servidor.
Error inesperado Respuesta falsa o nula desde ServiceErp.

📚 Schemas (datos usados)

✔ Check List del Supervisor Nacional 2 (PUT)

Campos dinámicos según las preguntas.
Ejemplo:

{ "pregunta_1": "SI", "pregunta_2": "NO", "observacion": "Correcto" }

🗃 Lógica en pseudo-código

questionsForm = request.questions name = request.name if questionsForm empty → return error if name empty → return error if questionsForm == "{}" → return "no hizo cambios" questions = decode(questionsForm) fields = questions update = PUT /resource/Check List del Supervisor Nacional 2/{name} with fields if update fails → return error return success