või  Loo konto!
Unustasid parooli?
 
 
  • Kuidas dünaamiline SMS-teenus töötab?

    Dünaamiline SMS- teenus on kõige paindlikum teenustüüp Fortumos. See võimaldab luua pea ükskõik millise SMS- teenuse, mille peale võid tulla, kuid selleks on vaja mõningaid programmeerimisoskusi ja veebiserverit, kus Sa saaksid oma programmi (näiteks php- skripti) majutada. Suhtlus meie serveri ja Sinu skripti vahel toimub HTTP GET päringutega. On olemas kolm võimalikku HTTP päringut, mida on kirjeldatud allpool. Parameetrid, mida päringus kasutatakse, on alati samad. Kõige tähtsam ja kohustuslik sõnumite protsessis on esimene tüüp.

    Sõnumi edastamine

    Kui Su teenusele tuleb sõnum, teeb Fortumo HTTP GET päringu URL-le, mille oled määratlenud oma teenuse konfiguratsioonis (näiteks http://yourdomain.com/sms.php). Sisu, mille Fortumo vastusena saab sinu URL-lt (või tegelikult esimesed 120 tähemärki sellest) saadetakse tagasi kasutajale vastussõnumina. Selle HTTP GET päringu parameetrid määravad ära kasutaja telefoninumbri, sõnumi sisu jne. Seega saad kasutada kogu seda informatsiooni vastussõnumi genereerimiseks.

    Maksustamise raportid

    Riikides, kus on MT-maksustamine, annavad mobiilioperaatorid sõnumi maksustamise edukuse (või ebaõnnestumise) kohta teada kohe pärast vastussõnumi väljasaatmist. Kui Sa soovid saada seda informatsiooni, peaksid Sa võimaldama maksustamise raportid oma dünaamilise SMS-teenuse konfiguratsioonis. Me saadame Sulle maksustamise raporti Sinu määratud URL-le kohe pärast sõnumi edastamist. Igasugune vastus Sinu skriptilt loetakse kui edukaks edastuseks.Sinu vastust maksustamise raportile ei edastata mobiilioperaatorile, seega ei saa Sa kasutada maksustamise raporte selleks, et edastada vastussõnumeid. Kasuta esimest päringut.

    Sinu skripti testimine

    Sinu kontol on sisseehitatud testimise funktsioon.Pärast oma URL-li lisamist oma kontole, võid minna „Testimine“ alajaotusesse menüüribal ja algatada test päringu meie serverilt Sinu skriptile.Test päringus esitatakse parameeter test ja see märgitakse kui „true“ ehk tõene.

  • Parameetrid

    message
    Sõnumi sisust märksõnad maha arvata. Näiteks, kui sõnum on TXT KEY 123, on see parameeter 123. Parameeter jääb tühjaks, kui on olemas ainult märksõna ja ei ole lisateksti sõnumis.
    sender
    Sõnumisaatja telefoninumber rahvusvahelises formaadis ilma plussmärgita. Näiteks, 4560123456 või 358401234567
    country
    Saatja mobiilioperaatori riigikood. Lähtuvalt ISO 3166-1 standardist kasutatakse kahetähelisi koode (SE- Rootsi, FI - Soome, NO - Norra, LT - Leedu, LV - Läti, EE - Eesti jne). Palun pane tähele, et see EI pruugi ilmtingimata olla saatja tegelik asukoht.
    price
    Lõppkasutaja sõnumi hind kohalikus valuutas, k.a. käibemaks.
    currency
    Kohaliku valuuta sümbol lähtuvalt ISO 4217-le (EUR, SEK, NOK, DKK, LTL, LVL, EEK, USD, GBP jne).
    service_id
    String, mis identifitseerib Sinu teenuse. Näiteks f7fa12b381d290e268f99e382578d64a. String muutub vajalikuks siis kui Sul on mitu teenust sama URL-ga, sellisel juhul saad oma teenuseid just selle stringi abil eristada.
    message_id
    String, mis on unikaalne iga sõnumi kohta, mille su teenus vastu võtab.
    keyword
    Sõnumi märksõna osa. Näiteks, kui sõnum on TXT KEY 123, on see parameeter TXT KEY.
    shortcode
    Lühinumber, millele sõnum saadeti.
    operator
    Name of the sender's mobile network operator.
    billing_type
    Võib olla MO või MT. Loe maksustamise süsteemide kohta rohkem Fortumo FAQ-st.
    status
    Maksustamise staatus, mis on kas pending (sõnumi edastamise päringus), ok või failed (maksustamise raportis).
    test
    See parameeter eksisteerib päringus vaid juhul kui sõnum on sinu poolt saadetud Fortumo testimise funktsiooni kaudu ja selle väärtus on alati 'true'.
    sig
    Päringu allkiri, et sa saaksid kontrollida, kas päring tuleb ikka Fortumolt. Vaata allpoolt Turvalisuse alt, et uurida, kuidas see käib.

    Inimestel on tavaliselt vaja message ja ehk sender parameetreid, kuid edasijõudnumatele kasutajatele oleme lisanud ka teisi.

  • Security

    On väga tähtis, et teenuse skripti kutsuks välja ainult Fortumo, mitte keegi teine. Selleks on olemas mitmeid turvameetmeid, mis rahuldavad suurema osa teenusepakkujaid.:

    1. Vaata järele, kas päringut tegeva serveri IP aadress on ikka ühe Fortumo serveri oma. Meie praegused IP aadressid on 81.20.151.38, 81.20.148.122 ja 209.20.83.207. Me anname sulle e-mailiga teada, kuid need muutuvad. PHP-s saad seda kontrollida $_SERVER["REMOTE_ADDR"] muutujaga.
    2. Ära vali väga ilmset ja lihtsat nime oma registrile või skriptile. Näiteks, http://yourdomain.com/sms.php ei ole nii hea kui http://yourdomain.com/go850g3oigjrtog/sms.php.
    3. Veendu, et kaasas olev allkiri kattuks. Kõik päringud on märgistatud ühiselt, mis on ainult teada Sulle ja Fortumole. Viimase õigsust saad kontrollida teenuse seadete vaatest. Allkiri lisatakse sig parameetrina ja arvutatakse md5 summana, kus päringu parameeter ja märge on kokku liidetud. Sa võid prooviks teha sama arvutuse ning veenduda kas sig parameeter päringus on sama, mille iseseisvalt said. Palun vaata allolevat PHP näidist, et näha kuidas arvutus täpselt käib.

  • 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);
      }
    ?>
    
    Kopeeri kood

kasutustingimused supportee@fortumo.com