SMS-gatewayFlådestyringAutomatisk kørebogPriserKontakt
Fjernsupport ☎ 899 399 00 Log ind

Send med HTTP / HTTPS

Alle afsendelser med HTTPS skal ske til flg. URL:
https://sms.stadel.dk/send.php

Alle kald skal laves som HTTP GET eller HTTP POST.

Følgende variabler er mulige. 
Variabel  Beskrivelse  Påkrævet 
user  Brugernavn  Ja 
pass  Password  Ja 
message  Besked der skal sendes, max 1530 tegn

Hvis beskeden overstiger 1530 tegn fjernes ekstra tegn automatisk for at sikre levering

Bemærk at ældre telefonen kan have problemer med at modtage mere end 459 tegn, svarende til 3 SMS á 153 tegn.
Ja 
mobile 

Modtager, adskil flere med komma 

Husk landekode uden + eller 00 foran, f.eks. 4542420321

Ja, hvis ikke group er angivet
group ID på gruppe (under medlemmer), kan ikke angives samtidig med mobile

Beskeden sættes til afsendelse og efterfølgende afsendes beskederne
Ja, hvis ikke mobile er angivet
sender  Afsender, 3 - 11 tegn, tilladte tegn: a-z 0-9 Nej 
sms_id  Eget ID for afsendt besked, adskil med komma, hvis der er flere modtagere. Tilladt op til 50 tegn. Nej 
url_ok  URL der skal kaldes, hvis beskeden leveres korrekt til modtageren. Tilladt op til 250 tegn. Nej 
url_error URL der skal kaldes, hvis beskeden ikke leveres korrekt til modtageren. Tilladt op til 250 tegn. Nej 
time Tidspunkt for afsendelse af besked, beskeden lægges i 'Besked arkiv' til senere afsendelse
Angives i formatet åååå-mm-dd tt:mm, f.eks. 2008-12-14 20:30
Nej 
department Benyttes hvis du ønsker at inddele din statistik i flere afdelinger. Kan indeholde bogstaver og tal (a-z samt 0-9). Op til 25 tegn. Nej
gsm_id

Benyttes ved afsendelse via hostet simkort. Kræver dit eget hostet simkort.
Flg. parametre har ikke nogen funktion, når der sendes via hostet simkort: sender, sms_id, url_ok, url_error, department

Hvis du har hostet flere simkort, kan du angive parameteren "auto", hvorved der automatisk vælges det simkort, der har færrest sms i udbakke.

Nej 

Som svar på HTTP kaldet modtages f.eks. følgende:
 
OK|12345|Sendt til SMS-gateway
OK|12346|Sendt til SMS-gateway
 
Der vil optræde en linie for hver modtager. Første parameter er enten "OK" eller "ERROR". Ved "ERROR" medsendes en fejl-besked som sidste parameter.
 
Bemærk at vores SMS-gateway afviser gentagne afsendelser inden for 60 sekunder, dvs. hvor alle parametre er ens som det tidligere kald.
 
Desuden afviser vores SMS-gateway hvis der sendes mere end 10 beskeder til samme nummer inden for 5 minutter.
 
Encodingen er ISO-8859-1.
 
 
Funktion til afsendelse af SMS:
function send_sms($mobile, $message, $sender)
{
    $user = "Dit brugernavn her";
    $pass = "Dit password her";
    $gsm_id = ""; 			// Angiv GSM-ID, hvis du vil sende via hosted simkort
    $url_ok = ""; 			// Angiv en URL her, hvis vi skal kalde den, når SMS er leveret
    $url_error = ""; 		// Angiv en URL her, hvis vi skal kalde den, hvis SMS fejler
    
    $response = file_get_contents("https://sms.stadel.dk/send.php" .
        "?user=" . urlencode($user) . 
        "&pass=" . urlencode($pass) . 
        "&mobile=" . urlencode($mobile) . 
        "&message=" . urlencode($message) .
        "&sender=" . urlencode($sender) .
        "&gsm_id=" . urlencode($gsm_id) .
        "&url_ok=" . urlencode($url_ok) .
        "&url_error=" . urlencode($url_error));
        
    if (preg_match("/^OK\|([0-9]+)\|(.*)$/", $response, $array))
    {
        // Afsendelse OK
        $id = $array[1];	// Her har du vores ID for denne SMS, gem det, hvis du har behov for det
        return true;
    }
    elseif (preg_match("/^ERROR\|([0-9]+)\|(.*)$/", $response, $array))
    {
        // Afsendelse fejlet
        $error = $array[2];
        return $error;
    }
    else
    {
        // Ukendt svar fra server
        $error = "Ukendt svar";
        return $error;
    }
}
Anvendelse af funktionen:
$result = send_sms("4512345678", "Hej dette er en test-SMS. Har du fået den?", "4512345678");
if ($result === true)
{
	echo("SMS afsendt korrekt");
}
else
{
	echo("SMS ikke afsendt korrekt. ($result)");
}
Funktion til afsendelse af SMS (kan med fordel placeres i et modul ved anvendelse i Access):
Private Function url_encode(ByVal str As String) As String
    Dim newstr, chr As String
    Dim i As Integer
    
    For i = 1 To Len(str)
        chr = Mid(str, i, 1)
    
        Select Case Asc(chr)
        
            Case 32
                newstr = newstr & "+"
                
            Case 48 To 57, 65 To 90, 97 To 122
                newstr = newstr & chr
                
            Case Else
                newstr = newstr & "%" & Right("0" & Hex(Asc(chr)), 2)
        
        End Select
    Next i
    
    url_encode = newstr
