MT SMS
HTTP API stöder både GET och POST som anropsmetod. Parametrar med värden separeras med ett '&'-tecken. Parameter och värde separeras med ett '='-tecken. Mellanslag byts ut med ett '+'-tecken medan övriga tecken URL-kodas.
URL-kodning konverteras till tillåtna tecken för URL-anrop. URL-kodning innebär att icke ASCII-tecken byts ut mot "%" följt av två hexadecimala värden för givet tecken enligt teckentabell ISO-8859-1. Exempelvis så ska '+'-tecknet i destAddr ersättas med %2B. URL:ar kan inte innehålla mellanslag.
Före access behöver användarnamn och lösenord kodas enligt Base64. Det görs genom att skriva ihop användarnamn och lösenord med kolon emellan, användarnamn:lösenord. Reultatet ska vara en base64-kodad sträng. Exempelvis, användarnamn=Aladdin och lösenord=open sesame, så blir strängen Aladdin:open sesame QWxhZGRpbjpvcGVuIHNlc2FtZQ== Base64-kodad. Strängen läggs sedan in i header för HTTP-anropet enligt följande:
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
För att kunna hålla reda på varje specifik adress du skickar till blir det förväntade anropssvaret.
id=c1f18240-d1b5-45b6-9a25-d8997e8a11e0, destAddr=467xxxxxxxx
HTTP/GET
Enklaste sättet är att skriva in URL direkt i din webläsare:
Mozilla Firefox, Safari, Google Chrome, Opera
https://användarnamn:lösenord@igate.imez.se/api/url?destAddr=%2B467xxxxxxxx&message=Hello+World
där användarnamn, lösenord, destAddr och message ersätts.
Internet Explorer
https://igate.imez.se/api/url?destAddr=%2B467xxxxxxxx&message=Hello+World
Ange därefter användarnamn och lösenord i prompten.
Följande beskriver trafikflödet mellan klient och server:
HTTP - anrop:
GET /api/url?destAddr=+46708319100&message=Hello+World HTTP/1.0
User-Agent: Testing
Accept: */*
Host: igate.imez.se
Connection: Keep-Alive
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP-respons::
HTTP/1.1 200 OK
Content-Type: text/plain; charset=iso-8859-1
Content-Length: 40
Connection: keep-alive
Server: Jetty(6.1.15)
id=c1f18240-d1b5-45b6-9a25-d8997e8a11e0, destAddr=467xxxxxxxx
Efter några sekunder anländer SMS till angiven destinationsadress.
Exempel
Exempelkod för HTTP/GET i Java-fil finns för nedladdning AtomHTTPExample.java
Exempelkod för HTTP/GET i PHP-fil finns för nedladdning AtomHTTPExample.php
Exempelkod för HTTP/GET i .Net-fil finns för nedladdning AtomHTTPExample.cs
Editera filen och ändra följande:
username - ditt användarnamn för denna tjänst
password - lösenord knutet till användarnamnet
atomUrl - URL till iGATE 3.0
destAddr - mobilnumret som ska ta emot SMS
Parametrar att använda:
Parametrar som stöds förklaras nedan. [M]=Måste finnas med i anropet, [O]=Kan finnas med i anropet
| [M]destAddr [string]: | Destination(er) till mottagande mobiltelefoner |
| [O] origAddr [string]: | Avsändare (kan vara mobilnumber, kortnummer eller alphanumerisk (max 11 tecken)) Tillåtna tecken är a-z, A-Z, 0-9, -, +, komma, punkt, / och mellanslag |
| [M]message [string]: | Data (text/binärdata) |
| [O]header [string]: | TP-UDH [enligt GSM specifikation 03.40] |
| [O]binary [boolean]: | Typ av SMS (om message är skriven binärt eller i ascii). |
| [O]pid [int]: | TP-PID [enligt GSM specifikation 03.40] |
| [O]sourcePort [int]: | Egen satt avsändarport |
| [O]destPort[int]: | Egen satt destinationsport. |
| Exempel: | 2948 för WAP-Push, 5514 för EMS, 5505 för rington, 5506 för logo, 5507 för ikoner, 9204 för v-card, 9205 för v-cal, 49999 för WAP telefoninställningar |
| [O]sendTime [dateTime]: | Tid för när första försöket ska göras. Format: YYYY-MM-DD hh:mm |
| [O]validityTime [dateTime]: | Tid för när sms som inte lämnat SMSC inte längre ska skickas ut Format: YYYY-MM-DD hh:mm |
| [O]irpId[string]: | Id för att matcha ihop utsänt sms med mottaget SMS |
| [O]messageClass [int]: | Hur ett SMS ska tas emot i telefonen: Tillåtna värden 0-3: 1=tas emot i inkorgen och sparas i telefonens minne 0=Flash poppar upp på skärmen och sparas INTE i minnet |
| [O]deliveryReportFlag [string]: | Hur man vill ha leveransrapporter: NONE=inga, INTERMEDIATE=alla FINAL_ONLY=Mottaget/Icke mottaget i telefonen |
| [O]encoding [string]: | Hur message ska tolkas: 7BIT, 8BIT eller 16BIT |
| [O]groupId [string]: | Id för egen referens för fakturering |
| [O]rpFlag [boolean]: | TP-RP [enligt GSM specification 03.40] |
MT SMS Delivery Report
För varje destAddr i ett SMS blir repsonsen ett id. Detta id matchar det SMS som skickats till just den destinationen. När sedan leveransrapporten kommer finns det två parametrar, id som matchas med MT-SMS som skickats samt state vilket innehåller nuvarande status för MT-SMS
State:
| SENT: | Mottaget av SMSC |
| UNSENT: | Ej mottaget av SMSC |
| BUFFERED: | Finns på SMSC men ännu inte skickat till telefon |
| DELIVERED: | Levererat till telefon |
| UNDELIVERED: | Misslyckat att leverera till telefon |
Skickas från IGATE 3.0 direkt när de kommit in till av kund angiven url. Anropsmetoden är HTTP/GET.
MO SMS
Kund uppger url till IMEZ till var kund vill ha SMS sig tillskickat. Anropsmetoden är HTTP/GET.
För parametrars betydelse, se Parametrar att använda
Network Lookup
För att se vilken operatör ett mobilnummer tillhör och i vilket nät det befinner sig, görs ett uppslag mot Imez SMSC
Enklaste exemplet är att direkt i webläsaren skriva in URL:
https://username:password@igate.imez.se/api/lookup?msisdn=+467xxxxxxxx
Ersätt msisdn med det nummer som ska slås upp.
Följande parametrar erhålls:
VLR (i vilket nät telefonnumret befinner sig i)
Mobile Network Code (vilket nät telefonnumret tillhör)
Exempel
Ladda ner exempelkod för HTTP/GET i Java,
AtomNetworkLookupExample.javaEditera filen och ändra variablerna:
username - ditt användarnamn för denna tjänst
password - lösenord knutet till användarnamnet
atomUrl - URL till iGATE 3.0
msisdn - mobilnummer som ska kollas