Jak nakonfigurovat pole SMPP Scheduled Delivery Time

Co je pole Scheduled Delivery Time?

Pole Scheduled Delivery Time v SMPP (Short Message Peer-to-Peer Protocol) je volitelný parametr v PDU submit_sm, který umožňuje zařazení zprávy do fronty pro doručení v budoucím čase. Toto pole je klíčové pro:

  • Odložení doručení zprávy na mimopíkové hodiny
  • Naplánování časově citlivých kampaní (např. blahopřání k narozeninám)
  • Koordinaci zpráv napříč časovými pásmy

Formát a struktura pole

Specifikace SMPP v3.4 definuje toto pole jako C-Octet String (ukončený nulou) s konkrétním formátem data a času:

RRMMDDhhmmssnnp

Kde:

Komponenta Popis Rozsah
RR Poslední dvě číslice roku 00-99
MM Měsíc 01-12
DD Den 01-31
hh Hodina (24h formát) 00-23
mm Minuta 00-59
ss Sekunda 00-59
nn Desetiny sekundy (volitelné) 00-99
p Posun časového pásma (např. +, -) +/- následované 4 číslicemi (HHMM)
Speciální hodnoty:
- NULL (okamžité doručení)
- 000000000000000 (okamžité doručení, starší systémy)

Příklady časových řetězců

Časový řetězec Význam
231015143000000+ 15. října 2023 14:30:00 UTC+0
231015143000000-0800 15. října 2023 14:30:00 UTC-08:00
000000000000000 Okamžité doručení (starší systémy)
NULL Okamžité doručení (doporučeno)

Příklady použití

1. Blahopřání k narozeninám

Naplánujte zprávu na přesně půlnoc v den narozenin příjemce:

scheduled_delivery_time: "231016000000000+"
// 16. října 2023 00:00:00 UTC+0
    

2. Doručení v mimopíkových hodinách

Vyhněte se přetížení sítě odesíláním hromadných zpráv v noci:

scheduled_delivery_time: "231015020000000+"
// 15. října 2023 02:00:00 UTC+0
    

3. Koordinace časových pásem

Doručte zprávy v 9:00 místního času pro příjemce v New Yorku (UTC-5):

scheduled_delivery_time: "231015090000000-0500"
// 15. října 2023 09:00:00 UTC-05:00
    

Příklady SMPP PDU

Příklad 1: Okamžité doručení (NULL)

0000001D  // Délka příkazu (29 bajtů)
00000004  // ID příkazu (SubmitSM)
00000001  // Pořadové číslo
00        // Zdrojový TON
00        // Zdrojový NPI
736F7572636500  // Zdrojová adresa ("source")
00        // Cílový TON
00        // Cílový NPI
36353433323100  // Cílová adresa ("654321")
00        // Třída ESM
00        // ID protokolu
00        // Příznak priority
00        // Scheduled Delivery Time (NULL: okamžité)
00        // Platnost
00        // Registrované doručení
00        // Nahradit, pokud existuje
00        // Kódování dat (DCS=0x00)
00        // Výchozí ID zprávy SM
07        // Délka SM (7 septetů)
C8329BFD06DDDF72  // Obsah ("Hello!")
    

Příklad 2: Budoucí doručení (15. října 2023 14:30 UTC)

0000002A  // Délka příkazu (42 bajtů)
00000004  // ID příkazu (SubmitSM)
00000002  // Pořadové číslo
00        // Zdrojový TON
00        // Zdrojový NPI
736F7572636500  // Zdrojová adresa ("source")
00        // Cílový TON
00        // Cílový NPI
36353433323100  // Cílová adresa ("654321")
00        // Třída ESM
00        // ID protokolu
00        // Příznak priority
3233313031353134333030303030302B00  // "231015143000000+" (16 bajtů + null)
00        // Platnost
00        // Registrované doručení
00        // Nahradit, pokud existuje
00        // Kódování dat (DCS=0x00)
00        // Výchozí ID zprávy SM
07        // Délka SM (7 septetů)
C8329BFD06DDDF72  // Obsah ("Hello!")
    

Interakce s dalšími poli

  • validity_period: Definuje, jak dlouho se SMSC bude pokoušet o doručení. Počítá se od naplánovaného času.
  • priority_flag: Zprávy s vyšší prioritou mohou na některých SMSC přeskočit fronty plánování.

Časté chyby

  • Použití místního času bez určení posunu časového pásma.
  • Nesprávné formátování data (např. neplatný měsíc "13").
  • Předpoklad, že všechny SMSC podporují plánované doručení (ověřte u poskytovatele).
  • Nastavení času v minulosti, což způsobí okamžité doručení.
Poznámka k chování SMSC:
Některé SMSC ignorují desetiny sekund (nn) nebo omezují, jak daleko do budoucna lze zprávy naplánovat (např. max. 7 dní).

Závěr

Pole Scheduled Delivery Time umožňuje přesnou kontrolu nad časem doručení SMS zpráv. Správné použití vyžaduje pečlivé formátování časových řetězců a koordinaci s možnostmi SMSC. Vždy testujte plánované zprávy s vaším poskytovatelem a pro speciální případy (např. přestupné roky, změny časových pásem) se řiďte specifikací SMPP v3.4.

More information