Auxiliares de conteúdo
Os QR codes de credenciais de Wi-Fi, cartões de contato (vCard) e geolocalização usam formatos de texto específicos. Estes endpoints montam o texto do conteúdo por você, para que você o passe diretamente a /api/qr/generate como content.
Os três endpoints recebem JSON e devolvem JSON. Nada é renderizado — eles apenas montam textos.
Wi-Fi
POST /api/qr/content/wifi
{
"ssid": "MyNetwork",
"password": "supersecret",
"encryption": "WPA",
"hidden": false
}
Resposta:
{
"success": true,
"content": "WIFI:T:WPA;S:MyNetwork;P:supersecret;H:false;;"
}
encryption: WPA, WEP ou nopass.
vCard
POST /api/qr/content/vcard
{
"firstName": "Ada",
"lastName": "Lovelace",
"organization": "Analytical Engine Co.",
"title": "Programmer",
"phone": "+44 20 7946 0958",
"email": "ada@example.com",
"url": "https://adalovelace.example",
"address": "10 Downing St, London"
}
Resposta: um texto vCard 3.0 completo, pronto para codificar.
Geo
POST /api/qr/content/geo
{
"latitude": 40.4168,
"longitude": -3.7038,
"query": "Plaza Mayor, Madrid"
}
Resposta:
{
"success": true,
"content": "geo:40.4168,-3.7038?q=Plaza%20Mayor%2C%20Madrid"
}
query é opcional — adiciona um rótulo que o Google Maps / Apple Maps conseguem ler.
Por que eles existem
Você poderia montar os textos por conta própria, mas os formatos têm casos extremos (escape nas senhas de Wi-Fi, quebra de linhas no vCard, codificação de URI no Geo). Os auxiliares cuidam disso para que um erro de digitação não deixe um cliente com um QR que abre "MyNetwork P:supersecret" como SSID.
Padrão de uso
1. POST to /api/qr/content/{wifi|vcard|geo} → get the content string
2. POST that string as `content` to /api/qr/generate → get the QR
Você também pode passar o texto montado diretamente ao endpoint de IA como content se quiser que a IA estilize o QR de Wi-Fi/vCard/Geo.