Leer QR y códigos de barras
Leer QR y códigos de barras es una API que lee los códigos QR y de barras que hay en una imagen o en un PDF y te devuelve su contenido en texto. Es la pareja de Generar QR y Código de barras, que los crean.
Cómo funciona
Le mandas la imagen (o el PDF) y te devuelve una lista con cada código que encuentra: de qué tipo es (QR, Code 128, EAN-13…) y qué dice. Lee varios códigos a la vez, aunque estén girados, pequeños o la foto no sea perfecta. La lectura se hace en nuestros propios servidores: la imagen no se envía a ningún servicio de terceros.
Aviso honesto: lee bien los códigos nítidos, girados, pequeños o con algo de ruido. Con fotos muy borrosas, códigos medio tapados o con muy poco contraste puede no encontrar nada: en ese caso devuelve una lista vacía, y el crédito se cobra igual porque el trabajo se hizo. Un PDF se lee página a página (hasta 20 páginas por llamada; elige cuáles con pages).
Lo único que necesitas
- Tu API key. La creas en tu panel con "+ Crear llave".
- En tu plataforma de automatización, un paso de tipo "HTTP Request" (n8n, Make, Zapier, Pipedream…).
Cómo usarlo en n8n
- Method:
POST· URL:https://api.cofferdock.com/code-reader - Send Headers:
x-api-key= tu llave - Send Body: archivo binario (en n8n: "n8n Binary File"), la imagen o el PDF
- El resultado trae
text(el contenido del primer código) ycodes(la lista de todos).
Opciones
| Opción | Por defecto | Para qué sirve |
|---|---|---|
formats | todos | Buscar solo ciertos tipos, por ejemplo QRCode o EAN13,Code128. |
max_codes | 20 | Cuántos códigos devolver como máximo (1 a 50). |
pages | todas | Solo en PDF: qué páginas leer, por ejemplo 1-3,5. |
Resumen de la API
- Endpoint:
POST https://api.cofferdock.com/code-reader - Auth: cabecera
x-api-key: TU_LLAVE. - Entrada: imagen o PDF a pelo (
image/*,application/pdf), o JSON{ "file": "<base64>" }. Imágenes: JPEG, PNG, WebP, GIF, TIFF o AVIF, hasta 50 megapíxeles (SVG no se admite). Los PNG con fondo transparente se leen sobre fondo blanco. - Motor: zxing-wasm (zxing-cpp compilado a WebAssembly, licencia MIT), en un hilo aparte del servidor. Prueba con la imagen reducida a 4 megapíxeles y, si no encuentra nada en una imagen más grande, otra vez con hasta 12.
- Formatos: QRCode, MicroQRCode, RMQRCode, Code128, Code39, Code93, Codabar, ITF, ITF14, EAN13, EAN8, UPCA, UPCE, ISBN, DataBar (y variantes), DataMatrix, PDF417, Aztec, MaxiCode y otros. Un UPC-A sale como EAN-13 con un 0 delante (es el mismo código).
- Errores:
400si no es una imagen ni un PDF, si el PDF tiene contraseña o más de 20 páginas sinpages;422si la lectura tarda demasiado (no se cobra);503conRetry-Aftersi el servidor está ocupado (no se cobra). - Límites: 30 peticiones/min por IP. Archivo de hasta 20 MB (50 MB en Business y Scale). PDF: hasta 20 páginas por llamada. 1 llamada = 1 crédito, también si no hay ningún código.
Opciones
| Opción | Por defecto | Descripción |
|---|---|---|
formats | todos | Lista de formatos (array o texto separado por comas, sin distinguir mayúsculas), o un grupo: AllLinear (1D), AllMatrix (2D), AllRetail, AllIndustrial. |
max_codes | 20 | 1–50. Máximo de códigos a devolver. |
pages | todas (hasta 20) | Solo PDF. Páginas a leer, desde 1: 1-3,5. |
scale | 2 | Solo PDF. 1–4. Resolución a la que se dibuja cada página antes de leerla: más alto es más nítido y más lento. |
Ejemplo
curl -X POST "https://api.cofferdock.com/code-reader" \
-H "x-api-key: TU_LLAVE" -H "Content-Type: image/jpeg" \
--data-binary @foto.jpg
Respuesta
{ "success": true, "text": "https://cofferdock.com",
"codes": [
{ "format": "QRCode", "text": "https://cofferdock.com", "content_type": "Text" },
{ "format": "EAN13", "text": "5901234123457", "content_type": "Text" } ],
"meta": { "count": 2, "used": 12, "remaining": 488 } }
Lo que recibes
text es el contenido del primer código (o null si no hay ninguno), pensado para usarlo directamente en tu flujo. codes es la lista de todos: format (el tipo), text (lo que dice) y content_type (Text, Binary, GS1…). Si un QR lleva datos que no son texto, también llega bytes_base64. En un PDF, cada código trae además page, el número de la página donde está.