Skip to main content
Kredit se v SmsManageru odečítá až v okamžiku odeslání konkrétní zprávy. Neodečítá se při naplánování zprávy k odeslání ani ve chvíli, kdy zprávu připravíte v administraci. Tento princip je důležitý pro správné pochopení toho, kdy se stav vašeho účtu skutečně změní a proč lze odeslání naplánovat i bez dostatečného kreditu.

Kdy se kredit odečítá

Kredit se strhává v jediném okamžiku — při odeslání zprávy. Ve stejnou chvíli probíhá i závěrečná kontrola, že zprávu lze odeslat (např. že příjemce není na blacklistu nebo se neodhlásil z odběru). Kredit se naopak neodečítá:
  • při naplánování odeslání — zpráva s polem datetime do budoucna se zařadí bez ohledu na aktuální stav kreditu,
  • při přípravě zprávy v administraci — dokud nedojde ke skutečnému odeslání, kredit zůstává nedotčen.
Protože se kredit rezervuje až při odeslání, odeslání se naplánuje i tehdy, když v daný moment nemáte dostatek kreditu. Kredit stačí doplnit kdykoli před okamžikem odeslání.

Kontrola kreditu při odeslání

Až ve chvíli odeslání SmsManager ověří, že máte na danou zprávu dostatek kreditu, a pokud ano, kredit odečte. Tehdy se také vyhodnotí ostatní pravidla pro odeslání (blacklist, opt-out apod.). Výše odečteného kreditu se řídí cenou zprávy podle destinace, kanálu a počtu segmentů. Podrobnosti o tom, jak SmsManager požadavek přijímá a následně zpracovává, najdete v konceptu Příjem a zpracování požadavku.

Nedostatek kreditu — chyba 307

Pokud v okamžiku odeslání není na účtu dostatek kreditu, zpráva je odmítnuta s chybou [307] Insufficient credit. Zpráva skončí ve stavu rejected a informaci obdržíte na vaší callback URL:
Webhook událost (výňatek)
Odeslání se po chybě 307 už znovu neopakuje. Zpráva zůstane trvale ve stavu rejected — doplnění kreditu ji automaticky znovu neodešle. Chcete-li ji doručit, po dobití kreditu ji odešlete znovu jako nový požadavek.

Praktický důsledek pro vaši integraci

  • Naplánování nezaručuje odeslání. I naplánovanou zprávu je potřeba pokrýt kreditem až do okamžiku jejího odeslání.
  • Hlídejte si stav kreditu. Zejména u odesílání naplánovaného na budoucnost zajistěte dostatek kreditu před daným časem.
  • Zpracujte stav rejected s kódem 307. Naslouchejte na callback URL a v poli result_info rozlišujte [307] Insufficient credit od ostatních příčin zamítnutí. Zamítnuté zprávy po dobití kreditu v případě potřeby odešlete znovu.
Aktuální stav kreditu i automatická upozornění na jeho vyčerpání lze sledovat přes REST API v sekci Kredit.

Další kroky

Příjem a zpracování požadavku

Proč 200 OK znamená jen přijetí ke zpracování a která validace probíhá až následně.

Plánování odeslání

Jak polem datetime naplánovat zprávu na konkrétní čas v budoucnu.

Chybové kódy

Význam kódu [307] Insufficient credit a dalších stavů result_info.

Webhooky

Formát doručenky, sekvence stavů a pole result_info.