LINK Priročnik za implementacijo mobilnosti REST API SMS
LINK Mobility ponuja storitev za dostavo sporočil, mikro plačila in lokacijske storitve. Platforma deluje kot pregleden pridobitelj vsebine z belo oznako in transakcijski usmerjevalnik med ponudniki storitev in operaterji.
LINK Mobility ponuja RESTful API, ki se lahko uporablja za dostop do storitev LINK Mobility, kot je pošiljanje SMS. Ta API je zasnovan tako, da je enostaven za uporabo in združljiv z vsemi sodobnimi jeziki in ogrodji. Z uporabo jezika po vaši izbiri lahko vaša aplikacija uporablja Link Mobility REST API za izvajanje zmogljivih zmožnosti sporočanja in plačevanja
© LINK Mobility, 10. marec 2021
Pravne informacije
Informacije v tem dokumentu so izključna last in avtorske pravice družbe Netsize. Je zaupen in namenjen izključno informativni uporabi. Ni zavezujoče in se lahko spremeni brez predhodnega obvestila. Vsako nepooblaščeno razkritje ali uporaba se šteje za nezakonito.
Netsize™ in linkmobility™ sta zaščitena s francoskimi, EGS in mednarodnimi zakoni o intelektualni lastnini.
Vse druge navedene blagovne znamke so izključna last njihovih lastnikov.
Ničesar v tem dokumentu ni mogoče razlagati kot podelitev kakršne koli licence ali pravice na podlagi patenta, avtorskih pravic ali blagovne znamke Netsize.
NETSIZE
Société anonyme au capital de 5 478 070 euros
Siège social: 62, avenue Emile Zola 92100 Boulogne – Francija
418 712 477 RCS Nanterre
http://www.LinkMobility.com
http://www.linkmobility.com
Obseg dokumenta
Ta dokument opisuje, kako ponudnik storitev uporablja API LINK Mobility REST za SMS. Namenjen je tehničnim arhitektom in projektantom, ki izvajajo storitve Ponudnika storitev.
1. Osnovna uporaba
Zelo preprosto je poslati SMS. Zahtevo HTTP pošljete LINK Mobility, ki jo je mogoče izvesti samo z uporabo a web brskalnik.
2. Funkcionalni Overview
Sistem LINK Mobility omogoča naslednje osnovne funkcionalnosti za SMS sporočila:
Pošiljanje mobilnih zaključenih (MT) SMS sporočil, kot so besedilna ali binarna (npr. WAP Push) premium in standardna tarifna sporočila.
Prejemanje poročil o dostavi za oddana MT sporočila.
Prejemanje mobilnih (MO) SMS sporočil, premium in standardna cena.
API SMS REST je namenjen pošiljanju sporočil MT SMS s standardno hitrostjo.
API pošilja vsa sporočila SMS asinhrono, kar omogoča funkcije, kot so:
“Požri in pozabi” – ponudnik storitev želi imeti bolj predvidljive odzivne čase in ne želi čakati na rezultat operaterja.
Funkcija ponovnega poskusa – LINK Mobility bo ponovno poslal sporočilo, če ima operater začasne težave.
2.1 Pošiljanje SMS sporočila
Ponudnik storitev Netsize Consumer
- Pošlji MT sporočilo
- ID povratnega sporočila
- Pošlji SMS sporočilo
- Dostavite poročilo o dostavi
- Pošlji poročilo o dostavi
Osnovni potek pošiljanja SMS sporočil je opisan takole:
Ponudnik storitve zahteva pošiljanje SMS sporočila prejemniku preko sistema LINK Mobility.
ID sporočila se vrne ponudniku storitev. Ta ID se lahko uporabi npr. za povezovanje sporočila s pravilnim poročilom o dostavi.
LINK Mobility skrbi za usmerjanje in dostavo SMS sporočila naslovljenemu potrošniku.
Poročilo o dostavi se sproži, npr. ko je SMS sporočilo dostavljeno na Potrošnikovo napravo.
Poročilo o dostavi se pošlje ponudniku storitev. Poročilo vsebuje isti ID sporočila, kot je bilo vrnjeno v 2. koraku.
Alternativni tok: Neveljavna zahteva
Če so podani parametri ali uporabniške poverilnice v zahtevi neveljavni, se ponudniku storitev vrne napaka. Napaka označuje razlog za zavrnitev in tok se konča. ID sporočila ni vrnjen.
3. Končna točka
Do vira SMS se dostopa po poti:
/restapi/v1/sms
Example URL
https://europe.ipx.com/restapi/v1/sms
Za varnost povezave je API LINK Mobility REST dostopen samo prek HTTPS.
Potrdilo strežnika Link Mobility je podpisano s strani Thawte Server CA.
4. Operacije
Storitev SMS omogoča naslednje operacije:
Ime | Pot |
Pošlji | /restapi/v1/sms/send |
4.1 Pošlji
Operacija pošiljanja se uporablja za pošiljanje SMS-a enemu prejemniku.
Ta operacija je namenjena osnovnim in naprednim uporabnikom. V najpreprostejšem primeru sta za dostavo SMS-a potrebna le ciljni naslov in besedilo sporočila. LINK Mobility bo zaznal shemo kodiranja podatkov in po potrebi izvedel samodejno združevanje sporočila v več delov sporočila.
Za napredno uporabo lahko ponudnik storitev uporabi izbirne parametre za popoln nadzor nad oblikovanjem sporočila, vključno z glavo uporabniških podatkov.
Ponudnik storitev lahko pošlje povezana sporočila, vendar mora pripraviti uporabniške podatke in glavo uporabniških podatkov ponudnik storitev, sporočilo pa mora biti poslano z več zahtevami za pošiljanje proti LINK Mobility.
5. Preverjanje pristnosti
Uporabniško ime in geslo sta poslana v vsaki zahtevi z uporabo osnovne sheme preverjanja pristnosti HTTP.
https://www.w3.org/Protocols/HTTP/1.0/spec.html#BasicAA
Poverilnice so poslane v glavi avtorizacije v zahtevi HTTP. Odjemalec sestavi polje glave, kot je opisano tukaj:
https://en.wikipedia.org/wiki/Basic_access_authentication#Client_side
Na primerample, če je uporabniško ime john in changeme geslo, potem je nastala avtorizacijska glava:
Pooblastilo: Osnovno am9objpjaGFuZ2VtZSA=
Uporabniško ime in geslo lahko kot nadomestno oddate kot parametra zahteve. To je priporočljivo samo za odjemalce, ki ne podpirajo Basic Auth.
6. Oddaja zahteve
6.1 Poizvedbeni niz
Parametri zahteve so predloženi kot poizvedbeni niz, ki vsebuje pare ime/vrednost. Poizvedbeni niz je kodiran z uporabo odstotnega kodiranja (URL kodiranje).
http://www.w3schools.com/tags/ref_urlencode.asp
Na primerample, pozdravljen svet! je kodiran kot Hello+World%21.
6.2 Obvezni parametri zahteve
Ime | Največja dolžina | Opis |
destinacijski naslov | 40 | MSISDN, na katerega naj bo poslano sporočilo SMS, začenši s kodo države. nprample: 46123456789. Za nekatere trge (kjer mora biti potrošniški MSISDN zakrit) je ta vrednost lahko tudi alfanumerični vzdevek s predpono »#«. |
messageText | 1600 | Vsebina SMS sporočila. |
6.3 Izbirni parametri zahteve (za napredno uporabo)
Ime | Največja dolžina | Opis |
izvorni naslov | 16 | Izvorni naslov za odhodno sporočilo SMS. Vrsta izvornega naslova je definirana s parametrom originatorTON. Največja dolžina kratke številke je 16. Alfanumerični pošiljatelj je omejen na privzeto abecedo GSM z največjo dolžino 11 znakov. Največja dolžina pošiljatelja MSISDN je 15 (z uporabo istega formata kot element destinationAddress). Lahko se izpusti, če sistem izbere originatingAddress in originatingTON. Ta funkcija je odvisna od trga in konfiguracije. Vedenje se lahko razlikuje glede na integracije operaterja. |
originatorTON | 1 | Vrsta številke izvornega naslova (TON): 0 – Kratka številka 1 – alfanumerično (največja dolžina 11) 2 – MSISDN Lahko se izpusti, če bo sistem izbral originatingAddress in originatingTON. Ta funkcija je odvisna od trga in konfiguracije. Vedenje se lahko razlikuje glede na integracije operaterja. |
userDataHeader | 280 | Glava uporabniških podatkov skupaj z uporabniškimi podatki lahko vsebuje do 140, tj. 280, če je šestnajstiško kodirano, oktetov. Ta parameter je vedno šestnajstiško kodiran. |
DCS | 3 | Shema kodiranja podatkov. Vedenje se lahko razlikuje glede na integracije operaterja. |
PID | 3 | ID protokola. Vedenje se lahko razlikuje glede na integracije operaterja. |
relativeValidityTime | 6 | Relativni čas veljavnosti v sekundah (glede na čas oddaje v LINK Mobility). Največja vrednost je 604800 (7 dni), privzeta vrednost pa 48 ur. Vedenje se lahko razlikuje glede na integracije operaterja. |
čas dostave | 20 | Časovni časamp kdaj naj bo SMS sporočilo dostavljeno (zakasnjen čas dostave). Glejte razdelek o obliki zapisa datuma in časa. |
statusReportFlags | 1 | Dostavi zahtevo za poročilo: 0 – Ni poročila o dostavi (privzeto) 1 – Zahtevano poročilo o dostavi 9 – zahtevano poročilo o dostavi strežnika (LINK Mobility ne posreduje poročila ponudniku storitev, ampak ga da na voljo v poročilih itd.) |
campaignName | 50 | Transakcije LINK Mobility so tags tem imenom. Uporablja se za združevanje transakcij v poročilih Link Mobility. |
maxConcatenatedMessages | 1 | Vrednost med 1 in 10, ki določa, koliko povezanih sporočil je dovoljenih. Privzeto je 3. |
correlationId | 100 | ID, ki ga zagotovi ponudnik storitev in bo prikazan v poročilu o dostavi. |
uporabniško ime | 100 | Na voljo kot alternativa osnovnemu preverjanju pristnosti HTTP. |
geslo | 100 | Na voljo kot alternativa osnovnemu preverjanju pristnosti HTTP. |
6.4 Metode zahtev HTTP
Za največjo interoperabilnost API podpira metode zahtev HTTP GET in POST. Druge metode HTTP niso dovoljene.
6.4.1 GET
Kodirani poizvedbeni niz je pripet k URL.
DOBITI
https://europe.ipx.com/restapi/v1/sms/send?destinationAddress=461234
56789&messageText=Pozdravljeni+Svet%21
Pooblastilo: Osnovno am9objpjaGFuZ2VtZSA=
6.4.2 OBJAVA
Kodiran poizvedbeni niz je predložen v telesu sporočila zahteve HTTP. Content-Type je application/x-www-form-urlkodirano.
OBJAVI https://europe.ipx.com/restapi/v1/sms/send
Gostitelj: europe.ipx.com
Vrsta vsebine: application / x-www-form-urlkodirano
Pooblastilo: Osnovno am9objpjaGFuZ2VtZSA=
Dolžina vsebine: 57
destinacijaAddress=46123456789&messageText=Pozdravljen+Svet%21
6.5 Datum in čas
Parametri v API-ju REST, ki predstavljajo datum in čas, so vedno v časovnem pasu UTC (Univerzalni koordinirani čas). Timestampso predstavljeni kot niz v tej natančni obliki:
2017-04-25T23:20:50Z
To predstavlja 20 minut in 50 sekund po 23. uri 25. aprila 2017 po UTC.
7. Odgovorno sporočilo
Po prejemu in razlagi sporočila zahteve se API odzove z odzivnim sporočilom HTTP.
7.1 Statusna koda HTTP
REST API vedno vrne statusno kodo HTTP 200 OK za obdelane zahteve. Telo sporočila vsebuje parameter responseCode, ki se uporablja za določitev natančnega rezultata.
7.2 Telo sporočila
Telo sporočila je sestavljeno iz JSON, ki opisuje izid zahteve.
http://json.org/
Link Mobility JSON je skladen z Google JSON Style Guide.
https://google.github.io/styleguide/jsoncstyleguide.xml
7.3 Parametri odziva
Ime | Največja dolžina | Opis |
responseCode | 3 | 0 pomeni uspešno transakcijo. |
responseMessage | 255 | Besedilni opis odgovora, npr. besedilo napake. |
časamp | 20 | Datum in čas, ko je LINK Mobility obdelal zahtevo. (Glejte razdelek o formatu datuma/časa). |
traceId | 36 | Interni identifikator Link Mobility. Uporablja se za podporo in odpravljanje težav. |
messageIds | 10 x 36 | Niz enoličnih ID-jev sporočil LINK Mobility za vsako uspešno sporočilo (če je sporočilo povezano, je vrnjenih več ID-jev sporočil). Izpuščeno v primeru neuspeha. |
7.4 Prample odzivi
Uspeh
HTTP/1.1 200 OK
Vrsta vsebine: aplikacija/json
Dolžina vsebine: 144
Datum: četrtek, 15. september 2016 13:20:31 GMT
{“responseCode”:0,”responseMessage”:”Uspeh”,”časamp”:”2016-09-15T13:20:31Z”, “traceId”:”f678d30879fd4adc25f2″,”messageIds”:[“1-4850879008”]}
Tukaj je isti JSON, oblikovan za berljivost:
{
“responseCode“:0,
“responseMessage“:”Uspeh”,
“časamp“:”2016-0915T13:20:31Z”,
“traceId“:”f678d30879fd4adc25f2”,
“messageIds“:[“1-4850879008”] }
Neuspeh
HTTP/1.1 200 OK
Vrsta vsebine: aplikacija/json
Dolžina vsebine: 148
Datum: četrtek, 15. september 2016 13:20:31 GMT
{“responseCode”:1,”responseMessage”:” Neveljavna prijava ali nepooblaščena uporaba API-ja”,”časamp”:”2016-09-15T13:20:31Z”,”traceId”:”f678d30879fd4adc25f2″}
Uspeh
HTTP/1.1 200 OK
Vrsta vsebine: aplikacija/json
Dolžina vsebine: 144
Datum: četrtek, 15. september 2016 13:20:31 GMT
{“responseCode”:0,”responseMessage”:”Uspeh”,”časamp”:”2016-09-15T13:20:31Z”, “traceId”:”f678d30879fd4adc25f2″,”messageIds”:[“1-4850879008”]}
Tukaj je isti JSON, oblikovan za berljivost:
{
“responseCode“:0,
“responseMessage“:”Uspeh”,
“časamp“:”2016-0915T13:20:31Z”,
“traceId“:”f678d30879fd4adc25f2”,
“messageIds“:[“1-4850879008”] }
Neuspeh
HTTP/1.1 200 OK
Vrsta vsebine: aplikacija/json
Dolžina vsebine: 148
Datum: četrtek, 15. september 2016 13:20:31 GMT
{“responseCode”:1,”responseMessage”:” Neveljavna prijava ali nepooblaščena uporaba API-ja”,”časamp”:”2016-09-15T13:20:31Z”,”traceId”:”f678d30879fd4adc25f2″}
7.5 Odzivne kode
V odgovoru za pošiljanje je mogoče vrniti naslednje kode odgovora:
Koda | Besedilo | Opis |
0 | Uspeh | Uspešno izvedeno. |
1 | Neveljavna prijava ali nepooblaščena uporaba API-ja | LINK Mobility prepoveduje napačno uporabniško ime ali geslo ali ponudnika storitev. |
2 | Potrošnika blokira Link Mobility | Potrošnika blokira LINK Mobility. |
3 | LINK Mobility ne omogoča delovanja | Operacija je za ponudnika storitev blokirana. |
4 | Potrošnik LINK Mobility ni znan | Potrošnik LINK Mobility ni znan. Ali če je bil v zahtevi uporabljen vzdevek; vzdevek ni najden. |
5 | Potrošnik je blokiral to storitev v LINK Mobility | Potrošnik je blokiral to storitev v LINK Mobility. |
6 | Izvorni naslov ni podprt | Izvorni naslov ni podprt. |
7 | Izvorni naslov alfa ni podprt z računom | Izvorni naslov alfa ni podprt z računom. |
8 | Izvorni naslov MSISDN ni podprt | Izvorni naslov MSISDN ni podprt. |
9 | Razširjeni GSM ni podprt | Razširjeni GSM ni podprt. |
10 | Unicode ni podprt | Unicode ni podprt. |
11 | Poročilo o stanju ni podprto | Poročilo o stanju ni podprto. |
12 | Zahtevana zmogljivost ni podprta | Zahtevana zmožnost (razen zgornje) za pošiljanje sporočila ni podprta. |
13 | Največja stopnja dušenja ponudnika vsebine je presežena | Ponudnik storitev prehitro pošilja sporočila SMS na LINK Mobility. |
14 | Račun ne podpira ID-ja protokola | ID protokola ni podprt. |
15 | Omejitev združevanja sporočil je presežena | Število povezanih sporočil presega največje zahtevano število. |
16 | Sporočila ni mogoče usmeriti. | LINK Mobility ni uspel usmeriti sporočila. |
17 | Prepovedano časovno obdobje | V časovnem obdobju ni dovoljeno pošiljati sporočil |
18 | Prenizko stanje na računu ponudnika storitev | Ponudnik storitev je blokiran zaradi prenizkega stanja |
50 | Delni uspeh | Delni uspeh pri pošiljanju SMS sporočila več prejemnikom. |
99 | Notranja napaka strežnika | Druga napaka Link Mobility, za več informacij se obrnite na podporo LINK Mobility. |
100 | Neveljaven ciljni naslov | Ciljni naslov (MSISDN ali vzdevek) ni veljaven. |
102 | Neveljaven referenčni (povezani) ID | Referenčni ID je neveljaven, morda je referenčni ID že uporabljen, prestar ali neznan. |
103 | Neveljavno ime računa | Ime računa je neveljavno. |
105 | Neveljavni metapodatki storitve | Metapodatki storitve so neveljavni. |
106 | Neveljaven izvorni naslov | Izvorni naslov je neveljaven. |
107 | Neveljaven alfanumerični izvorni naslov | Alfanumerični izvorni naslov je neveljaven. |
108 | Neveljaven čas veljavnosti | Čas veljavnosti je neveljaven. |
109 | Neveljaven čas dostave | Čas dostave je neveljaven. |
110 | Neveljavna vsebina sporočila/uporabniški podatki | Podatki o uporabniku, to je SMS sporočilo, so neveljavni. |
111 | Neveljavna dolžina sporočila | Dolžina sporočila SMS ni veljavna. |
112 | Neveljavna glava uporabniških podatkov | Glava uporabniških podatkov je neveljavna. |
113 | Neveljavna shema kodiranja podatkov | DCS je neveljaven. |
114 | Neveljaven ID protokola | PID je neveljaven. |
115 | Neveljavne zastavice poročila o stanju | Oznake poročila o stanju so neveljavne. |
116 | Neveljavna TON | Izvorni TON ni veljaven. |
117 | Neveljavno campaign ime | Campime aign je neveljavno. |
120 | Neveljavna omejitev največjega števila povezanih sporočil | Največje število povezanih sporočil je neveljavno. |
121 | Neveljaven izvorni naslov msisdn | Izvorni naslov MSISDN ni veljaven. |
122 | Neveljaven ID korelacije | ID korelacije je neveljaven. |
8. Izbirne funkcije
8.1 Popravek MSISDN
Popravek MSISDN je izbirna funkcija, ki jo lahko na zahtevo omogoči podpora za mobilnost LINK.
Ta funkcija bo popravila ciljne naslove in jih uskladila z zahtevano obliko E.164. Poleg popravka formata lahko sistem izvaja tudi tržno specifične funkcije, kot je prevajanje mednarodnih francoskih številk za popravljanje številk DOM-TOM (départements et territoires d'outre-mer), kadar je to primerno.
Spodaj je nekaj prampmanj popravkov:
Poslan ciljni naslov | Popravljen ciljni naslov |
+46(0)702233445 | 46702233445 |
(0046)72233445 | 46702233445 |
+460702233445 | 46702233445 |
46(0)702233445 | 46702233445 |
46070-2233445 | 46702233445 |
0046702233445 | 46702233445 |
+46(0)702233445aaa | 46702233445 |
336005199999 | 2626005199999 (Francoska številka prevedena v številko DOM-TOM) |
Poleg tega je mogoče omogočiti nacionalne telefonske številke za izbrani trg. Ko je ta funkcija omogočena, je treba vse mednarodne številke za druge trge poslati z začetnim znakom `+', da jih ločite od izbranega trga.
Spodaj je nekaj prampmanj popravkov pri uporabi Švedske (koda države 46) kot privzetega trga za nacionalne številke.
Poslan ciljni naslov | Popravljen ciljni naslov |
0702233445 | 46702233445 |
070-2233 445 | 46702233445 |
070.2233.4455 | 46702233445 |
460702233445 | 46702233445 |
+460702233445 | 46702233445 |
+458022334455 | 458022334455 |
45802233445 | Neveljavno, ker manjka znak '+' |
Upoštevajte, da bo LINK Mobility uporabil popravljen MSISDN in bo vrnjen v poročilih o dostavi.
Za več informacij se obrnite na podporo LINK Mobility.
8.2 Zamenjava znakov
Zamenjava znakov je izbirna funkcija, ki jo lahko na zahtevo omogoči podpora LINK Mobility.
Ta funkcija bo prevedla znake abecede, ki niso GSM, v uporabniških podatkih (besedilo SMS) v enakovredne znake abecede GSM, ko je DCS nastavljen na »GSM« (17). Na primerample »Seqüência de teste em Português« bo prevedeno v »Seqüencia de teste em Portugues«.
9. Poročila o dostavi
Ponudnik storitev lahko, če je na voljo, zahteva poročila o dostavi sporočil SMS ali obvestila o dostavi za poslana sporočila MT. Ta poročila se sprožijo v SMSC operaterja, ko je sporočilo MT bodisi dostavljeno ciljnemu potrošniku bodisi izbrisano, npr. poteklo ali iz nekega razloga ni mogoče usmerjati.
Ponudniku se sporoči le končni status SMS sporočila, tj. dostavljeno ali izbrisano. Ustvari se samo eno poročilo na sporočilo MT. Pri statusu izbrisanega se lahko uporabi koda vzroka. Ta koda vzroka določa razlog, zakaj sporočilo SMS ni bilo dostavljeno.
Poročila so usmerjena prek LINK Mobility in poslana ponudniku storitev s protokolom HTTP.
Za prejemanje poročil mora ponudnik storitev izvajati nprample Java Servlet ali stran ASP.NET. Oba prejmeta zahteve HTTP GET ali POST.
Parametri
Zahteva vključuje naslednje parametre:
Parameter | Vrsta | M/O/I* | Privzeta vrednost | Največja dolžina | Opis |
MessageId | niz | M | – | 22 | ID sporočila MT, ki mu ustreza to poročilo. |
Ciljni naslov | niz | M | – | 40 | Potrošnikov MSISDN, tj ciljni naslov prvotnega sporočila MT. |
StatusCode | celo število | M | 1 | Statusna koda označuje status sporočila MT. Veljavne statusne kode so: 0 – Dostavljeno 2 – Izbrisano (velja koda vzroka) |
|
ČasStamp | niz | M | – | 20 | Čas, ki označuje, kdaj je LINK Mobility prejel poročilo o dostavi. Časovni pas časaamp je CET ali CEST (s poletnim časom, kot je opredeljen za EU). Oblika: llllMMdd HH:mm:ss. |
Operater | niz | M | – | 100 | Ime operaterja, uporabljenega pri pošiljanju SMS sporočila, ali ime računa, uporabljenega pri pošiljanju SMS sporočila. Seznam razpoložljivih operaterjev zagotavlja podpora za mobilnost LINK. |
ReasonCode | celo število | O | – | 3 | Koda vzroka označuje, zakaj je sporočilo končalo v statusu izbrisano. Veljavne kode vzroka so: 100 – Poteklo 101 – Zavrnjeno 102 – Napaka formata 103 – Druga napaka 110 – Naročnik neznan 111 – Prepoved naročnika 112 – Naročnik ni omogočen 113 – Naročnik nedosegljiv 120 – okvara SMSC 121 – SMSC prezasedenost 122 – SMSC gostovanje 130 – Napaka slušalke 131 – Presežen pomnilnik slušalke Vedenje se lahko razlikuje glede na integracije operaterja. |
OperaterTimeStamp | niz | O | – | 20 | Čas, ki označuje, kdaj je bilo poročilo sproženo v SMSC operaterja (če ga operater zagotovi). Časovni pas časaamp je CET ali CEST (s poletnim časom, kot je opredeljen za EU). Oblika: llllMMdd HH:mm:ss. |
StatusText | niz | O | – | 255 | Oznaka mesta za dodatne informacije operaterja, npr. jasen besedilni opis stanja/razloga. Vedenje se lahko razlikuje glede na integracije operaterja. |
CorrelationId | niz | O | – | 100 | ID korelacije, naveden v SendRequest ali SendTextRequest. |
OperaterNetworkCode | celo število | O | – | 6 | Koda mobilnega omrežja (MCC + MNC) operaterja. |
* M = obvezno, O = neobvezno, I = prezrto.
Ponudnik storitev mora zagotoviti LINK Mobility s ciljem URL za poročila o dostavi (izbirno vključno s poverilnicami za osnovno avtentikacijo HTTP). Ponudnik storitev lahko izbere, katero prednostno metodo HTTP bo uporabil:
HTTP POST (priporočeno)
HTTP GET.
Exampdatoteka z uporabo HTTP GET (uspešno dostavljeno):
https://user:password@www.serviceprovider.com/receivereport?%20MessageId=122&DestinationAddress=46762050312&Operator=Vodafone&TimeStamp=20100401%2007%3A47%3A44&StatusCode=0
Example z uporabo HTTP GET (ni dostavljeno, operater je posredoval timestamp za dogodek):
Parametri so URL kodirano.
Kodiranje znakov:
Ponudnik storitev lahko izbere, katero prednostno kodiranje znakov bo uporabil:
UTF-8 (priporočeno)
ISO-8859-1.
9.1 Potrditev ponudnika storitev
Ponudnik storitev mora potrditi vsako poročilo o dostavi. Potrditev je lahko pozitivna, tj. dobavnica uspešno prejeta, ali negativna, tj. neuspeh.
Prosimo, upoštevajte: LINK Mobility ima časovno omejitev branja za potrditve 30 sekund za poročila o dostavi. Časovna omejitev bo sprožila ponovni poskus dostave (če je ponovni poskus omogočen) ali preklic dostave (če je ponovni poskus onemogočen). To pomeni, da mora aplikacija Service Provider zagotavljati hitre odzivne čase, še posebej pri visoki obremenitvi.
Zelo priporočljivo je, da poročilo o dostavi potrdite podjetju LINK Mobility, preden ga obdelate.
Pravilo za pozitivno in negativno potrditev je opisano takole:
Pozitivna potrditev, ACK, dostavljeno poročilo o dostavi:
Odzivna koda obsega HTTP 200 v kombinaciji z naslednjo vsebino v formatu XML:
Negativna potrditev, NAK, dobavnica ni bila dostavljena:
Kakršen koli odgovor razen pozitivne potrditve, nprample, negativno potrditev sproži katera koli koda napake HTTP ali naslednja vsebina XML:
Vsebino XML je mogoče uporabiti za krmiljenje mehanizma ponovnih poskusov LINK Mobility. NAK bo povzročil ponovni poskus, če je omogočen. Za ponudnike storitev, ki niso konfigurirani za mehanizem ponovnega poskusa, je vsebina XML neobvezna.
Spodaj sta zahteva HTTP POST in odgovor, nprampporočila o dostavi, dostavljenega ponudniku storitev:
Zahteva HTTP:
POST /kontekst/aplikacija HTTP/1.1
Vrsta vsebine: application / x-www-form-urlkodirano;charset=utf-8
Gostitelj: strežnik:vrata
Dolžina vsebine: xx
MessageId=213123213&DestinationAddress=46762050312&Operator=Telia& OperatorTimeStamp=20130607%2010%3A45%3A00&TimeStamp=20130607%2010%3A 45%3A02&StatusCode=0
Odgovor HTTP:
HTTP/1.1 200 OK
Content-Type: text/plain
9.2 Poskusi znova
Sistem LINK Mobility lahko izvaja ponovne poskuse za neuspele, tj. nepotrjene, dostave poročil o dostavi. Ponudnik storitev lahko izbere želeno vedenje ponovnega poskusa:
Brez ponovnega poskusa (privzeto) – sporočilo bo zavrženo, če poskus povezave ne uspe, preteče časovna omejitev branja ali katera koli koda napake HTTP.
Poskusite znova – sporočilo bo ponovno poslano za vsako vrsto težave s povezavo, časovno omejitev branja ali negativno potrditev.
Ko je ponovni poskus za NAK omogočen, je pomembno razumeti, kateri scenariji bodo ustvarili ponovni poskus iz LINK Mobility in kako ponovni poskus deluje. Vsak ponudnik storitev ima svojo čakalno vrsto za ponovni poskus, kjer so sporočila razvrščena glede na čas sporočilaamp. Link Mobility poskuša vedno najprej dostaviti starejša sporočila, čeprav ni zagotovljen posamezen vrstni red sporočil, dostavljenih ponudniku storitev. Glavni razlog za izločitev sporočil iz čakalne vrste za ponovne poskuse je eden od dveh razlogov: bodisi TTL sporočila poteče ali pa (teoretično) čakalna vrsta za ponovne poskuse postane polna. TTL je odvisen od operaterja in računa, kar pomeni, da se lahko razlikuje glede na operaterja in/ali vrsto sporočila, npr. plačljivo SMS ali standardno tarifno sporočilo SMS.
Ponudnik storitev z omogočenim ponovnim poskusom mora preveriti enolični ID sporočila MT, da zagotovi, da sporočilo še ni bilo prejeto.
Za ponudnika storitev je pomembno, da upošteva ta preprosta pravila, ko pride do napake med obdelavo poročila o dostavi, če je razlog za napako: Začasen, npr. zbirka podatkov ni na voljo, NAK je treba vrniti. LINK Mobility bo ponovno poslal sporočilo.
Trajni in ponovni poskus bosta verjetno povzročila enako težavo, zato je treba vrniti ACK. Na primerample, ko sporočila ni bilo mogoče pravilno razčleniti ali je povzročilo nepričakovano napako med izvajanjem.
Ustrezno ukrepanje bo zagotovilo, da ne bo prišlo do blokade ali poslabšanja prepustnosti zaradi večkratnega ponovnega pošiljanja poročila o dostavi.
10. Nasveti za izvedbo
1. Možna je uporaba vašega web brskalnik za pošiljanje zahtev API-ju. To zelo olajša raziskovanje in ocenjevanje storitev brez razvojnih orodij.
2. Chrome ali Firefox sta priporočljiva skupaj z razširitvijo, kot je JSONView za prikaz lepo formatiranega JSON.
3. SoapUI smo uporabili za testiranje POST-a, osnovne avtentikacije in za pregled neobdelanih zahtev HTTP in odzivnih sporočil.
4. CURL orodje je uporabno za pošiljanje zahtev POST z osnovno avtentikacijo. Glej prample spodaj.
curl OBJAVI \
-H »Content-Type: application/x-www-form-urlkodirano” \
-H “Avtorizacija: Osnovna am9objpjaGFuZ2VtZSA=” \
https://europe.ipx.com/restapi/v1/sms/send \
–data "destinationAddress=46123456789&messageText=Hello+World%21"
_______________
Preoblikovanje prilagojenih komunikacij
Dokumenti / Viri
![]() |
LINK Priročnik za implementacijo mobilnosti REST API SMS [pdf] Uporabniški priročnik Vodnik za implementacijo mobilnosti REST API SMS, mobilnost, vodnik za implementacijo REST API SMS, REST API SMS, API SMS, SMS |