Kako konfigurisati SMPP polje za planirano vreme isporuke
Šta je polje za planirano vreme isporuke?
Polje Planirano vreme isporuke u SMPP (Short Message Peer-to-Peer Protocol) je opcioni parametar u submit_sm PDU
koji omogućava poruci da bude stavljena u red za isporuku u budućem datumu i vremenu. Ovo polje je ključno za:
- Odlaganje isporuke poruka u vanšpijske sate
- Planiranje vremenski osetljivih kampanja (npr. rođendanske poruke)
- Koordinaciju poruka u različitim vremenskim zonama
Format i struktura polja
SMPP v3.4 specifikacija definiše ovo polje kao C-Octet String (null-terminiran) sa specifičnim formatom datuma i vremena:
YYMMDDhhmmssnnp
Gde:
| Komponenta | Opis | Opseg |
|---|---|---|
| YY | Poslednje dve cifre godine | 00-99 |
| MM | Mesec | 01-12 |
| DD | Dan | 01-31 |
| hh | Sat (24h format) | 00-23 |
| mm | Minut | 00-59 |
| ss | Sekunda | 00-59 |
| nn | Deseti delovi sekunde (opciono) | 00-99 |
| p | Vremenska zona (npr. +, -) | +/- praćeno sa 4 cifre (HHMM) |
-
NULL (trenutna isporuka)-
000000000000000 (trenutna isporuka, stari sistemi)
Primeri vremenskih stringova
| Vremenski string | Interpretacija |
|---|---|
231015143000000+ |
15. oktobar 2023. 14:30:00 UTC+0 |
231015143000000-0800 |
15. oktobar 2023. 14:30:00 UTC-08:00 |
000000000000000 |
Trenutna isporuka (stari sistemi) |
NULL |
Trenutna isporuka (preporučeno) |
Primeri upotrebe
1. Rođendanske poruke
Planirajte poruku da se isporuči tačno u ponoć na primalačev rođendan:
scheduled_delivery_time: "231016000000000+" // 16. oktobar 2023. 00:00:00 UTC+0
2. Isporuka van špica
Izbegnite zagušenje mreže slanjem masovnih poruka noću:
scheduled_delivery_time: "231015020000000+" // 15. oktobar 2023. 02:00:00 UTC+0
3. Koordinacija vremenskih zona
Isporučite poruke u 9 ujutro po lokalnom vremenu za primaloce u Njujorku (UTC-5):
scheduled_delivery_time: "231015090000000-0500" // 15. oktobar 2023. 09:00:00 UTC-05:00
Primeri SMPP PDU-a
Primer 1: Trenutna isporuka (NULL)
0000001D // Dužina komande (29 bajtova)
00000004 // ID komande (SubmitSM)
00000001 // Redni broj
00 // Izvorni TON
00 // Izvorni NPI
736F7572636500 // Izvorna adresa ("source")
00 // Odredišni TON
00 // Odredišni NPI
36353433323100 // Odredišna adresa ("654321")
00 // ESM klasa
00 // ID protokola
00 // Prioritetni flag
00 // Planirano vreme isporuke (NULL: trenutno)
00 // Period važenja
00 // Registrovana isporuka
00 // Zameni ako postoji
00 // Kodiranje podataka (DCS=0x00)
00 // Podrazumevani ID poruke
07 // Dužina poruke (7 septeta)
C8329BFD06DDDF72 // Sadržaj ("Zdravo!")
Primer 2: Buduća isporuka (15. oktobar 2023. 14:30 UTC)
0000002A // Dužina komande (42 bajta)
00000004 // ID komande (SubmitSM)
00000002 // Redni broj
00 // Izvorni TON
00 // Izvorni NPI
736F7572636500 // Izvorna adresa ("source")
00 // Odredišni TON
00 // Odredišni NPI
36353433323100 // Odredišna adresa ("654321")
00 // ESM klasa
00 // ID protokola
00 // Prioritetni flag
3233313031353134333030303030302B00 // "231015143000000+" (16 bajtova + null)
00 // Period važenja
00 // Registrovana isporuka
00 // Zameni ako postoji
00 // Kodiranje podataka (DCS=0x00)
00 // Podrazumevani ID poruke
07 // Dužina poruke (7 septeta)
C8329BFD06DDDF72 // Sadržaj ("Zdravo!")
Interakcije sa drugim poljima
- validity_period: Definiše koliko dugo će SMSC pokušavati isporuku. Brojanje počinje od planiranog vremena.
- priority_flag: Poruke sa višim prioritetom mogu zaobići redove za planiranje na nekim SMSC-ovima.
Uobičajene greške
- Korišćenje lokalnog vremena bez navođenja vremenske zone.
- Nepravilno formatiranje datuma (npr. nevažeći mesec "13").
- Pretpostavka da svi SMSC-ovi podržavaju planiranu isporuku (proverite sa provajderom).
- Postavljanje vremena u prošlosti, što uzrokuje trenutnu isporuku.
Neki SMSC-ovi ignorišu delove sekunde (
nn) ili ograničavaju koliko unapred se poruke mogu planirati (npr. maksimalno 7 dana).
Zaključak
Polje za planirano vreme isporuke omogućava preciznu kontrolu nad vremenom isporuke SMS poruka. Pravilna upotreba zahteva pažljivo formatiranje vremenskih stringova i koordinaciju sa mogućnostima SMSC-a. Uvek testirajte planirane poruke sa svojim provajderom i konsultujte SMPP v3.4 specifikaciju za granične slučajeve (npr. prestupne godine, promene vremenskih zona).