@{ var isEn = (Context.Request.Path.Value ?? "").StartsWith("/en"); var isEs = (Context.Request.Path.Value ?? "").StartsWith("/es"); string T(string pt, string es, string en) => isEn ? en : isEs ? es : pt; Layout = "~/Views/Shared/_Layout.cshtml"; ViewData["Title"] = T( "API para Desenvolvedores — QR Rapido", "API para Desarrolladores — QR Rapido", "Developer API — QR Rapido"); }
API REST

@T("Gere QR codes diretamente na sua aplicação", "Generá QR codes directamente en tu aplicación", "Generate QR codes directly in your application")

@T("Integração simples, resposta rápida, múltiplos formatos de imagem.", "Integración simple, respuesta rápida, múltiples formatos de imagen.", "Simple integration, fast response, multiple image formats.")

@T("Plano Free inclui 5 QRs grátis e 500 requisições/mês", "Plan Free incluye 5 QRs gratis y 500 solicitudes/mes", "Free plan includes 5 QRs and 500 requests/month")

@T("Como funciona", "Cómo funciona", "How it works")

@T("Três passos para integrar QR codes na sua stack", "Tres pasos para integrar QR codes en tu stack", "Three steps to integrate QR codes into your stack")

1
@T("Crie sua conta", "Creá tu cuenta", "Create your account")

@T("Cadastro gratuito com Google ou Microsoft. Nenhum cartão necessário para começar.", "Registro gratuito con Google o Microsoft. No se necesita tarjeta para empezar.", "Free sign-up with Google or Microsoft. No card needed to start.")

2
@T("Gere sua API key", "Generá tu API key", "Generate your API key")

@T("No portal do desenvolvedor, crie uma chave em segundos. Até 5 chaves ativas por conta.", "En el portal del desarrollador, creá una clave en segundos. Hasta 5 claves activas por cuenta.", "In the developer portal, create a key in seconds. Up to 5 active keys per account.")

3
@T("Faça sua primeira chamada", "Hacé tu primera llamada", "Make your first call")

@T("Envie um POST com o conteúdo e receba o QR como PNG, WebP ou SVG.", "Enviá un POST con el contenido y recibí el QR como PNG, WebP o SVG.", "Send a POST with the content and receive the QR as PNG, WebP or SVG.")

@T("Formatos de imagem suportados", "Formatos de imagen soportados", "Supported image formats")

@T("Escolha o formato ideal para cada caso de uso", "Elegí el formato ideal para cada caso de uso", "Choose the ideal format for each use case")

PNG
@T("Compatibilidade universal", "Compatibilidad universal", "Universal compatibility")

@T("Funciona em qualquer plataforma, navegador e sistema operacional. Ideal para e-mail, impressão e exibição em telas.", "Funciona en cualquier plataforma, navegador y sistema operativo. Ideal para e-mail, impresión y visualización en pantallas.", "Works on any platform, browser and OS. Ideal for email, printing and screen display.")

@T("Todos os planos", "Todos los planes", "All plans")
WebP
@T("Menor tamanho, alta qualidade", "Menor tamaño, alta calidad", "Smaller size, high quality")

@T("Até 30% menor que PNG. Perfeito para aplicações web e mobile onde performance importa.", "Hasta 30% más pequeño que PNG. Perfecto para aplicaciones web y mobile donde el rendimiento importa.", "Up to 30% smaller than PNG. Perfect for web and mobile apps where performance matters.")

@T("Todos os planos", "Todos los planes", "All plans")
SVG
@T("Vetorial, escala infinita", "Vectorial, escala infinita", "Vector, infinite scale")

@T("Qualidade perfeita em qualquer tamanho, de um crachá a um outdoor. Arquivo menor e personalizável via CSS.", "Calidad perfecta en cualquier tamaño, desde una credencial hasta una cartelera. Archivo más pequeño y personalizable vía CSS.", "Perfect quality at any size, from a badge to a billboard. Smaller file and customizable via CSS.")

@T("Planos pagos", "Planes pagos", "Paid plans")

@T("Fácil de integrar", "Fácil de integrar", "Easy to integrate")

@T("Uma chamada. Um QR code. Em qualquer linguagem.", "Una llamada. Un QR code. En cualquier lenguaje.", "One call. One QR code. In any language.")

