Guía de la API de Códigos QR para Desarrolladores
La API de Códigos QR permite a los usuarios generar códigos QR de alta calidad de manera programática, o integrar la generación rápida de códigos QR en grandes cantidades. Ofrece una manera simple y eficiente de crear códigos QR para diversos casos de uso, como pagos automatizados, integración en aplicaciones, generación de etiquetas de productos, entre otros. La API soporta diferentes opciones de personalización, incluyendo tamaño, color, forma, borde, tipo, etc. Los desarrolladores pueden integrarla en sus aplicaciones realizando solicitudes HTTP y proporcionando una clave API para la autenticación, o usando nuestras bibliotecas.
Clave API
La clave API para tu cuenta se puede crear en la página de cuenta. La clave API se puede incluir en las solicitudes como un parámetro de URL, por ejemplo: https://genqrcode.com/api/public/generate?apikey=TU_API_KEY, o dentro del encabezado `GenQRCode-apikey`. Para el resto de esta guía, asumiremos el uso del encabezado, ya que esta es la opción más segura, pero ambos métodos pueden ser utilizados de manera intercambiable. La clave API debe ser considerada como un secreto y no debes compartirla con nadie.
Limitación de tasa
Se aplica la limitación de tasa para garantizar un uso justo de la API. El nivel gratuito incluye 180 tokens por hora. Los códigos QR normales cuestan 1 token cada uno, con un límite máximo de 180 tokens por hora, lo que equivale a 1 código QR cada 20 segundos. Además, los puntos finales de llamadas rápidas costarán 1/50 de un token, lo que equivale a 2.5 códigos QR por segundo. Se recomienda usar estos puntos finales rápidos cuando no se requiera personalización del código QR. Si se excede el límite de tokens, se devolverá un código de estado 429, lo que indica que la solicitud ha sido limitada por la tasa.
El uso de múltiples cuentas para eludir estos límites está prohibido. Si se necesitan límites más altos, por favor contáctanos para obtener información sobre precios.
Bibliotecas
API de Códigos QR Estáticos
Tipos de Códigos QR
El tipo de código QR es la base de cada código QR. Determina cómo se codifican los datos y cómo se comporta el código QR al ser escaneado. Elegir el tipo adecuado es esencial, ya que afecta la funcionalidad de tu código QR. A continuación, encontrarás todos los tipos disponibles para elegir.
Text
Parámetro | Tipo | Opcional | Descripción |
---|---|---|---|
type | Int | false | Use 0 For a Text QR Code |
text | String | false | El texto dentro del código QR. |
WiFi
Parámetro | Tipo | Opcional | Descripción | ||||||
---|---|---|---|---|---|---|---|---|---|
type | Int | false | Use 1 For a WiFi QR Code | ||||||
network | String | false | El nombre de la red Wi-Fi. | ||||||
password | String | true | La contraseña de la red Wi-Fi. | ||||||
hidden | String | true | Si la red Wi-Fi está oculta. | ||||||
encryption | String | true |
La encriptación utilizada para la red Wi-Fi.
Valores posibles
|
SMS
Parámetro | Tipo | Opcional | Descripción |
---|---|---|---|
type | Int | false | Use 2 For a SMS QR Code |
text | String | false | El mensaje de texto. |
number | String | false | El número de teléfono. |
Parámetro | Tipo | Opcional | Descripción |
---|---|---|---|
type | Int | false | Use 3 For a Email QR Code |
String | true | La dirección de correo electrónico en el campo "Para". | |
subject | String | true | El asunto del correo electrónico. |
message | String | true | El mensaje del correo electrónico. |
Phone
Parámetro | Tipo | Opcional | Descripción |
---|---|---|---|
type | Int | false | Use 4 For a Phone QR Code |
number | String | false | El número de teléfono. |
Crypto
Parámetro | Tipo | Opcional | Descripción |
---|---|---|---|
type | Int | false | Use 5 For a Crypto QR Code |
cryptotype | String | false | El tipo de criptomoneda a enviar. |
address | String | false | La dirección de criptomoneda del destinatario. |
amount | String | true | La cantidad de criptomoneda a enviar. |
vCard
Parámetro | Tipo | Opcional | Descripción |
---|---|---|---|
type | Int | false | Use 6 For a vCard QR Code |
vc_first_name | String | false | El primer nombre de la vCard. |
vc_last_name | String | false | El apellido de la vCard. |
vc_company | String | true | La empresa. |
vc_job | String | true | El trabajo. |
vc_street | String | true | La calle. |
vc_city | String | true | La ciudad. |
vc_state | String | true | El estado. |
vc_zip | String | true | El código postal. |
vc_country | String | true | El país. |
vc_phone | String | true | El número de teléfono. |
vc_mobile | String | true | El número de teléfono móvil. |
vc_fax | String | true | El número de fax. |
vc_website | String | true | La URL del sitio web. |
vc_email | String | true | La dirección de correo electrónico. |
Parámetro | Tipo | Opcional | Descripción |
---|---|---|---|
type | Int | false | Use 7 For a Whatsapp QR Code |
number | String | false | El número de teléfono. |
text | String | true | El mensaje de WhatsApp. |
vEvent
Parámetro | Tipo | Opcional | Descripción |
---|---|---|---|
type | Int | false | Use 8 For a vEvent QR Code |
ve_summary | String | true | El resumen del vEvent. |
ve_description | String | true | La descripción del vEvent. |
ve_location | String | true | La ubicación del vEvent. |
ve_timezone | String | true | La zona horaria de la hora de inicio y finalización del vEvent. Por ejemplo, use "Europe/Amsterdam" para la zona horaria de Ámsterdam. |
ve_url | String | true | La URL del vEvent. |
ve_start | String | true | La hora de inicio del vEvent. Por ejemplo, use "20250101T083000" para el 1 de enero de 2025 a las 8:30. |
ve_end | String | true | La hora de finalización del vEvent. Por ejemplo, use "20250101T093000" para el 1 de enero de 2025 a las 9:30. |
Geo
Parámetro | Tipo | Opcional | Descripción |
---|---|---|---|
type | Int | false | Use 9 For a Geo QR Code |
ge_latitude | String | false | La latitud a codificar. |
ge_longitude | String | false | La longitud a codificar. |
Ejemplo de código QR de texto
URL | https://api.genqrcode.com/public/generate |
---|---|
Método de solicitud | POST |
Encabezados | GenQRCode-apikey: API_KEY |
Cuerpo | { "type": 0, "text": "https://genqrcode.com" } |
Respuesta | ![]() |
Ejemplo de código QR de Wi-Fi
URL | https://api.genqrcode.com/public/generate |
---|---|
Método de solicitud | POST |
Encabezados | GenQRCode-apikey: API_KEY |
Cuerpo | { "type": 1, "network": "GenQRCode", "password": false, "hidden": false, "encryption": "wpa" } |
Respuesta | ![]() |
Parámetros generales
Aquí están todos los parámetros generales personalizables descritos sobre cómo usarlos.
Parámetro | Tipo | Valor por defecto | Descripción | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
imageformat | String | png |
El formato de imagen del código QR.
Valores posibles
|
||||||||||||||||||||
bordersize | Int | 4 | Tamaño del borde alrededor del código QR. | ||||||||||||||||||||
width | Int | 500 | Ancho del código QR. Tamaño máximo de 2000. | ||||||||||||||||||||
height | Int | 500 | Altura del código QR. Tamaño máximo de 2000. |
Parámetros de color
Aquí están todos los parámetros personalizables de color descritos sobre cómo usarlos.
Parámetro | Tipo | Valor por defecto | Descripción |
---|---|---|---|
color | String | #000000 | El color del código QR. El formato debe ser #RRGGBB o #RRGGBBAA. Los valores RGBA están en formato hexadecimal, que va de 00 a FF. |
custom_color_pattern | String | 1 | El patrón de colores a usar. Por ejemplo, si los colores son #ff0000, #00ff00 y #0000ff, y el patrón es 1,2,3,3,2,1, los colores se alternarán según ese patrón. Se proporcionará un ejemplo más adelante en la guía. |
background_color | String | #FFFFFF | El color de fondo del código QR. Para hacer que el fondo del código QR sea transparente, se debe establecer el canal alfa en 00. Por ejemplo, #00000000. |
inner_eye_color | String | #000000 | El color de los ojos internos del código QR. |
outer_eye_color | String | #000000 | El color de los ojos externos del código QR. |
frame_color | String | #000000 | El color del marco alrededor del código QR. Se debe habilitar un marco para que tenga efecto. |
Ejemplo de código QR de color
URL | https://api.genqrcode.com/public/generate |
---|---|
Método de solicitud | POST |
Encabezados | GenQRCode-apikey: API_KEY |
Cuerpo | { "type": 0, "text": "https://genqrcode.com", "color": "#ff0000", "background_color": "#aaffaa", "inner_eye_color": "#ffaaaa", "outer_eye_color": "#ffaaff" } |
Respuesta | ![]() |
Ejemplo de código QR con patrón de color
URL | https://api.genqrcode.com/public/generate |
---|---|
Método de solicitud | POST |
Encabezados | GenQRCode-apikey: API_KEY |
Cuerpo | { "type": 0, "text": "https://genqrcode.com", "color": "#e81416,#faeb36,#79c314,#487de7,#4b369d,#70369d", "custom_color_pattern": "1,1,2,2,3,3,4,4,5,5,6,6" } |
Respuesta | ![]() |
Parámetros de marco, forma y logo
Aquí están todos los parámetros personalizables de marco, forma y logo descritos sobre cómo usarlos.
Parámetro | Tipo | Valor por defecto | Descripción |
---|---|---|---|
style | Int | 0 |
Estilo de los cuadrados del código QR.
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
inner_eye_style | Int | 0 |
Estilo de los ojos internos del código QR.
0
1
2
3
4
5
6
7
|
outer_eye_style | Int | 0 |
Estilo de los ojos externos del código QR.
0
1
2
3
4
5
6
|
frame_style | Int | 0 |
Estilo del marco alrededor del código QR.
0
1
2
3
4
5
6
7
8
9
10
11
12
13
|
frame_text | String | SCAN ME | El texto dentro del marco. Un marco con texto debe ser configurado antes de que esto sea visible. |
logo | String |
El logo a usar dentro del código QR.
youtube
![]()
wifi
![]()
google-maps
![]()
facebook
![]()
spotify
![]()
threads
![]()
zoom
![]()
instagram
![]()
linkedin
![]()
genqrcode
![]()
google-drive
![]()
airbnb
![]()
skype
![]()
snapchat
![]()
twitter
![]()
x-twitter
![]()
reddit
![]() |
|
logo_remove_background | Boolean | false | Si se debe eliminar el fondo detrás del logo. |
Ejemplo de código QR con logo y forma
URL | https://api.genqrcode.com/public/generate |
---|---|
Método de solicitud | POST |
Encabezados | GenQRCode-apikey: API_KEY |
Cuerpo | { "type": 0, "text": "https://x.com/genqrcode", "style": 22, "inner_eye_style": 1, "outer_eye_style": 4, "frame": 10, "frame_text": "My X Page", "logo": "x-twitter", "logo_remove_background":true } |
Respuesta | ![]() |
Ejemplo de logo personalizado
Para usar un logo personalizado, necesitamos cargar nuestro logo mediante una solicitud de datos de formulario multipart. El resultado se puede usar en el campo de logo.
URL | https://api.genqrcode.com/public/upload/logo |
---|---|
Método de solicitud | POST |
Encabezados | GenQRCode-apikey: API_KEY Content-Type: multipart/form-data |
Respuesta | 586d0136af8a06e4a2b50cf9f2af0b72 |
API de Códigos QR Rápidos
La API de Códigos QR Rápidos solo cuesta 1/50 de los tokens de la API normal. Los códigos QR están optimizados para velocidad y tamaño de descarga. Aunque soporta todos los tipos de códigos QR, solo soporta algunos parámetros de personalización.
Parámetros de Códigos QR Rápidos
Aquí están todos los parámetros de Códigos QR Rápidos descritos sobre cómo usarlos.
Parámetro | Tipo | Valor por defecto | Descripción | ||||
---|---|---|---|---|---|---|---|
imageformat | String | png |
El formato de imagen del código QR.
Valores posibles
|
||||
bordersize | Int | 4 | Tamaño del borde alrededor del código QR. | ||||
width | Int | 500 | Ancho del código QR. Se redimensionará automáticamente al tamaño más cercano configurado para evitar artefactos de redimensionamiento. Tamaño máximo de 4000. | ||||
height | Int | 500 | Altura del código QR. Se redimensionará automáticamente al tamaño más cercano configurado para evitar artefactos de redimensionamiento. Tamaño máximo de 4000. |
Ejemplo de código QR de texto rápido
URL | https://api.genqrcode.com/public/fastgenerate |
---|---|
Método de solicitud | POST |
Encabezados | GenQRCode-apikey: API_KEY |
Cuerpo | { "imageformat": "png", "type": 0, "text": "https://genqrcode.com" } |
Respuesta | ![]() |
API de Lotes Rápidos de Códigos QR
Ejemplo de código QR de texto rápido en lote
URL | https://api.genqrcode.com/public/fastbatch |
---|---|
Método de solicitud | POST |
Encabezados | GenQRCode-apikey: API_KEY |
Cuerpo | { "QR Code 1": { "text": "https://genqrcode.com", "type": 0, "width": 500, "bordersize": 4, "imageformat": "png", "height": 500 }, "QR Code 2": { "text": "https://genqrcode.com/dynamicview", "type": 0, "width": 500, "bordersize": 4, "imageformat": "png", "height": 500 }, "QR Code 3": { "text": "https://genqrcode.com/pricing", "type": 0, "width": 500, "bordersize": 4, "imageformat": "png", "height": 500 } } |
Respuesta | QR Codes in a zip file. |