Support » Dokumentation » Http gateway

HTTP(S) GATEWAY

Forord

Dette dokument beskriver metoder og brugen af afsendelse af SMS gennem HTTP POST/GET.

Vores service er baseret på et script, der lytter efter de forskellige request parametre, der definere hvilken besked der skal afsendes.
Parametre navnene er ligefrem, f.eks. hedder modtager parametret "to", og afsender parametret "from".

Systemet sørger automatisk for at dele beskeder der er længere end 160 tegn, modtageren vil stadig se beskeden som en besked, såfremt modtageres telefon understøtter dette.
Såfremt en besked er længere end 160 tegn, vil hver del den deles i blive afregnet.

SMS Afsendelse

SMS Afsendelse er baseret på både GET og POST URL forespørgsler.

Forespørgslen skal sendes til en af følgende adresser:

http://sms.coolsmsc.dk/
http://sms.coolsmsc.dk:8080/
https://sms.coolsmsc.dk/
https://sms.coolsmsc.dk:8081/


Sidst 2 nævnte er SSL Krypteret.

De tilsendte variabler, analyseres som enten GET eller POST parametre.
Alle parametre skal URL Encodes, i henhold til RFC 1738, med undtagelse af at + betragtes som et mellemrum([SPACE]).

En forespørgsel vil se således ud:

http://sms.coolsmsc.dk:8080/?username=xxxx&password=xxxx&to=4512345678&from=SM S+HTTP+GW&message=hello+world


Dette vil sende en besked til +4512345678, med afsender "SMS HTTP GW", og med teksten "hello world".

Parametre

usernamePåkrævetBrugernavnet for den konto, beskeden skal sendes for.
passwordPåkrævetKodeordet til den konto, beskeden skal sendes for.
messageBeskeden der skal afsendes til modtageren.
Denne streng skal være encoded i windows-1252 karaktersættet, med mindre charset parametret er angivet.

Såfremt en port er specificeret, skal denne streng angives som en hexadecimal representation af den binære data, der ønskes afsendt.
toPåkrævetModtageren af beskeden.
Modtagernummer skal angives med landekode, uden foranstillet + eller 00.
fromPåkrævetAfsender af beskeden.
Optil 11 alfanummeriske tegn, eller 22 tal.
Såfremt værdien er alfanummerisk, skal denne encodes i windows-1252 karaktersættet.
resulttypeMåden du ønsker gatewayen skal svare på.

Som standard vil den besvare med en tekststreng der beskriver resultatet.

Derudover kan du sætte det til at være urlencoded hvor svaret vil blive returneret som en urlencoded streng.

F.eks. var1=val1&var2=val2&var3=val3sendes som Afsender af beskeden.

resulttype kan også sættes til XML, hvorfra du vil få et XML dokument som svar, når du posten til gatewayen.
langSproget du ønsker at resultatet skal beskrives i, værdierner kan være som følger:

en for Engelsk.

Hvis udeladt er sproget dansk.
charsetHvis du ønsker at afsende i et andet karaktersæt end windows-1252, kan du specificere karaktersættet her, og din besked vil blive fortolket i det givne karaktersæt.

Vær opmærksom på at det kun er gyldige GSM tegn(GSM 03.38 Default Character Set), der kan sendes igennem.
Ugyldige tegn vil blive erstattet af den et lignende karakter, eller blive fjernet fra beskeden.

HTTP Svar

Når du afsender en SMS vil der være en HTTP Header med navnet X-Status der enten vil være "success" eller "failure", afhængig af resultatet af forespørgslen.
Det anbefales at kontrollere resultatet af din forespørgsel med denne header.

Indholdet af dokumentet er afhængig af den valgte "resulttype".

urlencoded:

Indholdet er en urlencoding af 2 variabler, status og result.

status=STATUS&result=RESULT

status parametret er enten "success" eller "failure".
Afhængig af resultatet af forespørgslen, vil parametret result være en beskrivelse af resultatet.
Er status sat til "success" vil der være et ekstra parametre kaldet msgid. Dette indeholder det interne ID på beskeden fra CoolSMS.


xml:

For XML dokumentet findes der en DTD på http://sms.coolsmsc.dk/dtd/smsc.dtd


Hverken xml eller urlencoded:

Indholdet af resultatet vil være en streng der beskriver resultatet.

Special beskeder

