Denuncias(Url Demanda PDF (1)) - [pdf] 🧾 Descripción Este servicio obtiene la información completa de una denuncia registrada en el ERP (Frappe/ERPNext), validando primero que exista una denuncia cuyo código aleatorio coincida con el parámetro enviado. Una vez encontrada: Obtiene la información principal de la denuncia. Consulta nuevamente la denuncia para traer sus tablas hijas (por ejemplo table_16). Construye un array final con los datos completos. Genera un PDF oficial de la denuncia usando una plantilla Blade. Retorna el archivo descargable Demanda.pdf . Este servicio se utiliza para permitir a los usuarios descargar un reporte o constancia oficial de la denuncia registrada. 🚀 Endpoint GET /pdf/{codigo} 📌 El parámetro {codigo} corresponde al campo codigo_aleatorio de la denuncia. 📥 Parámetros URL Params Parámetro Tipo Obligatorio Descripción codigo string ✔ Código aleatorio que identifica la denuncia 📌 No recibe parámetros en el body. 🔐 Seguridad El servicio realiza llamadas internas al ERP a través de ServiceErp() , por lo que requiere autenticación válida configurada internamente. No necesita token desde el cliente. 🧠 Flujo del Servicio (Resumen real) 1️⃣ Buscar denuncia por código aleatorio Realiza un GET al recurso:  GET Denuncias?filters= [["codigo_aleatorio","=",]] Si no encuentra coincidencias → retorna error. 2️⃣ Para cada denuncia encontrada Hace un GET para traer la información completa del documento con sus tablas hijas:  GET Denuncias/{ name } Guarda el contenido de la tabla table_16 y arma un arreglo final. 3️⃣ Generar el PDF Usa:  PDF : :loadView ( "pdf/demanda" , [ "data" => $demandas_final [ 0 ]]) Lo genera en tamaño A5 , orientación portrait , y lo retorna como descarga:  Demanda.pdf 📤 Response – Ejemplo exitoso (PDF descargable) El navegador descargará directamente:  Demanda.pdf Con el contenido renderizado desde la vista pdf/demanda.blade.php . ❗ Posibles Errores 1. No existe la denuncia { "success" : false , "message" : "No se encontró la denuncia" } 2. Error consultando el ERP { "success" : false , "message" : "" } 3. La denuncia existe, pero falla la obtención completa (No rompe el flujo; simplemente ignora la denuncia afectada.) 📚 Schemas utilizados Denuncias (GET) Campos utilizados: { "name" : "string" , "codigo_aleatorio" : "string" , "table_16" : [ ... ], ...otros campos } PDF Output Basado en la vista:  resources/views/pdf/demanda.blade.php 🗃 Lógica en Pseudo-código body = { filters: [["codigo_aleatorio", "=", codigo]] , fields: [ "*" ] } demandas = GET Denuncias WHERE codigo_aleatorio=codigo if demandas is empty: return error foreach denuncia in demandas: detalle = GET Denuncias/{name} agregar table_16 al resultado final generar PDF usando vista "pdf/demanda" retornar archivo: Demanda.pdf