ili  Priključi se!
Zaboravili ste lozinku?
 
 
  • Fortumo Premium SMS-konekcija - tehnička specifikacija

    Premium SMS-konekcija je najfleksibilniji tip usluge u ponudii Fortuma. Omogućava Vam da naplatite pristup sadržaju na internetu na bilo koji način koji možete da zamislite, ali zahteva određeno poznavanje web programiranja i web server na kome će Vaš program raditi (na primer, PHP-script).

    Kada korisnik pošalje poruku za Vaš SMS servis, Fortumo će poslati HTTP GET zahtev na URL koji ste naveli u konfiguraciji usluge (na primer, http://vas-domen.com/sms.php). Sadržaj koji Fortumo primi sa Vašeg URL-a (ili preciznije, prvih 120 karaktera koje pošaljete) se zatim šalje korisniku kao odgovor. Parametri tog HTTP GET zahteva preciziraju broj telefona pošiljaoca, sadržaj poruke, itd, tako da možete iskoristiti i te podatke da bi kreirali odgovor.

  • Parametri

    message
    Sadržaj poruke bez ključnih reči. Dakle, ako je poruka TXT KEY 123, ovaj parametar je 123. Parametar je prazan ako je poslata samo ključna reč, bez pratećeg teksta.
    sender
    Broj telefona pošiljaoca poruke u međunarodnom formatu bez plus znaka. Na primer, 381641234567 or 358401234567.
    country
    Pozivni broj za zemlju mobilnog operatera pošiljaoca poruke. Prema ISO 3166-1 standardu, koristimo dvoznačne kodove (SE za Švedsku, FI - Finska, NO - Norveška, LT - Litvanija, LV - Letonija, EE - Estonija itd). Molimo Vas da imate u vidu da ovo NIJE nužno i lokacija pošiljaoca u trenutku slanja poruke. Na primer, pošiljalac sa švedskim telefonom može da pošalje poruku dok je u roamingu u Norveškoj, i vi bi ste ipak imali SE u polju za zemlju.
    price
    Cena poruke za krajnjeg korisnika izražena u lokalnoj valuti, bez PDV-a.
    currency
    Simbol za lokalnu valutu prema ISO 4217 standardu (EUR, SEK, NOK, DKK, LTL, LVL, EEK, USD, GBP itd).
    service_id
    String koji identifikuje ovaj Fortumo servis. Na primer f7fa12b381d290e268f99e382578d64a. Ako imate više servisa sa istim URL-om, možete koristiti ovaj string da ustanovite za koji servis je poruka poslata.
    message_id
    String koji je jedinstven za svaku poruku koju Vaš servis primi.
    keyword
    Ključna reč. Dakle, ako je poruka TXT KEY 123, ovaj parametar je TXT KEY.
    shortcode
    Kratki kod na koji je poruka poslata.
    operator
    Name of the sender's mobile network operator.
    billing_type
    Može biti MO ili MT. Pročitajte više o tipovima naplate na Fortumo FAQ.
    status
    Billing status, which is either pending(in message delivery request), ok or failed(in billing report).
    test
    This parameter is present only when message is sent through Fortumo testing interface by yourself and it's value is always 'true'.
    sig
    Potpis koji možete da proverite da bi bili sigurni da zahtev dolazi od Fortuma. Pogledajte detalje u sekciji o Bezbednosti.

    U najvećem broju slučajeva, potreban je samo message i eventualno sender parametar, ali za naprednije korisnike smo dodali i druge parametre.

  • Security

    Važno je da se uverite da skriptu servisa poziva Fortumo a ne neko drugi. Postoji nekoliko bezbednosnih mera koje zadovoljavaju većinu provajdera servisa.:

    1. Proverite da li IP adresa servera od koga primate zahtev pripada jednom od Fortumo servera. IP adrese koje trenutno koristimo su 81.20.151.38, 81.20.148.122 i 209.20.83.207. Obavestićemo Vas putem e-maila kada i ako ih budemo promenili. U PHP kodu, ovo možete proveriti korišćenjem $_SERVER["REMOTE_ADDR"] varijable.
    2. Nazovite svoj direktorijum ili skriptu imenom koje nije toliko očigledno. Na primer, http://yourdomain.com/go850g3oigjrtog/sms.php je bolji izbor od http://yourdomain.com/sms.php.
    3. Proverite da li se priloženi potpis poklapa. Svi zahtevi su potpisani sa deljenom šifrom koju znate samo Vi i Fortumo. Šifru možete videti na stranici za podešavanje servisa. Potpis je priložen kao sig parametar i izračunat je kao md5 checksum pripojenih parametara zahteva i šifre. Možete izvršiti isti proračun i proveriti da li se sig parametar u zahtevu slaže sa onim koji ste izračunali. Pogledajte PHP primer na ovoj strani da saznate kako se vrši izračunavanje.

  • 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);
      }
    ?>
    
    Kopiraj na klipbord

uslovi korišćenja supportbo@fortumo.com