Skip to main content
Každé telefonní číslo příjemce předávané SmsManageru musí obsahovat plnou mezinárodní volící předvolbu — žádné lokální zkratky ani nejednoznačné národní formáty. SmsManager používá standard E.164 jako svou kanonickou formu, ale odstraňuje úvodní znak +. To znamená, že předáváte prostý číselný řetězec začínající kódem země bez mezer, pomlček nebo jiných oddělovačů.

Požadovaný formát

SmsManager očekává telefonní čísla ve formátu E.164 bez úvodního + nebo 00. Začněte přímo kódem země následovaným účastnickým číslem, bez formátovacích znaků. Vzor je přímočarý: vezměte plné mezinárodní číslo, odstraňte úvodní + a odstraňte všechny mezery, pomlčky a závorky.

Automatická normalizace

SmsManager přijímá několik dalších běžných reprezentací a před zpracováním je převádí do kanonické formy. I když vám to dává určitou flexibilitu, předávání čísel v doporučeném formátu E.164-bez-+ se vyhýbá jakékoli nejednoznačnosti a poskytuje vám nejspolehlivější výsledky — zejména pro čísla ze zemí, které mají ne-zřejmé národní volící konvence. Mezi automaticky normalizované formáty patří:
  • Čísla s předponou literal + (např. +420777123456)
  • Čísla s předponou mezinárodního výstupního kódu 00 (např. 00420777123456)
  • Čísla obsahující mezery, pomlčky, tečky nebo závorky jako oddělovače (např. 420 777 123-456)
  • Národní formát čísel s úvodní 0, kde lze zemi odvodit (např. 0777123456 v některých konfiguracích)
Národní formát s úvodní 0 (např. 0777123456) nemusí být správně identifikován pro všechny země, protože kód země nelze vždy odvodit z čísla samotného. Vždy zahrnujte plný kód země pro zaručení správného směrování.

Tabulka validace formátu

Kódy zemí

Vždy zahrnujte plný volící kód země jako první číslice čísla — nepřidávejte úvodní +. Například:
  • Česko (420) → 420XXXXXXXXX
  • Německo (49) → 49XXXXXXXXXX
  • USA (1) → 1XXXXXXXXXX
Kód země dělá víc než jen směruje zprávu — také určuje platnou cenu za zprávu, požadovaná pravidla registrace odesílatele a případná obsahová omezení specifická pro zemi. Použití špatného nebo chybějícího kódu země může mít za následek nesprávně směrované zprávy nebo neočekávané poplatky.
Pokud ukládáte telefonní čísla v databázi s úvodním +, odstraňte jej před předáním čísel SmsManager API. Jednoduchý phone.replace(/^\+/, "") v JavaScriptu nebo phone.lstrip("+") v Pythonu je vše, co potřebujete.

Telefonní čísla ve Verify API

Verify API přijímá telefonní čísla v poli phoneNumber těla požadavku pomocí stejného formátu: pouze číslice, včetně kódu země, bez úvodního + nebo 00. Verify API validuje číslo proti následujícímu vzoru před přijetím požadavku session:
To znamená:
  • První číslice musí být 1–9 (žádné úvodní nuly)
  • Celková délka musí být mezi 7 a 15 číslicemi (včetně)
  • Akceptovány jsou pouze číselné znaky — žádné mezery, pomlčky nebo +
Příklad těla požadavku Verify API:
Neplatná telefonní čísla způsobují odmítnutí zpráv před odesláním. Odmítnutá zpráva může spustit webhook callback result: rejected. Vždy validujte a normalizujte telefonní čísla na vaší straně před voláním API a kontrolujte pole rejected v odpovědích API pro identifikaci čísel, která selhala.