Detailní konfigurace widgetu
Přehled všech konfiguračních možností
const modal = new PhoneValidationModal({
// Povinné
apiKey: 'váš-api-klíč',
// Volitelné parametry
language: 'cs', // Jazyk rozhraní
defaultCountry: 'CZ', // Předvolená země
primaryColor: '#3b82f6', // Hlavní barva
verificationMode: 'online', // Režim ověření
debug: false, // Debug logování
// Callback funkce
onSuccess: function(data) {}, // Úspěšné ověření
onError: function(error) {}, // Chyba
onClose: function() {} // Zavření modalu
});
Detailní popis parametrů
apiKey
- Typ:
string - Povinný: Ano
- Popis: Unikátní identifikátor vašeho tenantu (UUID v4)
- Formát:
XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX - Příklad:
'550e8400-e29b-41d4-a716-446655440000' - Poznámka: Tento klíč obdržíte od správce systému
language
- Typ:
string - Povinný: Ne
- Výchozí: Automatická detekce z
navigator.language - Dostupné hodnoty:
'en'- English'cs'- Čeština'sk'- Slovenčina'pl'- Polski
- Příklad:
language: 'cs' - Chování:
- Pokud není zadán, widget detekuje jazyk z prohlížeče
- Pokud jazyk není podporován, použije se angličtina
defaultCountry
- Typ:
string - Povinný: Ne
- Výchozí: Žádná předvolená země
- Formát: ISO 3166-1 alpha-2 kód země (2 písmena)
- Příklady:
'CZ'- Česká republika'SK'- Slovensko'PL'- Polsko'DE'- Německo
- Využití:
- Předvyplní mezinárodní předvolbu
- Umožňuje zadávat čísla bez předvolby
- Například pro
defaultCountry: 'CZ':- Uživatel zadá:
777123456 - Systém zpracuje jako:
+420777123456
- Uživatel zadá:
primaryColor
- Typ:
string - Povinný: Ne
- Výchozí:
'#3b82f6'(modrá) - Formát: HEX kód barvy (včetně #)
- Příklady:
'#e11d48'- Červená'#15803d'- Zelená'#9333ea'- Fialová
- Co ovlivňuje:
- Pozadí primárních tlačítek
- Barvu odkazů
- Focus stavy inputů
- Barvu progress indikátorů
verificationMode
- Typ:
string - Povinný: Ne
- Výchozí:
'online' - Možnosti:
'online' (výchozí)
- Kód je ověřen na serveru
- Nejbezpečnější varianta
- Vyžaduje internetové připojení
- Widget automaticky zpracuje ověření
'offline'
- Kód je poslán rodičovskému oknu
- Vy ověříte kód na vašem backendu
- Vhodné pro vysokou kontrolu nad procesem
- Vyžaduje implementaci message handleru
'hybrid'
- Kombinace online a offline
- Nejprve lokální ověření
- Možnost dodatečného ověření na serveru
- Nejflexibilnější řešení
debug
- Typ:
boolean - Povinný: Ne
- Výchozí:
false - Popis: Zapíná detailní logování do konzole
- Co loguje:
- Všechny API volání
- Přijaté a odeslané zprávy
- Změny stavu
- Chybové stavy
- Použití: Pouze pro vývoj a debugging
onSuccess
- Typ:
function - Povinný: Doporučený
- Parametry:
dataobjekt obsahující:{
phoneNumber: "+420777123456", // Ověřené číslo
token: "abc-123-def", // Unikátní token validace
timestamp: "2024-01-15T10:30:00Z", // Čas ověření
proof: "a1b2c3..." // HMAC důkaz (pokud je k dispozici)
} - Příklad:
onSuccess: function(data) {
console.log('Ověřeno číslo:', data.phoneNumber);
// Uložit do databáze
savePhoneVerification(data);
// Přesměrovat uživatele
window.location.href = '/dashboard';
}
onError
- Typ:
function - Povinný: Doporučený
- Parametry:
errorobjekt obsahující:{
message: "Chybová zpráva", // Lidsky čitelná zpráva
code: "ERROR_CODE", // Kód chyby
status: 429 // HTTP status (pokud je k dispozici)
} - Možné chyby:
INVALID_PHONE- Neplatné telefonní čísloRATE_LIMIT- Překročen limit požadavkůINVALID_CODE- Nesprávný ověřovací kódEXPIRED- Vypršela platnost kóduMAX_ATTEMPTS- Překročen počet pokusů
- Příklad:
onError: function(error) {
console.error('Chyba ověření:', error);
if (error.code === 'RATE_LIMIT') {
alert('Příliš mnoho pokusů. Zkuste to za chvíli.');
} else {
alert('Ověření selhalo: ' + error.message);
}
}
onClose
- Typ:
function - Povinný: Ne
- Parametry: Žádné
- Kdy je voláno:
- Uživatel klikne na křížek
- Uživatel klikne mimo modal
- Uživatel stiskne ESC
- Po úspěšném ověření (po
onSuccess)
- Příklad:
onClose: function() {
console.log('Modal byl zavřen');
// Cleanup nebo analytika
trackEvent('modal_closed');
}