Skip to content

🧾 Obtener Facturas del Usuario

Devuelve todas las facturas vinculadas al usuario autenticado: identificador, fecha de emisión y el PDF descargable.

GET

/api/invoices/user Auth JWT Requiere token en header Authorization


  1. Autenticación — Extrae el usuario autenticado desde ctx.state.user. Si no hay sesión, responde 401.

  2. Búsqueda del usuario — Localiza al usuario en Strapi por su email para confirmar que existe en la base de datos.

  3. Consulta de facturas — Llama a getUserInvoices(email) que filtra la colección Invoice por la relación user.email.

  4. Respuesta — Retorna el array invoices con invoiceId, date y los metadatos del PDF (name, url, ext, mime).


GET /api/invoices/user
Authorization: Bearer <JWT_TOKEN>
{
"invoices": [
{
"invoiceId": "ORD-2024-001",
"date": "2024-03-15",
"file": {
"name": "factura-ORD-2024-001.pdf",
"url": "/uploads/factura_ORD_2024_001_abc123.pdf",
"ext": ".pdf",
"mime": "application/pdf"
}
}
]
}
const response = await fetch("/api/invoices/user", {
headers: {
Authorization: `Bearer ${token}`,
},
});
const data = await response.json();
data.invoices.forEach((invoice) => {
console.log(`${invoice.invoiceId}${invoice.date}`);
console.log(`Descargar: ${invoice.file.url}`);
});

ArchivoRol
src/api/invoice/controllers/invoice.tsControlador — valida auth y llama al servicio
src/api/invoice/services/invoice.tsServicio — consulta la colección Invoice
src/api/invoice/routes/custom-invoice.tsDefinición de la ruta
src/api/invoice/content-types/invoice/schema.jsonEsquema del content type Invoice