Kako konfigurirati SMPP polje za planirano vrijeme isporuke
Što je polje za planirano vrijeme isporuke?
Polje Planirano vrijeme isporuke u SMPP (Short Message Peer-to-Peer Protocol) je opcijski parametar u submit_sm PDU-u
koji omogućuje da se poruka stavi u red za isporuku u budućem datumu i vremenu. Ovo polje je ključno za:
- Odgađanje isporuke poruka izvan špica
- Planiranje vremenski osjetljivih kampanja (npr. rođendanske poruke)
- Koordinaciju poruka u različitim vremenskim zonama
Format i struktura polja
SMPP specifikacija v3.4 definira ovo polje kao C-Octet String (null-terminiran) s određenim formatom datuma i vremena:
YYMMDDhhmmssnnp
Gdje:
| Komponenta | Opis | Raspon |
|---|---|---|
| YY | Posljednje dvije znamenke godine | 00-99 |
| MM | Mjesec | 01-12 |
| DD | Dan | 01-31 |
| hh | Sat (24h format) | 00-23 |
| mm | Minuta | 00-59 |
| ss | Sekunda | 00-59 |
| nn | Desetinke sekunde (opcijski) | 00-99 |
| p | Pomak vremenske zone (npr. +, -) | +/- praćeno s 4 znamenke (HHMM) |
-
NULL (trenutna isporuka)-
000000000000000 (trenutna isporuka, stari sustavi)
Primjeri vremenskih nizova
| Vremenski niz | Interpretacija |
|---|---|
231015143000000+ |
15. listopada 2023. 14:30:00 UTC+0 |
231015143000000-0800 |
15. listopada 2023. 14:30:00 UTC-08:00 |
000000000000000 |
Trenutna isporuka (stari sustavi) |
NULL |
Trenutna isporuka (preporučeno) |
Primjeri upotrebe
1. Rođendanske poruke
Planirajte poruku za isporuku točno u ponoć na primateljev rođendan:
scheduled_delivery_time: "231016000000000+"
// 16. listopada 2023. 00:00:00 UTC+0
2. Isporuka izvan špica
Izbjegnite zagušenje mreže slanjem masovnih poruka noću:
scheduled_delivery_time: "231015020000000+"
// 15. listopada 2023. 02:00:00 UTC+0
3. Koordinacija vremenskih zona
Isporučite poruke u 9 ujutro lokalnog vremena za primatelje u New Yorku (UTC-5):
scheduled_delivery_time: "231015090000000-0500"
// 15. listopada 2023. 09:00:00 UTC-05:00
Primjeri SMPP PDU-a
Primjer 1: Trenutna isporuka (NULL)
0000001D // Duljina naredbe (29 bajtova)
00000004 // ID naredbe (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 // Zastavica prioriteta
00 // Planirano vrijeme isporuke (NULL: trenutno)
00 // Valjanost
00 // Registrirana isporuka
00 // Zamijeni ako postoji
00 // Kodiranje podataka (DCS=0x00)
00 // Zadani ID poruke
07 // Duljina poruke (7 septeta)
C8329BFD06DDDF72 // Sadržaj ("Hello!")
Primjer 2: Buduća isporuka (15. listopada 2023. 14:30 UTC)
0000002A // Duljina naredbe (42 bajta)
00000004 // ID naredbe (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 // Zastavica prioriteta
3233313031353134333030303030302B00 // "231015143000000+" (16 bajtova + null)
00 // Valjanost
00 // Registrirana isporuka
00 // Zamijeni ako postoji
00 // Kodiranje podataka (DCS=0x00)
00 // Zadani ID poruke
07 // Duljina poruke (7 septeta)
C8329BFD06DDDF72 // Sadržaj ("Hello!")
Interakcije s drugim poljima
- validity_period: Definira koliko dugo će SMSC pokušavati isporuku. Brojanje počinje od planiranog vremena.
- priority_flag: Poruke s većim prioritetom mogu zaobići redove za planiranje na nekim SMSC-ovima.
Uobičajene zamke
- Korištenje lokalnog vremena bez navođenja pomaka vremenske zone.
- Pogrešno formatiranje niza datuma (npr. nevažeći mjesec "13").
- Pretpostavka da svi SMSC-ovi podržavaju planiranu isporuku (provjerite s pružateljem usluge).
- Postavljanje vremena u prošlosti, što uzrokuje trenutnu isporuku.
Neki SMSC-ovi ignoriraju djeliće sekundi (
nn) ili ograničavaju koliko unaprijed se poruke mogu planirati (npr. maksimalno 7 dana).
Zaključak
Polje za planirano vrijeme isporuke omogućuje preciznu kontrolu nad vremenom isporuke SMS poruka. Pravilna upotreba zahtijeva pažljivo formatiranje vremenskih nizova i koordinaciju s mogućnostima SMSC-a. Uvijek testirajte planirane poruke s pružateljem usluge i pogledajte SMPP specifikaciju v3.4 za rubne slučajeve (npr. prijestupne godine, prijelazi vremenskih zona).