Moski2.net SMS Gateway API

Med denne gateway kan du sende SMSer fra din applikation direkte ud på mobilnettet. Siden her forklarer hvordan - er du interesseret i at blive oprettet som kunde kan du kontakte de gode mennesker på Moski2.net.

Sådan snakker du med SMS-gatewayen

Du sender en HTTP GET-forespørgsel til adressen http://smsgw.moski2.net/send for at sende dine beskeder - parametrene er forklaret i denne tabel, og et komplet eksempel følger efter:

Parameter Påkrævet Default Forklaring
user ja   Dit brugernavn
number ja   Modtagerens mobilnummer
countrycode nej 45 Landekoden for modtageren. Sender du udelukkende til danske numre kan du udelade denne parameter, da standard-værdien er 45, som er den danske landekode
msg ja   Indholdet af din besked. Max 160 tegn. Husk at URL-encode din besked, med EFTER du har beregnet din checksum (se mere om checksum herunder).
checksum ja  

I stedet for at sende dit kodeord og udsætte det for opsnapningsfare sender du i stedet en checksum der verificerer at du kender kodeordet.

Det fungerer ved at du konkatenerer nogle af de andre parametre samt dit kodeord og laver en md5-checksum af det hele - serveren laver så samme øvelse i den anden ende, og derved kan vi se om det rette kodeord er blevet brugt til at udregne checksummen, uden rent faktisk at udveksle det.

Du konkatenerer følgende værdier i denne rækkefølge: <msg><user><password><number>

Du kan se et komplet PHP-eksempel længere nede på siden.

responsetype nej xml

Måden du vil have svar fra gatewayen på. Som standard får du et XML-dokument retur der fortæller dig lidt om hvordan det gik, samt hvor mange enheder der er tilbage på din konto:

<?xml version="1.0" encoding="utf-8"?>
<result msgid="11825">
  <status code="000">Message sent</status>
  <credits used="1" left="2693"/>
</result>

Statuskoden er den der fortæller hvordan det gik med at få sendt din besked - du kan se de mulige statuskoder i tabellen nederst på siden.

Hvis du er ligeglad med den ekstrainfo der er i XML-dokumentet og kun er interesseret i statuskoden kan du sætte "responsetype" til "status" - så får du kun statuskoden retur.

unicode nej 0

Hvis du skal sende en besked med mange specialtegn (som f.eks. "Dávur Eyðunsson Sørensen" :o) ), sæt "unicode" til "1" - så er der bedre chancer for at beskedden ser rigtig ud i den anden ende.

Bemærk at:

  • Dette ikke er nødvendigt for de danske bogstaver æ, ø og å.
  • At unicode-beskedder kun må være 70 tegn, mod de almindelige 160 - de "fylder" simpelthen mere når de sendes ud på netværket.

Komplet PHP-eksempel

Her er et komplet eksempel til PHP-folket:


<?php

$user 
'ditbrugernavn';
$pass 'ditkodeord';
$msg 'Hurra, her kommer jeg, og det endda med specialtegn: %^&@"tadaaaa"...';

$qsParts = array(
         
'user' => $user,
         
'msg' => $msg,
         
'number' => 12345678,
         
'countrycode' => 45,
         
'responsetype' => 'status'
         
);

$qsParts['checksum'] = md5($qsParts['msg'] . $qsParts['user'] . $pass $qsParts['number']);

// http_build_query sørger for at encode etc.
$request http_build_query($qsParts);

// file_get_contents klarer selve forespørgslen
$response file_get_contents('http://smsgw.moski2.net/send?' $request);

if(
'000' == $response) {
  echo 
'Besked sendt';
} else {
  echo 
'Besked ikke sendt: ' $response;
}

?>

Statuskoder

Din forespørgsel til gatewayen vil blive besvaret med en af følgende statuskoder:

000 Message sent
100 Invalid request
101 Not access to this country code
102 Message too long
103 Gateway problem (administrator notified)
104 Insufficient credits
105 Unicode message too long