Odkazy, weby a e-mail
Je tento QR kód bezpečný?
Pokrytí: Přečte QR kódy z jakékoli země: odkazy, telefonní čísla, SMS, e-maily, sítě Wi-Fi, kontakty, události, místa, kryptoměny a platby (převody SEPA, švýcarské QR faktury, UPI, Pix, PromptPay, PayNow, QRIS, DuitNow, FPS a další kódy EMV). Odkazy kontrolujeme podle pravidel NoCall pro tuto edici a telefonní čísla podle zveřejněných číslovacích plánů.
Otevřít nástrojNa této stránce
Účel
Vyberte fotku nebo snímek obrazovky QR kódu a zjistěte, co doopravdy dělá: otevře web, zavolá, pošle SMS, připojí vás k síti Wi-Fi nebo připraví platbu, a to ještě než ho naskenujete telefonem.
Požadavky
Tyto návody může číst kdokoli, i bez účtu. Některé nástroje vyžadují Pro, jak uvádí příslušný návod.
Falešné QR kódy se objevují na parkovacích automatech, v dopisech, na pokutách, v e-mailech a na plakátech. Vyberte fotku nebo snímek obrazovky kódu: přečteme ho ve vašem prohlížeči, aniž bychom obrázek nahrávali, a řekneme vám, co dělá, dřív, než ho otevřete.
Jak používat
Vybrat nebo pořídit fotku
Už máte obsah kódu? Vložte ho sem
Čtěte dostupná pole spolu s omezeními. Prázdný výsledek nedokazuje bezpečnost ani neurčuje totožnost osoby.
Smyšlený příklad
Smyšlený příklad, nikoli skutečný dotaz. Nevolejte ani neotevírejte jeho odkazy.
https://parking.example/payJak chápat výsledek
Neotvírejte ho: Kód nese známky podvodu. Pokud jste ho našli na parkovacím automatu, v dopise nebo na plakátu, plaťte nebo se přihlaste přes oficiální aplikaci či web, jehož adresu napíšete sami.
Než cokoli potvrdíte, ověřte si to: Jasný podvod nevidíme, ale kód dělá něco, co stojí za to prověřit, než to v telefonu potvrdíte.
Žádné známky nebezpečí: To nezaručuje, že je pravý. Než cokoli potvrdíte, zkontrolujte, že adresa nebo cíl odpovídá tomu, co čekáte.
Omezení
Kód se čte a kontroluje ve vašem prohlížeči: obrázek se nikdy nenahrává. Pokud obsahuje telefonní čísla, na serveru NoCall se ověří jen tato čísla, abychom zjistili jejich druh, a neukládají se.
Odkaz nikdy neotvíráme: jen ho kontrolujeme.
Řešení potíží
Na obrázku jsme nenašli žádný QR kód. Zkuste ostrou fotku zblízka a bez odlesků.
Obrázek se nepodařilo otevřít. Zkuste fotku ve formátu JPG nebo PNG.
Obsah kódu je na kontrolu příliš dlouhý.
Použít přes API
Vyžaduje API klíč a kredity. Každé dokončené volání stojí 1 kredit, i když nejsou k dispozici žádná data. Aktivní účet Pro zahrnuje 20 kreditů na kalendářní měsíc UTC, sdílených všemi cestami API a čerpaných jako první; nevyčerpané měsíční kredity se nepřevádějí. Kredity zakoupené na stránce vašeho účtu fungují i bez Pro a nikdy nevyprší.
Chyby se nikdy neúčtují: 401 invalid_api_key (chybějící nebo neplatný klíč), 403 pro_required (žádné kredity Pro ani zakoupené kredity), 422 neplatný vstup, 429 quota_exceeded (žádné zbývající kredity), rate_limit_exceeded nebo ai_busy (AI pro sms-check je plně vytížená), 503 tool_warming (data se teprve připravují) nebo tool či poskytovatel nedostupný. Po odpovědi 429 nebo 503 to zkuste znovu, až uplyne počet sekund z hlavičky Retry-After.
Co dekódovaný QR kód doopravdy dělá: otevře odkaz (kontrolovaný podle pravidel dané země), zavolá nebo pošle SMS na číslo, napíše e-mail, připojí k Wi-Fi, uloží kontakt nebo žádá platbu (SEPA, švýcarská QR faktura, UPI, Pix a další kódy EMVCo, s kontrolou IBAN a kontrolního součtu) či kryptoměnu. Odkaz se nikdy neotevírá.
Pošli tělo JSON na vlastní cestu toolu, nebo na POST /v2/tools s přidaným polem tool. Obě cesty vrátí stejný výsledek.
POST https://api.nocall.io/v2/qr-check
POST https://api.nocall.io/v2/tools {"tool":"qr-check","payload":"BCD\n002\n1\nSCT\n\nAparcamientos Ejemplo SL\nES9121000418450200051332\nEUR49.90\n\n\nMulta de aparcamiento 4471","country":"ES"}Parametry
| Název | Typ | Povinný | Popis |
|---|---|---|---|
| payload | string (1–4296) | Ano | Dekódovaný text QR kódu, až 4296 znaků. Obrázek dekódujte na své straně. |
| country | string (enum, 55) | Ne (výchozí: "ES") | Země, jejíž sada pravidel pro SMS se použije. |
REQUEST_ID="$(uuidgen)" && [ -n "$REQUEST_ID" ] &&
curl --request POST 'https://api.nocall.io/v2/qr-check' \
--header "Authorization: Bearer $NOCALL_API_KEY" \
--header 'Content-Type: application/json' \
--header "Idempotency-Key: $REQUEST_ID" \
--data '{"payload":"BCD\n002\n1\nSCT\n\nAparcamientos Ejemplo SL\nES9121000418450200051332\nEUR49.90\n\n\nMulta de aparcamiento 4471","country":"ES"}'import json
import os
import urllib.request
import uuid
api_key = os.environ.get('NOCALL_API_KEY')
if not api_key:
raise SystemExit('Set NOCALL_API_KEY')
request = urllib.request.Request(
'https://api.nocall.io/v2/qr-check',
method='POST',
data=json.dumps({'payload': 'BCD\n002\n1\nSCT\n\nAparcamientos Ejemplo SL\nES9121000418450200051332\nEUR49.90\n\n\nMulta de aparcamiento 4471', 'country': 'ES'}).encode(),
headers={
'Authorization': 'Bearer ' + api_key,
'Content-Type': 'application/json',
'Idempotency-Key': str(uuid.uuid4()),
},
)
with urllib.request.urlopen(request, timeout=30) as response:
result = json.load(response)
print(result['data']['result'], result['meta']['unitsCharged'])import { randomUUID } from 'node:crypto';
const requestId = randomUUID();
const apiKey = process.env.NOCALL_API_KEY;
if (!apiKey) throw new Error('Set NOCALL_API_KEY');
const response = await fetch('https://api.nocall.io/v2/qr-check', {
method: 'POST',
headers: {
Authorization: 'Bearer ' + apiKey,
'Content-Type': 'application/json',
'Idempotency-Key': requestId,
},
body: JSON.stringify({ payload: 'BCD\n002\n1\nSCT\n\nAparcamientos Ejemplo SL\nES9121000418450200051332\nEUR49.90\n\n\nMulta de aparcamiento 4471', country: 'ES' }),
});
const result = await response.json();
if (!response.ok) throw new Error(result.error?.code ?? 'request_failed');
console.log(result.data.result, result.meta.unitsCharged);Ukázková odpověď (200)
Jde o zdokumentovaný příklad z reference API. Vyhledávání používají smyšlené číslo a agregace i odpovědi AI ukazují tvar výsledku, ne živá data.
{
"data": {
"tool": "qr-check",
"result": {
"payload": {
"type": "payment",
"scheme": "epc",
"payee": "Aparcamientos Ejemplo SL",
"account": "ES9121000418450200051332",
"accountValid": true,
"amount": "49.90",
"currency": "EUR",
"reference": "Multa de aparcamiento 4471",
"country": "ES",
"city": null,
"crcValid": null
},
"signals": [
"payment_request",
"amount_prefilled"
],
"attention": true,
"hosts": [],
"linkFlags": [],
"link": null,
"numbers": []
}
},
"meta": {
"requestId": "req_example",
"unitsCharged": 1,
"usage": {
"periodStart": "2026-10-01",
"unitLimit": 20,
"unitsUsed": 3,
"unitsRemaining": 17
}
}
}Pole výsledku (data.result)
| Pole | Typ | Popis |
|---|---|---|
| payload | object | Co kód dělá: jeho typ (url, phone, sms, email, wifi, contact, event, geo, payment, crypto, other_link nebo text) a pole daného typu. Heslo k Wi-Fi se nikdy nevrací. |
| signals | array<string (enum, 26)> | Vlastní signály kódu (payment_request, crypto_request, open_wifi, call_forwarding, premium_number…) plus signály z pravidel pro odkazy a text. |
| attention | boolean | Zda si obsah zaslouží bližší pohled. |
| hosts | array<string> | Názvy hostitelů nalezené v textu. |
| linkFlags | array<"http" | "userinfo" | "internationalHost" | "ipAddress" | "nonStandardPort"> | Strukturální varování k odkazu: http, userinfo, mezinárodní hostitel, IP adresa nebo nestandardní port. |
| link | object | null | Zkontrolovaný odkaz kódu typu url (host, ASCII host, oficiální, značka a port), nebo null. |
| numbers | array<object> | Čísla, na která kód volá, posílá SMS, která uvádí nebo na která přesměrovává hovory, s jejich kategorií a rizikem z premium-rate. |
Často kladené otázky
Co je quishing?
Je to phishing pomocí QR kódů: falešný kód se nalepí přes pravý na parkovací automat nebo nabíječku, případně přijde v dopise nebo e-mailu, aby vás zavedl na web, který krade vaše údaje, nebo k platbě, kterou byste neměli provést.
Můžu naskenováním QR kódu dostat peníze?
Ne. Platebním kódem (bankovní převod, UPI, Pix a další) se vždy platí. Pokud po vás někdo chce, abyste naskenovali kód a „dostali“ vrácené peníze nebo výhru, je to podvod.
Je nebezpečné kód jen naskenovat?
Skenování jen přečte text: nebezpečí přichází, až otevřete odkaz, připojíte se k Wi-Fi nebo potvrdíte platbu. Proto se vyplatí kód nejdřív zkontrolovat, tady nebo tak, že si přečtete adresu, kterou ukáže fotoaparát, než na ni klepnete.
