Saltar al contenido principal

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ámetroTipoDescripción
guiastringNú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.