sau  ÎNREGISTREAZĂ-MĂ!
Ai uitat parola?
 
 
  • Specificaţii tehnice pentru serviciul Fortumo SMS-Premium

    Conexiunea SMS-Premium este cel mai flexibil tip de serviciu Fortumo. Acesta permite, practic, crearea oricărui serviciu SMS la care te-ai putea gândi, dar, necesită câteva cunoştinţe de programare şi un server-web pentru găzduirea programului tău (de exemplu, un script PHP). Interacţiunea dintre serverul nostru şi scriptul tău va fi pe baza solicitărilor HTTP GET. Există trei tipuri posibile de solicitări HTTP, care sunt descrise mai jos. Parametrii prezenţi în aceste cereri sunt întotdeauna aceeaşi. În prelucrarea mesajului cel mai importante şi obligatoriu este primul tip.

    Livrarea mesajului Când serviciul tău, primeşte un mesaj, Fortumo va face o cerere HTTP GET către URL-ul pe care l-ai specificat în configuraţia serviciului (de exemplu http://domeniultău.com/sms.php). Conţinutul pe care îl primeşte Fortumo de la URL-ul tău, (de fapt primele 120 de caractere din el) este apoi trimis înapoi către utilizator ca un mesaj de raspuns. Parametrii acestei solicitări HTTP GET specifică numărul de telefon al expeditorului, conţinutul mesajului, etc. Deci, poţi folosi toate aceste informaţii pentru a genera mesajul de răspuns.

    Rapoarte de facturare

    În ţările cu facturare MT operatorii raportează dacă facturarea a fost realizată cu succes sau a eşuat la încercarea de trimitere a mesajului de răspuns. Dacă doreşti să primeşti aceste informaţii, în configurarea serviciului Premium, trebuie să alegi opţiunea rapoarte de facturare. Noi îţi vom trimite un raport de facturare la adresa URL indicată, după livrarea mesajului. Orice răspuns primit de la script-ul tău va fi considerat ca livrare cu succes. Răspunsul tău la raportul de facturare nu va fi retransmis la operator, aşadar nu poţi utiliza solicitarea rapoartelor de facturare pentru a trimite mesajul de răspuns. Foloseşte prima solicitare.

    Testarea script-ului tău

    Contul tău are încorporată o funcţiune de testare. După configurarea în contul tău a URL-ului script-ului tău, poţi selecta tab-ul "Test" şi să iniţiezi o solicitare test de la serverul nostru către script-ul tău. Parametru de testare va fi prezentat în solicitarea testul cererea şi setată cu valoarea true.

  • Parametri

    message
    Conţinutul mesajului fără cuvintele cheie. Astfel, daca mesajul a fost TXT KEY 123, atunci, acest parametru este 123. Parametrul este gol dacă mesajul nu conţine nici un text suplimentar în afară de cuvintele cheie.
    sender
    Numărul de telefon al expeditorului mesajului în format internaţional fără semnul plus. De exemplu, 4560123456 sau 358401234567.
    country
    Codul de tara al operatorului de care apartine expeditorul. Conform cu standardul ISO 3166-1 este folosit codul cu doua caractere (RO pentru Romania, SE - Suedia, FI - Finlanda, NO - Norvegia, LT - Lituania, LV - Letonia, EE - Estonia, etc). Acest cod nu reprezinta neaparat locatia expeditorului. De exemplu, un expeditor cu telefon din Bulgaria poate trimite un mesaj din Romania (prin roaming), dar tu vei vedea tot BG in campul tara.
    price
    Preţul final al mesajului în moneda locală, cu TVA inclus.
    currency
    Simbolul monedei locale conform cu ISO 4217 (EUR, SEK, NOK, DKK, LTL, LVL, EEK, USD, GBP, RON, etc).
    service_id
    Un cod ce identifica acest serviciu Fortumo. De exemplu f7fa12b381d290e268f99e382578d64a. Dacă ai mai multe servicii cu acelaşi URL, atunci vei putea folosi acest câmp pentru a determina pentru care serviciu este destinat mesajul.
    message_id
    Un cod care este unic pentru fiecare mesaj pe care serviciul tău îl primeşte.
    keyword
    Cuvântul cheie parte a mesajului. Astfel, dacă mesajul a fost TXT CHEIA 123, atunci acest parametru este TXT CHEIA.
    shortcode
    Numărul scurt către care a fost trimis mesajul.
    operator
    Numele operatorului celui care a trimis mesajul.
    billing_type
    Poate fi MO sau MT. Citeşte mai mult despre tipurile de facturare în Fortumo FAQ.
    status
    Starea facturării, poate să fie în curs,în solicitare de livrare mesaj), ok sau eşuată(în raportul de facturare).
    test
    Acest parametru este prezent numai atunci când mesajul este trimis prin interfaţa de testare Fortumo, de către tine, iar valoarea acestuia este întotdeauna "true".
    sig
    Solicită o semnătură pe care o poţi verifica, pentru a fi sigur, solicitarea vine de la Fortumo. Vezi mai jos, sub Securitate, cum se foloseşte.

    Utilizatorii, de obicei, au nevoie doar de parametrimessage şi posibilsender, dar pentru utilizatori mai avansaţi, am adăugat şi alţii.

  • Security

    Este important să te asiguri că scriptul serviciului este apelat de Fortumo şi nu de altcineva. Sunt mai multe măsuri de securitate, care satisfac majoritatea furnizorilor de servicii.:

    1. Verifica daca adresa IP a serverului care face solicitarea apartine vreunuia dintre serverele Fortumo. Adresele noastre IP curente sunt 81.20.151.38, 81.20.148.122 si 209.20.83.207. Te vom anunta prin e-mail cand se schimba. In PHP poti verifica asta cu variabila $_SERVER["REMOTE_ADDR"].
    2. Alege un nume mai putin evident pentru directorul sau scriptul tau. De exemplu http://yourdomain.com/sms.php nu este la fel de bun ca http://yourdomain.com/go850g3oigjrtog/sms.php.
    3. Verifica daca semnatura atasata se potriveste. Toate solicitarile sunt semnate cu codul secret cunoscut doar tie si Fortumo. Poti vedea codul secret din pagina de configurare a serviciului. Semnatura este adaugata ca paramentru sig si este calculata ca md5 checksum din parametrii solicitarilor si codul secret concatenate. Poti face acelasi calcul pentru a verifica daca parametrul sig din solicitare se potriveste cu cel calculat de tine. Vezi exemplul PHP de mai jos pentru a afla exact cum se face calculul.

  • 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);
      }
    ?>
    
    Copiaza in clipboard

Termeni de folosire a serviciului supportro@fortumo.com