Помічники для вмісту
QR-коди для облікових даних WiFi, контактних карток (vCard) і геолокації використовують спеціальні текстові формати. Ці ендпоінти збирають рядок вмісту за вас, тож його можна одразу передати в /api/qr/generate як content.
Усі три ендпоінти приймають JSON і повертають JSON. Рендерингу немає — це суто конструктори рядків.
WiFi
POST /api/qr/content/wifi
{
"ssid": "MyNetwork",
"password": "supersecret",
"encryption": "WPA",
"hidden": false
}
Відповідь:
{
"success": true,
"content": "WIFI:T:WPA;S:MyNetwork;P:supersecret;H:false;;"
}
encryption: WPA, WEP або 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"
}
Відповідь: повністю сформований рядок vCard 3.0, готовий до кодування.
Geo
POST /api/qr/content/geo
{
"latitude": 40.4168,
"longitude": -3.7038,
"query": "Plaza Mayor, Madrid"
}
Відповідь:
{
"success": true,
"content": "geo:40.4168,-3.7038?q=Plaza%20Mayor%2C%20Madrid"
}
query — необов’язковий: додає мітку, яку розпізнають Google Maps / Apple Maps.
Навіщо вони потрібні
Рядки можна зібрати й самостійно, але у форматів є граничні випадки (екранування в паролях WiFi, перенесення рядків у vCard, URI-кодування в Geo). Помічники все це враховують, тож через одну друкарську помилку клієнт не отримає QR, який відкриває «MyNetwork P:supersecret» як SSID.
Шаблон використання
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
Зібраний рядок також можна передати безпосередньо в ендпоінт ШІ як content, якщо ви хочете, щоб ШІ стилізував QR для WiFi/vCard/Geo.