API dokumentáció
REST API dokumentáció a Systream rendszerhez.
Autentikáció
Az API használatához fel kell venni egy API -s felhasználót a rendszerbe. A felhasználó rögzítése után a rendszer generál egy Kulcsot (KEY) és egy jelszót (SECRET). Ezek szükségesek ahhoz, hogy API hívást tudjunk intézni a szolgáltatás felé.
A szolgáltatás a https://systream.hu/salvus/api/
url-en érhető el.
Basic HTTP auth -al kell azonosítanunk magunkat, a megadott kulcs (KEY) és jelszó (SECRET) párossal.
Használat
Az API-t GET
, POST
, PUT
HTTP metódussal lehet megívni.
A GET-tel adatot kérdezünk le, POST és a PUT-al adatokat tárolunk, mentünk el.
A rendszer mindig JSON kódolt adatokat küld. A visszatérési adat szerkezetében mindig van egy success elem, ami jelzi, hogy a művelet sikeres volt.
Siker esetén a kért információ a meghívott url GET metódussal: https://systream.hu/salvus/api/schema/customers
Válasz:
{ "id":"43", "account_id":"1", "name":"customers", "label":"\u00dcgyfelek", "description":"\u00dcgyf\u00e9ladatok (n\u00e9v, c\u00edm, e-mail, telefon, stb...)", "sequence_id":"2", "allow_to_delete":"0", "named_property":"342", "default_search_filter":"", "user_cant_edit":"1" }
Sikertelen kérés esetén pedig egy success paraméterben false érték és a message elem szolgál információval a hibát illetően.
{ "success":false, "message":"An system error occurred. We will fix as soon as possible. Please come back later!" }
PHP -s segéd kliens osztály
Elkészítettünk egy PHP -s kliens osztályt, amivel könnyebben, gyorsabban internálható az API. Megtalálható a github -on: https://github.com/systream/REST-API-client
Felhasználási példa:
require 'RestClient.php'; require 'SalvusClient.php'; $client = new SalvusClient('API key','API secret'); try { // set working schema $client->setSchema('schemaName'); // get current schema data $schemaData = $client->getSchema(); // get schema properties $schemaProperties = $client->getProperties(); // get the detailed data one of the properties $propertyData = $client->getPropertyData($schemaProperties[0]['id']); // get data $data = $client->getData(10); } catch (Exception $e) { echo 'Error: '.$e->getMessage(); }
Parancsok
Séma tulajdonságainak lekérdezése
URL: https://systream.hu/salvus/api/schema/[schema_name]
Metódus: GET
Válasz:
{ "id":"43", "account_id":"1", "name":"customers", "label":"\u00dcgyfelek", "description":"\u00dcgyf\u00e9ladatok (n\u00e9v, c\u00edm, e-mail, telefon, stb...)", "sequence_id":"2", "allow_to_delete":"0", "named_property":"342", "default_search_filter":"", "user_cant_edit":"1" }
Sémához tartozó adat lekérdezése
URL: https://systream.hu/salvus/api/schema/[schema_name]/[data_id]
Metódus: GET
Válasz:
{ "342":"Systream Kft", "343":"info@systream.hu", "344":"", "346":"Budapest", "347":"N\u00e1dor u. 16", "348":"00-00-000000", "349":"", "340":"2013-12-28 14:45:10", "341":"22", "345":"1046" }
Formátum: „Tulajdonság azonosító”: „adat”
Séma tulajdonságok adatainak lekérdezése
URL: https://systream.hu/salvus/api/properties/[schema_name]/
Metódus: GET
Válasz:
[ { "id":"340", "schema":"43", "label":"Created", "description":"Time when data created", "element":"9", "not_null":"0", "validation":"", "default_value":"now()", "not_visible":"1", "order":"100", "size":"0", "autocomplete":"0", "global_search":"0", "not_editable":"1", "calendar":"0", "show_in_search_table":"1", "user_cant_edit":"1", "related_schema":"0", "is_public":"0", "show_in_calendar":"0", "is_unique":"0", "additional":"" }, { "id":"341", "schema":"43", "label":"Created by", "description":"Userid of the user who created", "element":"10", "not_null":"0", "validation":"", "default_value":"currentuserid()", "not_visible":"1", "order":"100", "size":"0", "autocomplete":"0", "global_search":"0", "not_editable":"1", "calendar":"0", "show_in_search_table":"1", "user_cant_edit":"1", "related_schema":"0", "is_public":"0", "show_in_calendar":"0", "is_unique":"0", "additional":"" }, ... ]