Kako konfigurirati polje SMPP Scheduled Delivery Time
Kaj je polje Scheduled Delivery Time?
Polje Scheduled Delivery Time v SMPP (Short Message Peer-to-Peer Protocol) je neobvezen parameter v PDU submit_sm,
ki omogoča čakalno vrsto za dostavo sporočila v prihodnjem datumu in času. To polje je ključno za:
- Zakasnitev dostave sporočil v ure izven konic
- Načrtovanje časovno občutljivih kampanj (npr. rojstnodnevna sporočila)
- Usklajevanje sporočil med časovnimi pasovi
Oblika in struktura polja
Specifikacija SMPP v3.4 določa to polje kot C-Octet String (null-terminated) z določeno obliko datuma in časa:
YYMMDDhhmmssnnp
Kjer:
| Komponenta | Opis | Obseg |
|---|---|---|
| YY | Zadnji dve števki leta | 00-99 |
| MM | Mesec | 01-12 |
| DD | Dan | 01-31 |
| hh | Ura (24-urni format) | 00-23 |
| mm | Minuta | 00-59 |
| ss | Sekunda | 00-59 |
| nn | Desetinke sekunde (neobvezno) | 00-99 |
| p | Časovni odmik (npr. +, -) | +/- sledijo 4 števke (HHMM) |
-
NULL (takojšnja dostava)-
000000000000000 (takojšnja dostava, starejši sistemi)
Primeri časovnih nizov
| Časovni niz | Interpretacija |
|---|---|
231015143000000+ |
15. okt. 2023 14:30:00 UTC+0 |
231015143000000-0800 |
15. okt. 2023 14:30:00 UTC-08:00 |
000000000000000 |
Takojšnja dostava (starejši sistemi) |
NULL |
Takojšnja dostava (priporočeno) |
Primeri uporabe
1. Rojstnodnevna sporočila
Načrtujte sporočilo za dostavo točno ob polnoči na prejemnikov rojstni dan:
scheduled_delivery_time: "231016000000000+" // 16. okt. 2023 00:00:00 UTC+0
2. Dostava izven konic
Izognite se preobremenitvi omrežja s pošiljanjem množičnih sporočil ponoči:
scheduled_delivery_time: "231015020000000+" // 15. okt. 2023 02:00:00 UTC+0
3. Usklajevanje časovnih pasov
Dostavite sporočila ob 9. uri po lokalnem času za prejemnike v New Yorku (UTC-5):
scheduled_delivery_time: "231015090000000-0500" // 15. okt. 2023 09:00:00 UTC-05:00
Primeri SMPP PDU-jev
Primer 1: Takojšnja dostava (NULL)
0000001D // Dolžina ukaza (29 bajtov)
00000004 // ID ukaza (SubmitSM)
00000001 // Zaporedna številka
00 // Vir TON
00 // Vir NPI
736F7572636500 // Naslov pošiljatelja ("source")
00 // Cilj TON
00 // Cilj NPI
36353433323100 // Naslov prejemnika ("654321")
00 // Razred ESM
00 // Protokol ID
00 // Prioritetna zastavica
00 // Čas načrtovane dostave (NULL: takoj)
00 // Veljavnost
00 // Registrirana dostava
00 // Zamenjaj, če je prisoten
00 // Kodiranje podatkov (DCS=0x00)
00 // Privzeti ID sporočila SM
07 // Dolžina SM (7 septetov)
C8329BFD06DDDF72 // Vsebina ("Hello!")
Primer 2: Prihodnja dostava (15. okt. 2023 14:30 UTC)
0000002A // Dolžina ukaza (42 bajtov)
00000004 // ID ukaza (SubmitSM)
00000002 // Zaporedna številka
00 // Vir TON
00 // Vir NPI
736F7572636500 // Naslov pošiljatelja ("source")
00 // Cilj TON
00 // Cilj NPI
36353433323100 // Naslov prejemnika ("654321")
00 // Razred ESM
00 // Protokol ID
00 // Prioritetna zastavica
3233313031353134333030303030302B00 // "231015143000000+" (16 bajtov + null)
00 // Veljavnost
00 // Registrirana dostava
00 // Zamenjaj, če je prisoten
00 // Kodiranje podatkov (DCS=0x00)
00 // Privzeti ID sporočila SM
07 // Dolžina SM (7 septetov)
C8329BFD06DDDF72 // Vsebina ("Hello!")
Interakcije z drugimi polji
- validity_period: Določa, kako dolgo bo SMSC poskušal dostaviti. Šteje od načrtovanega časa.
- priority_flag: Sporočila z višjo prioriteto lahko na nekaterih SMSC-ih obidejo čakalne vrste.
Pogoste napake
- Uporaba lokalnega časa brez določitve časovnega odmika.
- Nepravilno oblikovanje niza datuma (npr. neveljaven mesec "13").
- Predpostavka, da vsi SMSC podpirajo načrtovano dostavo (preverite pri ponudniku).
- Nastavitev časa v preteklosti, kar povzroči takojšnjo dostavo.
Nekateri SMSC ignorirajo delne sekunde (
nn) ali omejujejo, kako daleč v prihodnost je mogoče načrtovati sporočila (npr. največ 7 dni).
Zaključek
Polje Scheduled Delivery Time omogoča natančen nadzor nad časom dostave SMS sporočil. Pravilna uporaba zahteva skrbno oblikovanje časovnih nizov in usklajevanje z zmogljivostmi SMSC. Vedno preizkusite načrtovana sporočila s svojim ponudnikom in se sklicujte na specifikacijo SMPP v3.4 za posebne primere (npr. prestopna leta, prehodi med časovnimi pasovi).