Ako nakonfigurovať pole SMPP Scheduled Delivery Time
Čo je pole Scheduled Delivery Time?
Pole Scheduled Delivery Time v SMPP (Short Message Peer-to-Peer Protocol) je voliteľný parameter v PDU submit_sm,
ktorý umožňuje zaradiť správu do fronty na doručenie v budúcom dátume a čase. Toto pole je kritické pre:
- Oneskorenie doručenia správ mimo špičku
- Plánovanie časovo citlivých kampaní (napr. narodeninové správy)
- Koordináciu správ v rôznych časových pásmach
Formát a štruktúra poľa
Špecifikácia SMPP v3.4 definuje toto pole ako C-Octet String (ukončený nulou) so špecifickým formátom dátumu a času:
RRMMDDhhmmssnnp
Kde:
| Zložka | Popis | Rozsah |
|---|---|---|
| RR | Posledné dve číslice roka | 00-99 |
| MM | Mesiac | 01-12 |
| DD | Deň | 01-31 |
| hh | Hodina (24h formát) | 00-23 |
| mm | Minúta | 00-59 |
| ss | Sekunda | 00-59 |
| nn | Desatiny sekundy (voliteľné) | 00-99 |
| p | Časové pásmo (napr. +, -) | +/- nasledované 4 číslicami (HHMM) |
-
NULL (okamžité doručenie)-
000000000000000 (okamžité doručenie, staršie systémy)
Príklady časových reťazcov
| Časový reťazec | Interpretácia |
|---|---|
231015143000000+ |
15. októbra 2023 14:30:00 UTC+0 |
231015143000000-0800 |
15. októbra 2023 14:30:00 UTC-08:00 |
000000000000000 |
Okamžité doručenie (staršie systémy) |
NULL |
Okamžité doručenie (odporúčané) |
Príklady použitia
1. Narodeninové správy
Naplánujte správu na presne polnoc v deň narodenín príjemcu:
scheduled_delivery_time: "231016000000000+"
// 16. október 2023 00:00:00 UTC+0
2. Doručenie mimo špičky
Vyhnite sa zahlteniu siete odosielaním hromadných správ v noci:
scheduled_delivery_time: "231015020000000+"
// 15. október 2023 02:00:00 UTC+0
3. Koordinácia časových pásiem
Doručte správy o 9:00 miestneho času pre príjemcov v New Yorku (UTC-5):
scheduled_delivery_time: "231015090000000-0500"
// 15. október 2023 09:00:00 UTC-05:00
Príklady SMPP PDU
Príklad 1: Okamžité doručenie (NULL)
0000001D // Dĺžka príkazu (29 bajtov)
00000004 // ID príkazu (SubmitSM)
00000001 // Poradové číslo
00 // Zdroj TON
00 // Zdroj NPI
736F7572636500 // Zdrojová adresa ("source")
00 // Cieľ TON
00 // Cieľ NPI
36353433323100 // Cieľová adresa ("654321")
00 // Trieda ESM
00 // ID protokolu
00 // Príznak priority
00 // Scheduled Delivery Time (NULL: okamžité)
00 // Platnosť
00 // Registrované doručenie
00 // Nahradiť, ak je prítomné
00 // Kódovanie dát (DCS=0x00)
00 // Predvolené ID správy
07 // Dĺžka správy (7 septetov)
C8329BFD06DDDF72 // Obsah ("Hello!")
Príklad 2: Budúce doručenie (15. október 2023 14:30 UTC)
0000002A // Dĺžka príkazu (42 bajtov)
00000004 // ID príkazu (SubmitSM)
00000002 // Poradové číslo
00 // Zdroj TON
00 // Zdroj NPI
736F7572636500 // Zdrojová adresa ("source")
00 // Cieľ TON
00 // Cieľ NPI
36353433323100 // Cieľová adresa ("654321")
00 // Trieda ESM
00 // ID protokolu
00 // Príznak priority
3233313031353134333030303030302B00 // "231015143000000+" (16 bajtov + null)
00 // Platnosť
00 // Registrované doručenie
00 // Nahradiť, ak je prítomné
00 // Kódovanie dát (DCS=0x00)
00 // Predvolené ID správy
07 // Dĺžka správy (7 septetov)
C8329BFD06DDDF72 // Obsah ("Hello!")
Interakcie s inými poľami
- validity_period: Definuje, ako dlho sa SMSC bude pokúšať o doručenie. Počíta sa od naplánovaného času.
- priority_flag: Správy s vyššou prioritou môžu na niektorých SMSC obísť plánovacie fronty.
Časté chyby
- Použitie miestneho času bez určenia časového pásma.
- Nesprávne formátovanie dátového reťazca (napr. neplatný mesiac "13").
- Predpoklad, že všetky SMSC podporujú plánované doručenie (overte si u poskytovateľa).
- Nastavenie času v minulosti, čo spôsobí okamžité doručenie.
Niektoré SMSC ignorujú desatiny sekúnd (
nn) alebo obmedzujú, ako ďaleko vopred môžu byť správy naplánované (napr. max. 7 dní).
Záver
Pole Scheduled Delivery Time umožňuje presnú kontrolu nad tým, kedy sú SMS správy doručené. Správne použitie vyžaduje starostlivé formátovanie časových reťazcov a koordináciu s možnosťami SMSC. Vždy testujte plánované správy s vaším poskytovateľom a pre špeciálne prípady (napr. priestupné roky, zmeny časových pásiem) sa odporúča pozrieť si špecifikáciu SMPP v3.4.