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)
Posebne vrijednosti:
- 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.
Napomena o ponašanju SMSC-a:
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).

More information