Códigos QR
Crea códigos QR con logo, colores, estilos y tipos de contenido, luego listalos o actualízalos.
Tipos admitidos
Pasa type como una de estas claves. Los campos de contenido cambian con el tipo.
- text
- url
- phone
- sms
- facetime
- location
- wifi
- event
- vcard
- crypto
- paypal
- upi
- epc
- pix
POST/api/v1/qr-codesCrear código QR
Envía JSON en el cuerpo de la solicitud. name y type son obligatorios. Para tipos url, pasa url. Añade style, colores y qr_code_logo para igualar un código diseñado en el estudio. El tipo file no está disponible en la API.
| Nombre | Tipo | Obligatorio | Predeterminado | Descripción |
|---|---|---|---|---|
| name | string | Sí | — | Etiqueta guardada en el recurso. |
| type | string | Sí | url | Tipo de contenido. Una de las claves QR admitidas, excepto file. |
| url | string | No | — | URL de destino. Obligatorio cuando type es url. |
| text | string | No | — | Texto plano. Obligatorio cuando type es text. Para texto masivo, separa las líneas en este campo. |
| url_dynamic | boolean | No | false | Si es true, se crea un enlace corto y el QR codifica ese enlace para poder cambiar el destino después. |
| project_id | integer | No | — | Proyecto al que adjuntar el recurso. |
| is_bulk | boolean | No | false | Si es true y type es text, se crea un QR por cada línea de text. |
| style | string | No | square | Forma del módulo. Ejemplos: square, dot, rounded, heart, hexagon. |
| inner_eye_style | string | No | square | Forma del patrón de búsqueda interior. Ejemplos: square, dot, circle, rounded. |
| outer_eye_style | string | No | square | Forma del patrón de búsqueda exterior. Ejemplos: square, circle, rounded, flower. |
| size | integer | No | 500 | Tamaño de la imagen en píxeles, 50–2000. |
| margin | integer | No | 0 | Módulos de zona de silencio, 0–25. |
| ecc | string | No | M | Corrección de errores: L, M, Q o H. Usa H cuando añadas un logo. |
| foreground_type | string | No | color | color o gradient. |
| foreground_color | string | No | #000000 | Color de los módulos en HEX. |
| foreground_gradient_style | string | No | horizontal | vertical, horizontal, diagonal, inverse_diagonal o radial. |
| foreground_gradient_one | string | No | — | Primer color HEX del degradado. |
| foreground_gradient_two | string | No | — | Segundo color HEX del degradado. |
| background_color | string | No | #ffffff | Color HEX de fondo. Manténlo más claro que los módulos. |
| background_color_transparency | integer | No | 0 | Transparencia del fondo, 0–100. |
| custom_eyes_color | boolean | No | false | Si es true, los ojos usan eyes_inner_color y eyes_outer_color. |
| eyes_inner_color | string | No | #000000 | Color HEX del ojo interior. |
| eyes_outer_color | string | No | #000000 | Color HEX del ojo exterior. |
| qr_code_logo | string | No | — | URL de la imagen del logo o clave del archivo subido. |
| qr_code_logo_size | number | No | 25 | Tamaño del logo como porcentaje del QR, 5–40. |
| frame | string | No | — | Clave de marco opcional del estudio. |
| frame_text | string | No | — | Leyenda dibujada en el marco. |
Campos de contenido por tipo
| Nombre | Tipo | Obligatorio | Predeterminado | Descripción |
|---|---|---|---|---|
| phone | string | No | — | Número de teléfono cuando type es phone. |
| sms | string | No | — | Número de teléfono cuando type es sms. |
| sms_body | string | No | — | Cuerpo del mensaje SMS. |
| string | No | — | Destinatario cuando type es email. | |
| email_subject | string | No | — | Asunto del correo. |
| email_body | string | No | — | Cuerpo del correo. |
| string | No | — | Número de WhatsApp, solo dígitos. | |
| whatsapp_body | string | No | — | Texto de WhatsApp precargado. |
| wifi_ssid | string | No | — | Nombre de la red cuando type es wifi. |
| wifi_password | string | No | — | Contraseña Wi-Fi. |
| wifi_encryption | string | No | WPA | nopass, WEP, WPA o WPA/WPA2. |
| location_latitude | number | No | — | Latitud cuando type es location. |
| location_longitude | number | No | — | Longitud cuando type es location. |
| event | string | No | — | Título del evento cuando type es event. |
| event_start_datetime | string | No | — | Fecha y hora ISO del inicio del evento. |
| vcard first_name / last_name / email | string | No | — | Campos vCard: first_name, last_name, email y el resto de claves del estudio. |
Ejemplo de solicitud
curl -X POST 'https://forqrcode.com/api/v1/qr-codes' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"name": "Website QR",
"type": "url",
"url": "https://forqrcode.com",
"style": "rounded",
"size": 500,
"ecc": "M",
"foreground_color": "#17191c",
"background_color": "#ffffff",
"qr_code_logo": "https://forqrcode.com/logo.png",
"qr_code_logo_size": 25
}'Más ejemplos
QR con degradado
curl -X POST 'https://forqrcode.com/api/v1/qr-codes' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"name": "Gradient QR",
"type": "url",
"url": "https://forqrcode.com",
"style": "dot",
"inner_eye_style": "circle",
"outer_eye_style": "rounded",
"foreground_type": "gradient",
"foreground_gradient_style": "radial",
"foreground_gradient_one": "#5c8b29",
"foreground_gradient_two": "#25492f",
"background_color": "#ffffff",
"size": 600
}'QR de Wi-Fi
curl -X POST 'https://forqrcode.com/api/v1/qr-codes' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"name": "Office Wi-Fi",
"type": "wifi",
"wifi_ssid": "Guest",
"wifi_password": "correct-horse",
"wifi_encryption": "WPA",
"style": "square",
"ecc": "H"
}'Ejemplo de respuesta
{
"data": {
"id": 1,
"type": "url",
"name": "Website QR",
"qr_code": "https://…/qr-codes/…/qr.svg",
"settings": {
"style": "rounded",
"size": 500,
"ecc": "M"
}
}
}GET/api/v1/qr-codesListar código QR
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| page | integer | No | Page number (default 1) |
| results_per_page | integer | No | Items per page (default 25, max 100) |
| search | string | No | Search term |
| search_by | string | No | Column to search |
| order_by | string | No | Sort column |
| order_type | string | No | asc or desc |
| datetime_start | string | No | ISO datetime filter start |
| datetime_end | string | No | ISO datetime filter end |
| project_id | integer | No | — |
| type | string | No | — |
curl -X GET 'https://forqrcode.com/api/v1/qr-codes' \ -H 'Authorization: Bearer YOUR_API_KEY'
GET/api/v1/qr-codes/{id}Leer un código QR
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| id | integer | Sí | — |
curl -X GET 'https://forqrcode.com/api/v1/qr-codes/{id}' \
-H 'Authorization: Bearer YOUR_API_KEY'PATCH/api/v1/qr-codes/{id}Actualizar código QR
| Nombre | Tipo | Obligatorio | Predeterminado | Descripción |
|---|---|---|---|---|
| id | integer | Sí | — | — |
| name | string | No | — | Etiqueta guardada en el recurso. |
| type | string | No | url | Tipo de contenido. Una de las claves QR admitidas, excepto file. |
| url | string | No | — | URL de destino. Obligatorio cuando type es url. |
| text | string | No | — | Texto plano. Obligatorio cuando type es text. Para texto masivo, separa las líneas en este campo. |
| url_dynamic | boolean | No | false | Si es true, se crea un enlace corto y el QR codifica ese enlace para poder cambiar el destino después. |
| project_id | integer | No | — | Proyecto al que adjuntar el recurso. |
| is_bulk | boolean | No | false | Si es true y type es text, se crea un QR por cada línea de text. |
| style | string | No | square | Forma del módulo. Ejemplos: square, dot, rounded, heart, hexagon. |
| inner_eye_style | string | No | square | Forma del patrón de búsqueda interior. Ejemplos: square, dot, circle, rounded. |
| outer_eye_style | string | No | square | Forma del patrón de búsqueda exterior. Ejemplos: square, circle, rounded, flower. |
| size | integer | No | 500 | Tamaño de la imagen en píxeles, 50–2000. |
| margin | integer | No | 0 | Módulos de zona de silencio, 0–25. |
| ecc | string | No | M | Corrección de errores: L, M, Q o H. Usa H cuando añadas un logo. |
| foreground_type | string | No | color | color o gradient. |
| foreground_color | string | No | #000000 | Color de los módulos en HEX. |
| foreground_gradient_style | string | No | horizontal | vertical, horizontal, diagonal, inverse_diagonal o radial. |
| foreground_gradient_one | string | No | — | Primer color HEX del degradado. |
| foreground_gradient_two | string | No | — | Segundo color HEX del degradado. |
| background_color | string | No | #ffffff | Color HEX de fondo. Manténlo más claro que los módulos. |
| background_color_transparency | integer | No | 0 | Transparencia del fondo, 0–100. |
| custom_eyes_color | boolean | No | false | Si es true, los ojos usan eyes_inner_color y eyes_outer_color. |
| eyes_inner_color | string | No | #000000 | Color HEX del ojo interior. |
| eyes_outer_color | string | No | #000000 | Color HEX del ojo exterior. |
| qr_code_logo | string | No | — | URL de la imagen del logo o clave del archivo subido. |
| qr_code_logo_size | number | No | 25 | Tamaño del logo como porcentaje del QR, 5–40. |
| frame | string | No | — | Clave de marco opcional del estudio. |
| frame_text | string | No | — | Leyenda dibujada en el marco. |
Ejemplo de solicitud
curl -X PATCH 'https://forqrcode.com/api/v1/qr-codes/{id}' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"url": "https://forqrcode.com/pricing",
"foreground_color": "#5d2a1a"
}'DELETE/api/v1/qr-codes/{id}Eliminar código QR
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| id | integer | Sí | — |
curl -X DELETE 'https://forqrcode.com/api/v1/qr-codes/{id}' \
-H 'Authorization: Bearer YOUR_API_KEY'Los nombres de parámetros y ejemplos JSON se muestran en inglés. Sustituye YOUR_API_KEY por una clave de tu cuenta.