End Function

Public Function send_sms(ByVal mobile As String, ByVal message As String, ByVal sender As String) As String
    Dim user, pass, gsm_id, url_ok, url_error, response As String
    Dim ohttp As Object
    
    user = "Dit brugernavn her"
    pass = "Dit password her"
    gsm_id = ""             ' Angiv GSM-ID, hvis du vil sende via hosted simkort
    url_ok = ""             ' Angiv en URL her, hvis vi skal kalde den, når SMS er leveret
    url_error = ""          ' Angiv en URL her, hvis vi skal kalde den, hvis SMS fejler
    
    On Error GoTo httperror
    Set ohttp = CreateObject("MSXML2.XMLHTTP")
    ohttp.Open "GET", "https://sms.stadel.dk/send.php" & _
        "?user=" & url_encode(user) & _
        "&pass=" & url_encode(pass) & _
        "&mobile=" & url_encode(mobile) & _
        "&message=" & url_encode(message) & _
        "&sender=" & url_encode(sender) & _
        "&gsm_id=" & url_encode(gsm_id) & _
        "&url_ok=" & url_encode(url_ok) & _
        "&url_error=" & url_encode(url_error) & _
        "&" & CStr(Timer), True
    ohttp.SetRequestHeader "Connection", "Close"
    ohttp.Send
    
    ' Venter på HTTP objektet får svar
    iTimeout = Timer + 3    ' Du kan ændre timeout, hvis det er nødvendigt
    While iTimeout > Timer And ohttp.ReadyState <> 4
        DoEvents
    Wend
    
    If (ohttp.Status = 200 Or ohttp.Status = 201) Then
        ' HTTP kald er gået godt
        
        If (Left(ohttp.responseText, 3) = "OK|") Then
            ' Afsendelse OK
            send_sms = "OK"
        ElseIf (Left(ohttp.responseText, 8) = "ERROR|0|") Then
            ' Afsendelse fejlet
            send_sms = ohttp.responseText
        Else
            ' Ukendt svar fra server
            send_sms = "Ukendt svar"
        End If
        
    Else
        ' Ukendt svar fra server
        send_sms = "Serverfejl " & CStr(ohttp.Status)
        
    End If

    Set ohttp = Nothing
    Exit Function
    
httperror:
    ' Uventet fejl
    Set ohttp = Nothing
    send_sms = Err.Description
End Function
Anvendelse af funktionen:
Dim result As String
result = send_sms("4512345678", "Hej dette er en test-SMS. Har du fået den?", "4512345678")
If (result = "OK") Then
    MsgBox ("SMS afsendt korrekt")
Else
    MsgBox ("SMS ikke afsendt korrekt. (" & result & ")")
End If
Funktion til afsendelse af SMS:
import urllib.request

def send_sms(mobile, message, sender):
    user = "Dit brugernavn her"
    passw = "Dit password her"
    gsm_id = ""                             # Angiv GSM-ID, hvis du vil sende via hosted simkort
    url_ok = ""                             # Angiv en URL her, hvis du vil kalde den, hvis SMS er leveret
    url_error = ""                          # Angiv en URL her, hvis du vil kalde den, hvis SMS fejler

    params = {
        "user": user,
        "pass": passw,
        "mobile": mobile,
        "message": message,
        "sender": sender,
        "gsm_id": gsm_id,
        "url_ok": url_ok,
        "url_error": url_error,
        "utf8": "true"
    }
    data = urllib.parse.urlencode(params)
    data = data.encode("ascii")
    req = urllib.request.Request("https://sms.stadel.dk/send.php", data)
    with urllib.request.urlopen(req) as response:
        body = response.read().decode("iso-8859-1")
        if (body[0:3] == "OK|"):
            return True
        elif (body[0:6] == "ERROR|"):
            return body[8:]
        else:
            return "Ukendt svar: " + body
Anvendelse af funktionen:
result = send_sms("4512345678", "Dette er en test - har du modtaget den?", "4512345678")
if result == True:
    print("SMS afsendt korrekt")
else:
    print("SMS ikke afsendt korrekt. (" + result + ")")
Privatliv Handelsbetingelser Driftinfo
Stadel.dk ApS, Liseborg Mark 32A, 8800 Viborg, Denmark, CVR DK36938447