-
Fortumo Premium SMS conectividad especificación técnica
Conectividad Premium SMS es el el tipo de servicio más flexible de Fortumo. Le permite crear prácticamente cualquier servicio SMS, que usted podría pensar, pero requiere algunos conocimientos de programación y un servidor web donde se pueda alojar su programa (por ejemplo, un script PHP).
Cuando el servicio recibe un mensaje, Fortumo hará una petición HTTP GET a la URL que ha especificado en la configuración de servicios (por ejemplo http://yourdomain.com/sms.php). El contenido que recibe de su URL de Fortumo (en realidad los 120 primeros caracteres del mismo) va a ser reenviado al usuario como un mensaje de respuesta. Los parámetros de la solicitud HTTP GET que especificar el número de teléfono del remitente, el contenido del mensaje, etc. Así,usted puede utilizar toda esa información para generar el mensaje de respuesta.



-
Parámetros
message- El contenido de los mensajes, menos palabras clave. Por lo tanto, si el mensaje fue CLAVE TXT 123, entonces este parámetro es 123. El parámetro está vacío, si sólo había la palabra clave y no un texto adicional en el mensaje.
sender- Mensaje de número de teléfono del remitente en formato internacional sin el signo más. Por ejemplo, 358401234567 o 4560123456.
country- El código del país del remitente del operador móvil. Dos códigos de caracteres se usan de acuerdo a la norma ISO 3166-1 (SE para Suecia, FI - Finlandia, NO - Noruega, LT - Lituania, LV - Letonia, EE - Estonia, etc.) Por favor, también tenga en cuenta que este no es necesariamente la ubicación real del remitente. Por ejemplo, el remitente con un teléfono sueco, podría estar enviando el mensaje durante su itinerancia en Noruega, y usted todavía vería el país SE en dicho campo.
price- El precio del usuario final del mensaje en la moneda local, incluido el IVA.
currency- El símbolo de moneda local de acuerdo a la norma ISO 4217 (en euros, coronas suecas, coronas noruegas, coronas danesas, litai, LVL, EEK, USD, GBP, etc.)
service_id- Una cadena que identifica este servicio Fortumo . Por ejemplo f7fa12b381d290e268f99e382578d64a. Si usted tiene muchos servicios con la misma URL, entonces puede utilizar este campo para determinar qué servicio es para el mensaje.
message_id- Una cadena que es única para cada mensaje que reciba su servicio.
keyword- La palabra clave del mensaje. Por lo tanto, si el mensaje fue CLAVE TXT 123, entonces este parámetro es TXT CLAVE.
shortcode- El código corto que el mensaje fue enviado a.
operator- Nombre del remitente del operador de redes móviles.
billing_type- Can be MO or MT. Read more about billing types in Fortumo FAQ.
status- Estatus de facturación, que és uno
pending okofailed test- Este parámetro sólo está presente cuando envía usted el mensaje a través de pruebas de interfaz Fortumo y su valor siempre es "verdadero".
sig- Solicitud de la firma que usted puede comprobar, para asegurarse de que la solicitud es procedente de Fortumo. Véase más adelante, debajo de Seguridad, para averiguar cómo.
La gente normalmente sólo necesitan
messagey tal vezsenderparámetros, pero para usos más avanzados, también hemos añadido otros.


-
Security
Es importante asegurarse de que la secuencia de comandos de servicio es operado por Fortumo y no otra persona. Existen varias medidas de seguridad, que satisfacen a la mayoría de los proveedores de servicios:
-
Compruebe si la dirección IP del servidor que hace la solicitud corresponde a uno de los servidores de Fortumo. Nuestros actuales direcciones IP son ip1% () y (% IP2). Le avisaremos por e-mail cuando cambien. En PHP usted puede verificar esto con$_SERVER["REMOTE_ADDR"]variable. -
Optar por un nombre no obvio para el directorio o el script. Por ejemplo http://yourdomain.com/sms.phpno es tan buena como http://yourdomain.com/go850g3oigjrtog/sms.php. -
Compruebe que la firma adjunta coincide. Todas las solicitudes se firman con el secreto compartido que sólo conoce usted y Fortumo. Usted puede ver el secreto en la página de configuración de servicios. La firma se añadirá comosigparámetro y se calcula como suma de control md5 de la solicitud y secreto junto a parámetros vinculados. Usted puede hacer el mismo cálculo y comprobar sisigel parámetro de la petición coincide con el que calcula. Véase el siguiente ejemplo PHP para saber exactamente cómo se hace el cálculo.
-


-
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); } ?>
Copiar al portapapeles





