REST API & Webhooky

Integrujte QRflex do svého systému

Kompletní REST API, webhooky a hotové konektory. Automatizujte tvorbu kódů, sledujte skeny a propojte QRflex s nástroji, které už používáte.

K čemu to je

Co s API a webhooky uděláte

Nemusíte být vývojář. Většinu scénářů zvládnete pár řádky kódu, nebo úplně bez něj přes Zapier a Make.

Automatická tvorba kódů

Generujte QR kódy programově z objednávkového systému, CRM nebo e-shopu.

Kampaňové přesměrování

Měňte cíl QR kódu za běhu a sledujte, která kampaň přinesla kolik skenů.

Real-time notifikace

Webhooky upozorní váš systém okamžitě při každém skenu nebo změně kódu.

Hromadné operace

Importujte nebo exportujte tisíce kódů najednou přes batch API.

Bez programování

Hotové integrace

Propojte QRflex s nástroji, které už používáte. Stačí se přihlásit a vybrat, co se má stát.

Zapier

Napojte se na 6 000+ aplikací bez jediného řádku kódu.

Make (Integromat)

Vizuální automatizace s podmínkami a větvením.

Slack

Upozornění do kanálu při novém skenu nebo překročení limitu.

Google Analytics 4

Předávejte UTM parametry rovnou do GA4 bez dalšího nastavení.

Google Sheets

Exportujte statistiky skenů automaticky do tabulky.

Vlastní webhook

Libovolný HTTP endpoint — váš server, vaše pravidla.

Rychlý start

První požadavek za pět minut

  1. 1

    Vytvořte API klíč

    V nastavení účtu vygenerujte klíč a přidělte mu potřebná oprávnění (čtení, zápis nebo oboje).

  2. 2

    Pošlete požadavek

    Přidejte hlavičku Authorization: Bearer <váš-klíč> a pošlete POST na /api/v1/qr-codes.

  3. 3

    Zkontrolujte odpověď

    API vrátí 201 Created s URL nového kódu a jeho ID pro další operace.

POST /api/v1/qr-codes
curl -X POST https://qrflex.io/api/v1/qr-codes \
  -H "Authorization: Bearer qrf_your_key" \
  -H "Content-Type: application/json" \
  -d '{"type":"url","target":"https://example.com","name":"My QR"}'
Endpointy

Co API umí

Všechny cesty začínají /api/v1

Skupina Metody Popis
/qr-codes GET POST PATCH DELETE QR kódy — Vytvoření, čtení, úprava a smazání dynamických QR kódů.
/campaigns GET POST PATCH Kampaně — Správa marketingových kampaní a jejich UTM parametrů.
/scans GET Statistiky skenů — Agregované i detailní data o skenech (čas, místo, zařízení).
/webhooks GET POST DELETE Webhooky — Registrace a správa webhookových endpointů.
/api-keys GET POST DELETE API klíče — Vytvoření, výpis a odvolání API klíčů.
/workspace GET Workspace — Čtení informací o workspace a jeho limitech.
/export GET Export — Hromadný export kódů a statistik ve formátu CSV nebo JSON.
Otevřít OpenAPI (JSON) ↗
Webhooky

Události přijdou samy

Zadejte adresu, na kterou má QRflex posílat zprávy, a vyberte události. Každá zpráva je podepsaná (HMAC-SHA256, Standard Webhooks) a při výpadku vašeho serveru ji pošleme znovu.

qr_code.scanned
Kód byl naskenován
qr_code.created
Nový QR kód byl vytvořen
qr_code.updated
QR kód byl upraven
qr_code.deleted
QR kód byl smazán
campaign.limit_reached
Kampaň dosáhla limitu skenů
workspace.scan_limit_warning
Workspace překročil 80 % limitu skenů

Podpis ověříte v hlavičce webhook-signature, duplicitní doručení poznáte podle webhook-id.

POST https://your-server.com/webhook
{
  "id": "msg_01xyz",
  "type": "qr_code.scanned",
  "timestamp": "2026-09-25T14:23:10Z",
  "data": {
    "qr_code_id": "qr_abc123",
    "scan_id": "scan_def456",
    "target": "https://example.com",
    "location": {
      "country": "CZ",
      "city": "Praha"
    },
    "device": "mobile"
  }
}
Pravidla API

Předvídatelné chování v každém endpointu

Stejná pravidla pro přihlášení, stránkování, chyby i limity. Integraci napíšete jednou.

Bearer token

Každý požadavek nese hlavičku Authorization: Bearer.

Authorization: Bearer qrf_...

Stránkování

Výsledky jsou stránkované přes cursor. Maximálně 100 položek na stránku.

?limit=50&cursor=eyJpZCI6...

HTTP stavové kódy

Standardní kódy: 200 OK, 201 Created, 400 Bad Request, 401 Unauthorized, 429 Too Many Requests.

HTTP 429 Too Many Requests

Rate limiting

Limit 1 000 požadavků za minutu na API klíč. Hlavičky X-RateLimit-* vás informují o zbývajícím počtu.

X-RateLimit-Remaining: 843

JSON všude

Požadavky i odpovědi jsou vždy application/json (nebo application/problem+json u chyb).

Content-Type: application/json

Idempotentní požadavky

GET a DELETE jsou idempotentní. Pro PUT platí: stejná data = stejný výsledek.

Idempotency-Key: uuid-v4

Srozumitelné chyby

Chyby přicházejí ve standardním formátu application/problem+json. Popis je česky, slovensky nebo anglicky a u validace uvidíte, které pole je špatně.

{
  "type": "https://tools.ietf.org/html/rfc9110#section-15.5.1",
  "title": "Validation failed",
  "status": 400,
  "detail": "Pole target je povinné.",
  "violations": [
    {
      "field": "target",
      "message": "Toto pole nesmí být prázdné."
    }
  ]
}
Bezpečnost

Klíče a data pod kontrolou

Scoped API klíče

Každý klíč má jen ta oprávnění, která mu přidělíte. Čtení, zápis nebo oboje zvlášť.

Odvolání klíče

Kompromitovaný klíč zneplatníte jediným klikem bez dopadu na ostatní klíče.

HTTPS everywhere

Veškerá komunikace probíhá výhradně přes TLS 1.2+. HTTP požadavky jsou přesměrovány.

Data v EU

Servery stojí v Německu (Frankfurt). Vaše data nikdy neopustí Evropskou unii.

Potřebujete pomoct s napojením?

Kompletní reference s ukázkami v curl, PHP, JavaScriptu a Pythonu. Nebo nám napište.