Código de barras
Código de barras es una API que genera una imagen PNG de un código de barras (no QR: para eso está Código QR) a partir de un texto o número: para etiquetas de producto, inventario, entradas o cualquier cosa que se escanee con un lector.
Cómo funciona
Le mandas el dato (data) y el tipo de código (type), y te devuelve la imagen PNG lista. Por defecto sale en Code128, el más flexible (admite letras y números).
Tipos disponibles
| Tipo | Uso típico |
|---|---|
code128 | El más flexible: letras, números y símbolos. Por defecto. |
code39 | Clásico, letras mayúsculas y números. |
ean13 / ean8 | Productos de retail (el código de barras típico de un supermercado). |
upca / upce | Como EAN, el estándar habitual en EE. UU. |
itf14 | Cajas y paquetes de logística. |
datamatrix | Código 2D pequeño y denso (piezas, componentes electrónicos). |
pdf417 | Código 2D de alta capacidad (carnets, billetes de avión). |
aztec | Código 2D usado mucho en billetes de tren. |
Cada tipo exige que el dato tenga el formato correcto (por ejemplo, EAN-13 necesita 12 o 13 dígitos): si no encaja, la API responde con un error claro de qué está mal, no un 500 genérico.
Lo único que necesitas
- Tu API key. La creas en tu panel con "+ Crear llave". Se muestra una sola vez, así que cópiala y guárdala.
- En tu plataforma de automatización, un paso de tipo "HTTP Request" / "Hacer una petición HTTP" (lo tienen n8n, Make, Zapier, Pipedream…).
Cómo usarlo en n8n (paso a paso)
En el nodo HTTP Request:
- Method:
POST - URL:
https://api.cofferdock.com/barcode - Send Headers: actívalo y añade dos:
x-api-key= tu llave, yContent-Type=application/json - Send Body: actívalo → Body Content Type: JSON →
{ "data": "5901234123457", "type": "ean13" } - En Options → Response → Response Format: elige File
En Make: mismo método y URL, el mismo JSON en el Body, y trata la respuesta como fichero binario.
Opciones (dentro del JSON)
| Opción | Por defecto | Para qué sirve |
|---|---|---|
data | - | Obligatorio. El texto o número a codificar. |
type | code128 | Uno de la tabla de arriba. |
scale | 3 | 1 a 10: cuánto de grande sale la imagen. |
include_text | true | Mostrar el número/texto legible debajo del código. |
Resumen de la API
- Endpoint:
POST https://api.cofferdock.com/barcode - Auth: cabecera
x-api-key: TU_LLAVE. - Entrada: JSON, o el dato a pelo con
Content-Type: text/plain(opciones por query). - Motor: bwip-js, JS puro (sin binarios nativos ni servicio externo).
- Salida: siempre PNG.
- Límites: 30 peticiones/min por IP. Hasta 500 caracteres de dato. 1 llamada = 1 crédito.
Ejemplos
curl:
curl -X POST "https://api.cofferdock.com/barcode" \
-H "x-api-key: TU_LLAVE" \
-H "Content-Type: application/json" \
-d '{"data":"5901234123457","type":"ean13"}' \
--output codigo.png
JavaScript (Node 18+):
const r = await fetch('https://api.cofferdock.com/barcode', {
method: 'POST',
headers: { 'x-api-key': 'TU_LLAVE', 'Content-Type': 'application/json' },
body: JSON.stringify({ data: '5901234123457', type: 'ean13', output: 'image' }),
});
const buffer = Buffer.from(await r.arrayBuffer());
Respuesta
{ "success": true, "image": "iVBORw0KGgo...", "mime_type": "image/png",
"meta": { "type": "ean13", "size_bytes": 2588, "used": 12, "remaining": 488 } }
Lo que recibes
Por defecto (JSON): image en base64. Añade output=image para el binario directo, o output=url para un enlace temporal (dura 15 minutos).