Příchozí SMS

Platforma umožnuje příjem SMS pro uživatele. Příchozí SMS lze získávat pomocí API volání, předávání SMS na email nebo předávání SMS na URL.

Příjem SMS

SMS je možné přiřadit k uřivateli platformy na základě těchto důvodů:

Telefonní číslo
SMS byla předána na základě registrovaného telefonního čísla, telefonní číslo, ze kterého byla SMS odeslána.
Přihlašovací jméno
SMS byla předána na základě přihlašovacího jména uživatele - první slovo v SMS je uživatelské jméno.
Session
SMS byla předána na základě session. Při odeslání SMS je možné požádat o přiřazování příchozí odpovědí, pokud bude příchozí SMS zaslána z telefonního čísla, na které byla uživatelem platformy zaslána SMS a u dané SMS byla vyžádána session, příchozí SMS se přiřadí danému uživateli platformy. Délka session je jeden den.
Klíčové slovo
SMS byla předána na základě klíčového slova - první slovo v SMS. Slovo je možné si registrovat.

API volání

SMS info API patří do služby SMS (sms).

Základní popis a tvar API volání a odpovědi najdete popsané samostatně.

Parametry volání API

Volání musí obsahovat všechny základní parametry.

CTRL

Pevná hodnota: sms_in

from

Datum, od kterého se mají listovat SMS (včetně), ve formátu rrrr-mm-dd, nebo rrrr-mm-dd hh:nn:ss.

Není-li parametr zadán, listují se SMS od počátku.

to

Datum, do kterého se mají listovat SMS (včetně), ve formátu rrrr-mm-dd, nebo rrrr-mm-dd hh:nn:ss.

Není-li parametr zadán, listují se SMS do času volání API (čas není shora omezen).

start

Počátek listování (první SMS má index 0).

Není-li parametr zadán, výchozí hodnota je 0.

count

Počet vylistovaných SMS.

Není-li parametr zadán, listují se všechny SMS odpovídající ostatním parametrům.

msisdn

Telefonní číslo odesilatele SMS.

Není-li parametr zadán, listují se všechny SMS.

reason

Důvod přiřazení SMS.

Není-li parametr zadán, listují se všechny SMS.

SMS jsou listované v obráceném pořadí, než přišli (nejnovější SMS je listované nejdříve).

Příklady volání API

ukázka 1: Získání informace o SMS (implementace v PHP)
$login = 'user';
$call = microtime(true);
$password = md5(md5("heslo").$call);

$url = "https://api.profisms.cz/index.php?" . http_build_query(array(
  "CTRL" => "sms_in",
  "_login" => $login,
  "_password" => $password,
  "_service" => "sms",
  "_call" => $call,

  "from" => "2014-06-01", 
));

/**
URL bude vypadat
https://api.profisms.cz/index.php?CTRL=sms_in&_login=user
  &_password=aaaaa75fb5d8e95ce7dbe30e4f36c718&_service=sms&_call=123456&from=2014-06-01
*/

$json = join("", file($url));
  

Odpověď na úspěšný požadavek na API

Základní formát odpovědi naleznete v obecném popisu API.

Ukázka odpovědi

ukázka 1: Seznam příchozích SMS
{
  "error":
  {
    "code":0,
    "message":"OK"
  },
  "data":
  {
    "69964":
    {
      "id":69964,
      "id_user":9,
      "recipient":"+420606999087",
      "msisdn":"+420123456789",
      "created":"2014-06-12 15:05:14",
      "reason":"login",
      "text":"Bauglir ahoj",
      "id_smsout":[]
    },
    "69946":
    {
      "id":69946,
      "id_user":9,
      "recipient":"+420606999088",
      "msisdn":"+420987654321",
      "created":"2014-06-12 14:34:13",
      "reason":"session",
      "text":"Odpoved test b 2",
      "id_smsout":["190757084","190757120"]
    }
  },
  "_key":"fc4a4d9d5b0f76a2612759f3dd813676",
  "_time":0.15645599365234
}
  

Popis objektu data

Objekt data obsahuje seznam přízhodích SMS, klíči (názvy vlastností) jsou ID (inikátní identifikátory) jednotlivých příchozích SMS, vlatnosti jsou objekty:

id
Unikátní identifikátor přízhozích SMS.
id_user
Uživatel, kterému patří SMS (ID uživatele).
recipient
Číslo, na které byla SMS doručena (jedná se o čísla patřící platformě).
msisdn
Telefonní číslo odesilatele.
created
Datum a čas, kdy byla SMS přijata.
reason
Důvod přiřazení SMS.
text
Text SMS
id_smsout
V případě, že důvodem přiřazení SMS byla session, tato vlastnost je pole obsahující ID odchozích SMS, které mohli být zdrojem odpovědi.

Chyba požadavku

Základní formát odpovědi naleznete v obecném popisu API.

Email

V Extranetu v nastavení, v sekci SMS je možné nastavit "Email adresa pro předávání SMS". Na tuto adresu se zasílá email s informacemi o přízhozí SMS. Format emailu je pevný a není možné jej měnit.

URL

V Extranetu v nastavení, v sekci SMS je možné nastavit "URL adresa pro předávání SMS". Na tuto adresu se zasílá předávají příchozí SMS.

Format URL

V URL je možné nastavit, jaké inforamce chcete získávat a jak se mají parametry jmenovat. Url může obsahovat následující proměnné, které budou následně nahrazeny za hodnoty

$msisdn
Telefonní číslo odesilatele.
$recipient
Číslo, na které byla SMS doručena (jedná se o čísla patřící platformě).
$smstext
Text SMS
$smsout
V případě, že důvodem přiřazení SMS byla session, proměnná je nahrazena čárkou oddělenými ID odchozích SMS.
$smsin
Unikátní identifikátor přízhozích SMS. Tuto hodnotu je nutné při přadávání kontrolovat, aby nedošlo k vícenásobnému zpracování stejné příchozí SMS.
$reason
Důvod přiřazení SMS.
$created
Datum a čas, kdy byla SMS přijata.
$smsout
Seznam ID odchozích SMS, pro které byla vyžádána session a kterým byla přiřazena tato příchozí SMS jako odpověď. ID SMS jsou oddělena čárkou.

V URL není nutné použít všechny proměnné.

Ukázka URL

ukázka 2: Ukázka URL, které lze zadat do extranetu
http://www.company.com/index.php?ms=$msisdn&smstext=$smstext&in=$smsin&created=$created
  
ukázka 3: Ukázka URL, které bude fakticky voláno
http://www.company.com/index.php?ms=%2B420123456789&smstext=Text+prichozi+sms&in=74586&created=2014-07-03+00%3A58%3A50