Etiqueta Grande
Genera la etiqueta completa tamaño carta con todos los detalles del envío.
GET /api/guias/etiqueta/{guia}
Permiso requerido: guias.read
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
guia | string | Número de guía (ej: URU030856) |
Contenido de la Etiqueta
- Logo + datos de sucursal origen
- Código de barras + QR de tracking
- Información de remitente y destinatario
- Tabla de contenido declarado
- Desglose de costos: flete, seguro, recolección, maniobra, domicilio
- Subtotal, IVA, Total
- Espacios para firmas
- Disclaimer legal
Ejemplo
curl -X GET "https://ws-api.masaprisaoperativo.com/api/guias/etiqueta/URU030856" \
-H "Authorization: Bearer {token}"
Respuesta
{
"response": "OK",
"message": "Etiqueta grande generada exitosamente",
"data": {
"guia": "URU030856",
"pdf_base64": "JVBERi0xLjQK...",
"filename": "URU030856.pdf"
}
}
Decodificar el PDF
El PDF viene en Base64. Aquí cómo decodificarlo:
JavaScript
const response = await fetch('/api/guias/etiqueta/URU030856', {
headers: { 'Authorization': 'Bearer ' + token }
});
const json = await response.json();
// Decodificar Base64 a Blob
const pdfData = atob(json.data.pdf_base64);
const bytes = new Uint8Array(pdfData.length);
for (let i = 0; i < pdfData.length; i++) {
bytes[i] = pdfData.charCodeAt(i);
}
const blob = new Blob([bytes], { type: 'application/pdf' });
// Abrir en nueva ventana
window.open(URL.createObjectURL(blob));
// O descargar
const a = document.createElement('a');
a.href = URL.createObjectURL(blob);
a.download = json.data.filename;
a.click();
C#
byte[] pdfBytes = Convert.FromBase64String(response.Data.PdfBase64);
File.WriteAllBytes(response.Data.Filename, pdfBytes);
// O retornar como FileResult en un controller
return File(pdfBytes, "application/pdf", filename);
PHP
$pdfContent = base64_decode($response['data']['pdf_base64']);
file_put_contents($response['data']['filename'], $pdfContent);
// O mostrar en navegador
header('Content-Type: application/pdf');
header('Content-Disposition: inline; filename="' . $filename . '"');
echo $pdfContent;
consejo
Esta etiqueta es ideal para documentación interna y archivo. Para pegar en paquetes, usa la Etiqueta Pequeña.