oder  MELDE MICH AN!
Haben Sie Ihr Passwort vergessen?
 
 
  • Fortumo Premium-SMS-Verbindungen technische Spezifikation

    Premium SMS-Verbindungen ist der flexibelste Dienst in Fortumo. Er ermöglicht Ihnen praktisch jeden SMS-Dienst zu erstellen an den Sie denken können. Er erfordert einige Programmierkenntnisse und einen Web-Server auf dem Sie Ihr Programm (zum Beispiel als ein PHP-Skript) hosten können.

    Wenn Ihr Dienst eine Nachricht empfängt wird Fortumo eine HTTP-GET-Request an die von Ihnen, in der Dienst-Spezifikation, genannte URL senden (z. B. http://yourdomain.com/sms.php). Der Inhalt, den Fortumo von Ihrer URL (oder eigentlich die ersten 120 Zeichen davon) erhält wird dann als Antwort zurück an den Benutzer gesandt. Die Parameter des HTTP-GET-Request geben die Telefonnummer des Absenders, Inhalt der Nachricht etc. an. So können Sie all diese Informationen benutzen um die Antwort-Nachricht zu generieren.

  • Parameter

    message
    Inhalt der Nachricht minus Keywords. Demzufolge ist der Parameter 123 wenn die Nachricht aus TXT KEY 123 besteht. Der Parameter ist leer, wenn es nur das Keyword und kein weiterer Text in der Nachricht steht.
    sender
    Telefonnummer des Absenders im internationalen Format, ohne Pluszeichen. Zum Beispiel: 4560123456 oder 358401234567.
    country
    Der Code des Mobilfunkbetreibers des Absenders. Zwei-Zeichen-Codes werden nach ISO-Norm 3166-1 (SE für Schweden, FI - Finnland, NO - Norwegen, LT - Litauen, LV - Lettland, EE - Estland usw.)verwendet. Bitte beachten Sie auch, dass dies nicht unbedingt der tatsächlichen Standort des Absenders ist. Zum Beispiel kann der Absender mit einem schwedischen Telefon mit Hilfe von Roaming eine Nachricht in Norwegen versenden und Sie würden weiterhin SE im Feld für das Land stehen sehen.
    price
    Die Endverbraucherpreises der Nachricht in der lokalen Währung, inklusive Mehrwertsteuer.
    currency
    Dielokale Währungsabkürzung wird gemäß ISO 4217 (EUR, SEK, NOK, DKK, LTL, LVL, EEK, USD, GBP, usw.) dargestellt.
    service_id
    Eine Zeichenfolge, welche diesen Fortumo-Dienst beschreibt. Zum Beispiel f7fa12b381d290e268f99e382578d64a. Falls Sie viele Dienste mit der gleichen URL haben, dann können Sie dieses Feld nutzen um festzulegen für welchen Dienst die Nachricht ist.
    message_id
    Eine Zeichenfolge, die einmalig ist für jede Nachricht, welche Ihr Dienst erhält.
    keyword
    Das Keyword ist ein Teil der Nachricht. Deshalb, wenn die Nachricht TXT KEY 123 war, ist dieser Parameter TXT KEY.
    shortcode
    Kurzwahl, an welche die Nachricht gesendet wurde.
    operator
    Name des Mobilfunkbetreibers des Absenders.
    billing_type
    Can be MO or MT. Read more about billing types in Fortumo FAQ.
    status
    Rechnungs-Status, die entweder pending ok oder failed sind
    test
    Dieser Parameter ist nur sichtbar wenn die Nachricht durch Sie selbst über die Fortumo Test-Schnittstelle verschickt wird. Deren Wert ist immer 'true'.
    sig
    Fordern Sie eine überprüfbare Signatur an um sicherzustellen, dass die Anfrage wirklich von Fortumo kommt. Sehen Sie unter Sicherheit um herauszufinden wie es funktioniert.

    Die Nutzer müssen in der Regel nur message und vielleicht sender Parameter. Für die fortgreschrittenen Nutzer haben wir auch andere Parameter hinzugefügt.

  • Security

    Es ist wichtig sicherzustellen, dass das Skript des Dienstes von Fortumo kommt und nicht von jemand anderem. Darin gibt es mehrere Sicherheitsmaßnahmen, welche die meisten der Service Provider zufriedenstellen.:

    1. Prüfen Sie, ob die IP-Adresse des Servers welcher die Anfrage gesendet hat zu einem Fortumo-Server gehört. Unsere aktuellen IP-Adressen sind 81.20.151.38, 81.20.148.122 und 209.20.83.207. Wir lassen Sie per E-Mail wissen, wenn sie sich ändern. In PHP können Sie dies mit der $_SERVER["REMOTE_ADDR"] Variable überprüfen.
    2. Wählen Sie einen nicht so offensichtlichen Namen für Ihr Verzeichnis oder ein Skript. Zum Beispiel ist http://yourdomain.com/sms.php nicht so gut wie http://yourdomain.com/go850g3oigjrtog/sms.php.
    3. Prüfen Sie, ob die beigefügte Signatur übereinstimmt. Alle Anfragen werden mit den gemeinsamen geheimen Schlüssel, der nur Ihnen und Fortumo bekannt ist, unterzeichnet. Sie können den Schlüssel auf der Einstellungsseite des Dienstes sehen. Die Signatur wird als sig Parameter hinzugefügt und wird als MD5-Prüfsumme aus dem Request-Parameter und dem Schlüssel berechnet. Sie können die gleiche Berechnung durchführen und prüfen ob der sig Parameter in der Anfrage mit dem den Sie berechnet haben übereinstimmt. Um genau herauszufinden wie die Berechnung erfolgt sehen Sie sich bitte das unten stehende PHP-Beispiel an.

  • Sample sms.php

    <?php
    
      //set true if you want to use script for billing reports
      //first you need to enable them in your account
      $billing_reports_enabled = false;
    
      // check that the request comes from Fortumo server
      if(!in_array($_SERVER['REMOTE_ADDR'],
          array('81.20.151.38', '81.20.148.122', '209.20.83.207'))) {
        die("Error: Unknown IP");
      }
    
      // check the signature
      $secret = ''; // insert your secret between ''
      if(!empty($secret) && !check_signature($_GET, $secret)) {
        die("Error: Invalid signature");
      }
    
      $sender = $_GET['sender'];
      $message = $_GET['message'];
    
      // do something with $sender and $message
      $reply = "Thank you $sender for sending $message";
    
      // print out the reply
      echo($reply);
     
     //customize this according to your needs
      if($billing_reports_enabled 
        && preg_match("/Failed/i", $_GET['status']) 
        && preg_match("/MT/i", $_GET['billing_type'])) {
       // find message by $_GET['message_id'] and suspend it
      }
    
    
      function check_signature($params_array, $secret) {
        ksort($params_array);
    
        $str = '';
        foreach ($params_array as $k=>$v) {
          if($k != 'sig') {
            $str .= "$k=$v";
          }
        }
        $str .= $secret;
        $signature = md5($str);
    
        return ($params_array['sig'] == $signature);
      }
    ?>
    
    Kopieren in die Zwischenablage

Nutzungsbedingungen support@fortumo.com