Перейти до вмісту

Помічники для вмісту

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.

Приклади коду