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) |
-
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í.
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.