@{ 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( "Temos planos para diferentes volumes de requisições, do uso pessoal ao alto volume empresarial. Todos os planos suportam PNG e WebP; os planos pagos liberam também o formato SVG.", "Tenemos planes para distintos volúmenes de solicitudes, desde uso personal hasta alto volumen empresarial. Todos los planes soportan PNG y WebP; los planes pagos habilitan también el formato SVG.", "We have plans for different request volumes, from personal use to high-volume enterprise. All plans support PNG and WebP; paid plans also unlock SVG output." )

@if (ViewBag.IsAuthenticated == true) { @T("Ver planos e preços", "Ver planes y precios", "View plans and pricing") } else { @T("Entrar para ver os planos", "Iniciá sesión para ver los planes", "Log in to view plans") }

@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 { }