Informace o uživateli

Toto API slouží k získání informací o uživateli.

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

Služba

User info API patří do služby Obecné (general).

Parametry volání API

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

CTRL

Pevná hodnota: user_info

Identifikace uživatele

Jedno z následujících:

id
Id uživatele.
login
Přihlašovací jméno uživatele.

V požadavku specifikujte jeden z výše uvedených parametrů, které unikátně identifikují uživatele, není nutné specifikovat oba. Pokud byste specifikovali oba, bude mít přednost parametr login. Pokud nebudete specifikovat žádný, potom budou výstupem informace o uživateli, který provádí požadavek.

Uživatel se smí dotazovat pouze na uživatele:

Pokud se uživatel dotáže na uživatele, na kterého nemá právo, nebo který neexistuje, nastane chyba USER_MISSING.

Příklady volání API

ukázka 1: Získání informace o uživateli (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" => "user_info",
  "_login" => $login,
  "_password" => $password,
  "_service" => "general",
  "_call" => $call,

  "id" => 10, // uživatel s id 10
));

/**
URL bude vypadat

https://api.profisms.cz/index.php?CTRL=user_info&_login=user
  &_password=fc60197e8aaa9c692a1268d7f3cead77&_service=general
  &_call=1293633208.3125&id=10
*/

$json = join("", file($url));
  
ukázka 2: Získání informace o uživateli (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" => "user_info",
  "_login" => $login,
  "_password" => $password,
  "_service" => "general",
  "_call" => $call,

  "login" => "kuk", // uživatel s přihlašovacím jménem kuk
));

/**
URL bude vypadat

https://api.profisms.cz/index.php?CTRL=user_info&_login=user
  &_password=fc60197e8aaa9c692a1268d7f3cead77&_service=general
  &_call=1293633208.3125&login=kuk
*/

$json = join("", file($url));
  
ukázka 3: Získání informace o uživateli (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" => "user_info",
  "_login" => $login,
  "_password" => $password,
  "_service" => "general",
  "_call" => $call,
  // není id ani login, výstupem budou informace o uživateli
  // s přihlašovacím jménem user
));

/**
URL bude vypadat

https://api.profisms.cz/index.php?CTRL=user_info&_login=user
  &_password=fc60197e8aaa9c692a1268d7f3cead77&_service=general
  &_call=1293633208.3125
*/

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

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

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

Popis objektu data

Objekt data obsahuje tyto vlastnosti:

id
Id uživatele.
id_user
Id vlastníka.
login
Přihlašovací jméno uživatele.
password
MD5 hesla uživatele. Tento parametr je vyplněný v případě, že se uživatel API dotazuje sám a sebe, nebo se jedná o administrátora, nebo systémového uživatele.
type
Typ uživatele.
created
Datum a čas vytvoření uživatele ve formátu rrrr-mm-dd hh:nn:ss.
account
Pole účtů uživatele, vizte níže.
contact
Pole kontaktů uživatele, vizte níže.
address
Pole adres uživatele, vizte níže.
values
Objekt některých nastavených vlastností.

Popis objektů v poli account

Objekty v poli account obsahuje tyto vlastnosti:

number
Unikátní číslo účtu (variabilní symbol pro běžné platby).
credit
Kredit na účtu (množství prostředků na účtu v měně daného účtu).
currency
Měna účtu.

Popis objektů v poli contact

Objekty v poli contact odpovídají struktuře kontaktu.

Popis objektů v poli address

Objekty v poli address odpovídají struktuře adresy.

Popis objektu values

Objekt values obsahuje tyto vlastnosti:

delivery_address
Přednastavená adresa pro doručenky.
deny_number_fix
Zda zakázat zasílání na pevná čísla (ve výchozím stavu povoleno).
deny_number_foreign
Zda zakázat zasílání na zahraniční čísla (ve výchozím stavu povoleno).
forbidden_numbers
Pole čísel, která budou považována za neplatná (na tato čísla nepůjde tímto uživatelem zasílat SMS).
invoice_mail
Zda zasílat fakturu emailem.
smsin_url
URL na které bude přesměrována příchozí SMS na základě session, klíčového slova, či jiného důvodu. URL je ve tvaru
http://www.example.com/index.php?ms=$msisdn&rec=$recipient&smstext=$smstext &so=$smsout&in=$smsin&reaon=$reason&created=$created
kde proměnné budou nahrazovány takto:
$msisdn
Telefonní číslo odesilatele
$recipient
Telefonní číslo příjemce (jesno z telefonních čísel spravovaných Crazy Tomatem)
$smstext
Text SMS
$smsout
Čárkou oddělený seznam ID odchozích SMS zpráv, které jsou (mohli být) zdrojem této příchozí SMS (session)
$smsin
ID příchozí SMS
$reason
Důvod příchozí SMS
phone
SMS přišla z telefonního čísla, které je přiřazené k tomuto uživateli.
login
SMS začíná přihlašovacím jmenem tohoto uživatele.
session
SMS byla přiřazena k tomuto uživateli za základě session.
keyword
SMS byla přiřazena k tomuto uživateli za základě klíčového slova (slov), které je přiřazené k tomuto uživateli.
smsin_email
Emailová adresa, na kterou bude zaslána příchozí SMS (společně s dalšími doprovodnými informacemi).

Ukázky požadavků a odpovědí

ukázka 4: Požadavek (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" => "user_info",
  "_login" => $login,
  "_password" => $password,
  "_service" => "general",
  "_call" => $call,
));

$json = join("", file($url));
  
ukázka 5: Odpověď
{
  "error":
  {
    "code":0,
    "message":"OK"
  },
  "data":
  {
    "id":9,
    "id_user":8,
    "login":"user",
    "password":"12345678901234567890123456789012",
    "type":"customer",
    "created":"2010-10-20 13:17:31",
    "account":
    [
      {
        "number":"1200000275",
        "credit":423.9768,
        "currency":"CZK"
      },
      {
        "number":"1200000286",
        "credit":-6.39,
        "currency":"EUR"
      },
      {
        "number":"1200000297",
        "credit":0,
        "currency":"KRD"
      }
    ],
    "contact":
    [
      {
        "id_contact":1,
        "primary":1,
        "type":"email",
        "value":"john.doe@abcdef.cz"
      },
      {
        "id_contact":2,
        "primary":1,
        "type":"cell",
        "value":"+420123456789"
      }
    ],
    "address":
    [
      {
        "id_address":3,
        "primary":1,
        "type":"postal",
        "name":"John",
        "surname":"Doe",
        "title":"",
        "company":"",
        "street":"U obchody",
        "building_number":"123",
        "city":"Praha 1",
        "zip":"12345",
        "country":"cz"
      }
    ],
    "values":
    {
        "delivery_address":"john.doe@abcdef.cz",
        "deny_number_fix": 0,
        "deny_number_foreign": 0,
        "forbidden_numbers": [],
        "invoice_mail": 1,
        "smsin_email": "john.doe.in@abcdef.cz",
        "smsin_url": "http://www.abcdef.cz/index.php?ms=$msisdn&rec=$recipient=smstext=$smstext&so=$smsout&in=$smsin&reaon=$reason&created=$created"
    }
  },
  "_key":"dabaf9ab22e681c6edc0a6b60e8d6aac",
  "_time":0.64968109130859
}
  

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

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