curl -X POST https://qrrapido.site/api/v1/QRManager/generate \
  -H "X-API-Key: qr_SuaChaveAqui" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "https://seusite.com.br",
    "type": "url",
    "outputFormat": "png"
  }' \
  --output qrcode.png
const response = await fetch(
  'https://qrrapido.site/api/v1/QRManager/generate',
  {
    method: 'POST',
    headers: {
      'X-API-Key': 'qr_SuaChaveAqui',
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      content: 'https://seusite.com.br',
      type: 'url',
      outputFormat: 'webp'   // 'png' | 'webp' | 'svg'
    })
  }
);

const blob = await response.blob();
const url  = URL.createObjectURL(blob);
document.querySelector('#qr-img').src = url;
import requests

response = requests.post(
    'https://qrrapido.site/api/v1/QRManager/generate',
    headers={
        'X-API-Key': 'qr_SuaChaveAqui',
        'Content-Type': 'application/json'
    },
    json={
        'content': 'https://seusite.com.br',
        'type': 'url',
        'outputFormat': 'svg'   # 'png' | 'webp' | 'svg'
    }
)

with open('qrcode.svg', 'wb') as f:
    f.write(response.content)
@T("A API retorna a imagem diretamente no corpo da resposta (binário). Header ", "La API devuelve la imagen directamente en el cuerpo de la respuesta (binario). Header ", "The API returns the image directly in the response body (binary). Header ") Content-Type: image/png@T(" | ", " | ", " | ")image/webp@T(" | ", " | ", " | ")image/svg+xml

@T("Tipos de QR suportados", "Tipos de QR soportados", "Supported QR types")

@T("Passe o campo", "Pasá el campo", "Pass the field") type @T("na requisição", "en la solicitud", "in the request")

@foreach (var item in new[] { ("url", "fa-link", "URL"), ("text", "fa-font", "Texto"), ("wifi", "fa-wifi", "WiFi"), ("vcard", "fa-address-card","vCard"), ("pix", "fa-dollar-sign", "PIX"), ("whatsapp", "fa-whatsapp", "WhatsApp"), ("email", "fa-envelope", "E-mail"), ("sms", "fa-sms", "SMS"), }) {
@item.Item3
@item.Item1
}

@T("Planos para cada escala", "Planes para cada escala", "Plans for every scale")

@T("De projetos pessoais a sistemas de alto volume.", "De proyectos personales a sistemas de alto volumen.", "From personal projects to high-volume systems.")

Free
R$0
  • 10 req/min
  • 500 req/@T("mês","mes","month")
  • PNG + WebP
  • SVG
Starter
@T("Faça login para ver o preço", "Iniciá sesión para ver el precio", "Log in to see pricing")
  • 50 req/min
  • 10.000 req/@T("mês","mes","month")
  • PNG + WebP + SVG
  • @T("Suporte e-mail","Soporte e-mail","Email support")
Pro
@T("Popular","Popular","Popular")
@T("Faça login para ver o preço", "Iniciá sesión para ver el precio", "Log in to see pricing")
  • 200 req/min
  • 100.000 req/@T("mês","mes","month")
  • PNG + WebP + SVG
  • @T("Suporte prioritário","Soporte prioritario","Priority support")
Business
@T("Faça login para ver o preço", "Iniciá sesión para ver el precio", "Log in to see pricing")
  • 500 req/min
  • 500.000 req/@T("mês","mes","month")
  • PNG + WebP + SVG
  • @T("Suporte dedicado + SLA","Soporte dedicado + SLA","Dedicated support + SLA")
@T( "Os preços dos planos pagos estão disponíveis após o login. O cadastro é gratuito e leva menos de 30 segundos.", "Los precios de los planes pagos están disponibles después del inicio de sesión. El registro es gratuito y lleva menos de 30 segundos.", "Paid plan pricing is available after logging in. Sign-up is free and takes under 30 seconds." )

@T("Pronto para integrar?", "¿Listo para integrar?", "Ready to integrate?")

@T("Crie sua conta, gere sua chave e faça o primeiro QR em menos de 2 minutos.", "Creá tu cuenta, generá tu clave y hacé el primer QR en menos de 2 minutos.", "Create your account, generate your key and make the first QR in under 2 minutes.")

@if (ViewBag.IsAuthenticated == true) { @T("Ir ao Portal do Desenvolvedor", "Ir al Portal del Desarrollador", "Go to Developer Portal") } else { @T("Começar grátis agora", "Empezar gratis ahora", "Start for free now") }
@section Scripts { }