--- title: "Como Gerar QR Codes pela API: Todos os Tipos Suportados" description: "Guia completo para gerar QR codes via API REST usando cada tipo disponível: URL, Pix, Wi-Fi, vCard, WhatsApp, SMS, e-mail e texto livre." keywords: "api qr code, gerar qr code api, qr code rest api, qrrapido api, tipos qr code" author: "QRRapido" date: 2026-03-08 lastmod: 2026-03-08 image: "" --- # Como Gerar QR Codes pela API: Todos os Tipos Suportados A API QRRapido suporta 8 tipos de QR code. Todos usam o mesmo endpoint — o que muda é o campo `type` e os campos específicos que compõem o `content`. ## Endpoint ``` POST /api/v1/QRManager/generate X-API-Key: sua_chave_aqui Content-Type: application/json ``` ## Estrutura Base da Requisição ```json { "content": "...", "type": "url", "size": 400, "primaryColor": "#000000", "backgroundColor": "#FFFFFF", "outputFormat": "png" } ``` | Campo | Tipo | Padrão | Descrição | |---|---|---|---| | `content` | string | obrigatório | Conteúdo do QR code | | `type` | string | `"url"` | Tipo do QR code (ver abaixo) | | `size` | int | `300` | Tamanho em pixels (100–2000) | | `primaryColor` | string | `"#000000"` | Cor dos módulos (hex) | | `backgroundColor` | string | `"#FFFFFF"` | Cor de fundo (hex) | | `outputFormat` | string | `"png"` | Formato: `png`, `webp`, `svg` | --- ## Tipo `url` — Link / URL O mais simples: qualquer URL válida. ```json { "type": "url", "content": "https://seusite.com.br/produto/123" } ``` > Use `https://` sempre que possível. QR codes com HTTP podem ser bloqueados por alguns leitores modernos. --- ## Tipo `pix` — Pagamento Pix O `content` deve ser a **chave Pix** do recebedor. A geração produz um QR de Pix estático (sem conexão com o Banco Central — veja o tutorial dedicado sobre Pix). ```json { "type": "pix", "content": "contato@suaempresa.com.br" } ``` Chaves aceitas: CPF/CNPJ (apenas dígitos), e-mail, telefone no formato `+5511999999999`, ou chave aleatória (UUID). --- ## Tipo `wifi` — Rede Wi-Fi O `content` usa o formato padrão `WIFI:`: ```json { "type": "wifi", "content": "WIFI:S:NomeDaRede;T:WPA;P:SenhaDaRede;;" } ``` | Parâmetro | Significado | Valores | |---|---|---| | `S:` | SSID (nome da rede) | texto | | `T:` | Tipo de segurança | `WPA`, `WEP`, `nopass` | | `P:` | Senha | texto | | `H:` | Rede oculta (opcional) | `true` / `false` | --- ## Tipo `vcard` — Cartão de Visita O `content` deve ser um vCard v3 completo: ```json { "type": "vcard", "content": "BEGIN:VCARD\nVERSION:3.0\nFN:João Silva\nORG:Empresa Ltda\nTEL:+5511999999999\nEMAIL:joao@empresa.com\nURL:https://empresa.com\nEND:VCARD" } ``` --- ## Tipo `whatsapp` — Link para WhatsApp ```json { "type": "whatsapp", "content": "https://wa.me/5511999999999?text=Olá%2C%20gostaria%20de%20saber%20mais" } ``` O número deve incluir código do país e DDD, sem espaços ou símbolos. O parâmetro `text` é opcional. --- ## Tipo `email` — E-mail com assunto e corpo ```json { "type": "email", "content": "mailto:contato@empresa.com?subject=Assunto&body=Mensagem%20inicial" } ``` --- ## Tipo `sms` — SMS pré-preenchido ```json { "type": "sms", "content": "sms:+5511999999999?body=Olá%2C%20quero%20mais%20informações" } ``` --- ## Tipo `texto` — Texto Livre Qualquer string de até 2048 caracteres: ```json { "type": "texto", "content": "Mesa 12 — Atendimento preferencial disponível no balcão central." } ``` --- ## Resposta de Sucesso ```json { "success": true, "qrCodeBase64": "iVBORw0KGgo...", "qrId": "abc123", "generationTimeMs": 180, "remainingCredits": 42, "fromCache": false, "format": "png", "mimeType": "image/png" } ``` Para exibir a imagem diretamente no HTML: ```html QR Code ``` --- ## Dicas Gerais - **Cores**: mantenha alto contraste entre `primaryColor` e `backgroundColor`. Evite amarelo sobre branco ou cinza claro sobre branco. - **Tamanho mínimo impresso**: use `size` ≥ 400 para impressões. Para uso digital (telas), 300 é suficiente. - **Cache**: requisições idênticas retornam `fromCache: true` sem consumir crédito adicional. - **Rate limit**: os headers `X-RateLimit-Remaining` e `X-Quota-Remaining` na resposta indicam seu saldo atual.