Special beskeder er afhængig af den underlæggende gateway der benyttes.

Såfremt du har problemer med at benytte en speciel type beskeder, er du yderst velkommen til at kontakte os, så vi kan hjælpe dig videre.

Binære beskeder

Med binære beskeder kan du afsende special beskeder, f.eks. Nokia vcard og lignende.

For at afsende binære beskeder kan der benyttes en række ekstra parametre:
formatI forbindelse med binære beskeder skal denne sættes til værdien BINARY.
portPorten der skal sendes til på telefonen.

Porten defineres som en decimal værdi, så hvis du er vant til at benttte porte med HEX værdier, som 158A skal disse konverteres.
messageBeskden der ønskes sendt som. Værdien skal være en binær streng.

Class beskeder

Med klasser kan du definere vigtigheden af beskeden, samt hvor den skal gemmes.

classVærdien af den klasse der skal benyttes.

Ønsker du ikke at benytte klasser skal du undlade denne parameter.


Der er 4 forskellige klasser der kan benyttes:

0Beskeden vises direkte på telefonen, og gemmes ikke i telefonens hukommelse, med mindre brugeren vælger dette.

Denne besked type kaldes ofte for flash beskeder.
1Denne besked klasse indikerer at beskeden skal gemmes i telefonens hukommelse. Enten på telefonen eller SIM Kortet afhængig af tilgængeligheden.
2Denne klasse indikerer at beskeden indeholder SIM kort data.
3Denne klasse indikerer at beskeden skal sendes til en ekstern enhed, benyttes til Terminal udstyr.


Medmindre du ved hvordan du benytter klasserne bør du undlade at benytte dette.

UNICODE

I en almindelig SMS er der plads til 140 Octest, for at udvide dette har man udviklet 7 bit alfabetet, der gør at man kan sende 160 tegn på 140 Octets.

Dette begrænser dog udvalget af tegn. Har man derfor brug for at sende mere eksotiske tegn, kan man benytte sig af UNICODE, dette bruges f.eks. i forbindelse med Russiske, Arabiske, Kinesiske og Japanske tegn.

Dette begrænser dog beskedens længde til 70 tegn pr. besked.

For at sende UNICODE beskeder skal du benytte parameteret type og sætte det til værdien UNICODE.

Du kan også benytte charset parametret som tidligere beskrevet for at sende med et andet tegnsæt.

Hvis du ønsker at sende i hex skal du sætte % foran alle hexadecimal værdier.

Et eksempel på en arabisk besked:

http://sms.coolsmsc.dk:8080/?username=xxxx&password=xxxx&to=4512345678&from=SM
S+HTTP+GW&format=UNICODE&message=%06%2D%06%44%06%48%00%0D%00%0A
&charset=UCS-2BE

WAPPUSH

Wappush beskeder, er beskeder hvor i der bliver sendt et link, så kan åbnes direkte i telefonens browser, når beskeden er modtaget af telefonen.

For at sende en wappush besked kan du benytte følgende parametre:

formatPåkrævetVed wappush beskeder skal værdien sættes til WAPPUSH
pushurlPåkrævetURL'en du ønsker der skal sendes til Mobil Terminalen
messagePåkrævetBeskrivelse af linket som vil blive vist på Mobil Terminalen
pushexpireUdløbsdatoen på linket, angivet som et UNIX Timestamp.

Som standard sættes dette til nuværende dato + 7 dage


For at sende en wappush besked med link til http://www.coolbiz.dk med teksten CoolBIZ, gør da følgende:

http://sms.coolsmsc.dk:8080/?username=xxxx&password=xxxx&to=4512345678&from=SM
S+HTTP+GW&message=CoolBIZ&format=WAPPUSH&pushurl=http%3A%2F%2Fwww.cool
biz.dk

MMS

Mms beskeder, er en præsentation med en række vedhæftede filer der sendes til telefonen.

For at sende en MMS besked skal du benytte følgende parametre:

formatPåkrævetVed MMS beskeder skal værdien sættes til MMS
messagePåkrævetIndeholder emnet på den MMS du sender.
attachment[]PåkrævetDette parameter kan forekomme flere gange, og indeholder en URL til de filer du vil have sendt med beskeden.

Hvis du ønsker at sende en præsentation skal det første attachment[] være linket til en SMIL fil, der ender på .smil


For at sende en MMS besked med et billede, og emnet CoolBIZ, gør da følgende:

http://sms.coolsmsc.dk:8080/?username=xxxx&password=xxxx&to=4512345678&from=SM
S+HTTP+GW&message=CoolBIZ&format=MMS&attachment[]=http%3A%2F%2domain
.tldF%2image.jpg

Overtaksering

Hvis du ønsker at overtaksere en besked, og har adgang til 2-Vejs kommunikation, kan du udsende takserings beskeder via gateway'en.

Når du overtaksere en besked skal du sætte 2 parametre:

fromPåkrævetSkal sættes til applikationskoden du overtaksere fra.
push_pricePåkrævetSkal sættes til værdien på takseringen i Øre.


Derudover skal afsenderen altid være den applikationskode der skal takseres på.

I nedenstående eksempel er der vist hvordan man overtaksering på applikationskoden 1272, med 1 Kr. og 50 øre.

http://sms.coolsmsc.dk:8080/?username=xxxx&password=xxxx&to=4512345678&from=12
72&message=hello+world&push_price=150

Status rapporter

For at følge leveringen af SMS Beskeder, samt eventuelt, se hvilke beskeder der ikke bliver leveret, kan du anmode om at få tilsendt status rapporter.

Status rapporterne sendes via et HTTP GET kald, til en URL du angiver.

Det anbefales at dine systemer er online 24x7 da fejlede status rapporter ikke vil blive forsøgt igen.

For at modtage status rapporter skal du benytte følgende parametre:



statusPåkrævetFor at modtage status rapporter skal værdien sættes til on
statusurlPåkrævetURL'en du ønsker at modtage status rapporter på
returndataEn streng på 255 octets, som kunden kan bruge som deres eget ID


Hvis resulttype ikke er angivet til en værdi, vil retur svaret fra gateway'en være et unikt ID, i stedet for en beskrivende tekst.
For andre værdier af resulttype henvises til afsnittet "HTTP Svar"

Når Status rapporten sendes til kunden vil den have følgende parametret specificeret:


msgidDet unikke besked ID på beskeden
receivetimeUNIX Timestamp for status rapporten
toModtageren af beskeden der kommer en status rapport for
statusStatus på beskeden.

Statusen kan være en af følgende værdier.

received - Beskeden er modtaget
rejected - Beskeden er afvist af SMSC'en, af forskellige årsager (Se statuscode for forklaring)
buffered - Beskeden er forsøgt leveret, vil blive forsøgt igen senere
expired - Gyldighedsperioden er udløbet, beskeden har ikke kunnet blive leveret
reasonBeskrivelsen af status på beskeden
statuscodeFejlkoden på den afviste besked, jævnfør nedenstående fejlkoder
returndataHvis returndata er specificeret, ved afsendelse af SMS, vil denne være udfyldt med den af kunden angivne værdi
logdateDato for afsendelse af beskeden, i formatet YYYY_mm_dd

Fejlkoder

0Unknown subscriber
1Service temporary not available
2Service temporary not available
3Service temporary not available
4Service temporary not available
5Service temporary not available
6Service temporary not available
7Service temporary not available
8Service temporary not available
9Illegal error code
10Network time-out
50Error in MS
100Facility not supported
101Unknown subscriber
102Facility not provided
103Call barred
104Operation barred
105SC congestion
106Facility not supported
107Absent subscriber
108Delivery fail
109SC congestion
110Protocol error
111MS not equipped
112Unknown SC
113SC congestion
114Illegal MS
115MS not a subscriber
116Error in MS
117SMS lower layer not provisioned
118System fail
119PLMN system failure
120HLR system failure
121VLR system failure
122Previous VLR system failure
123Controlling MSC system failure
124VMSC system failure
125EIR system failure
126System failure
127Unexpected data value
200Error in address service centre
201Invalid absolute Validity Period
202Short message exceeds maximum
203Unable to Unpack GSM message
204Unable to convert IRA ALPHANBET
205Invalid validity period format
206Invalid destination address
207Duplicate message submit
208Invalid message type indicator

Fejlkoders special betydning ved overtaksering

104Operation barred - Deres saldo er ikke høj nok til at gennemfør takseringen
114Illegal MS - Brugeren har spærret for overtaksering, enten tjenesten, shortcoden eller generelt

Udvalgte cases hos
CoolSMS® Business: