API v1

Descrizione della versione 1 delle API.

Prima di cominciare

Effettuare le richieste qui descritte espone il sistema a cui vi state collegando e richiede che eventuali credenziali e token siano conservati in modo sicuro.

post
Ottenere il Token della Sessione

https://api.smartface.it/control/v1/auth
Questo endpoint permette di ottenere il token della sessione, necessario per effettuare tutte le altre richieste.
Request
Response
Request
Headers
Content-Type
required
string
application/json
Body Parameters
username
required
string
Nome utente
password
required
string
Password utente
Response
200: OK
{
"token": "r:qwertyuiop1234567890"
}

post
Eliminare la Sessione

https://api.smartface.it/control/v1/logout
Questo endpoint permette di eliminare la sessione, così da rendere il token inutilizzabile.
Request
Response
Request
Headers
X-Session-Token
required
string
Token della sessione da eliminare
Response
200: OK
{
"token": <deleted_token>
}

get
JSON delle Scorciatoie

https://api.smartface.it/control/v1/shortcuts?token=abc
Questo endpoint permette di ottenere un JSON con la configurazione delle scorciatoie dell'utente a cui corrisponde il token.
Request
Response
Request
Query Parameters
token
required
string
Token della sessione
Response
200: OK
JSON con la configurazione delle scorciatoie
{
"shortcuts": [
{
"askConfirm": false,
"category": "shortcut",
"color": "#117ED9",
"desc": "Spegni tutte le luci",
"icon": "house_2",
"id": "abc123",
"itemACL": [
{
"id": "qwerty",
"read": true,
"write": true
}
],
"name": "Demo",
"objectId": "system",
"operations": [
{
"function": {
"args": {},
"name": "turn_off_all_lights"
},
"objectId": "system",
"timer": {
"days": 0,
"hours": 0,
"min": 0,
"sec": 0
}
}
],
"parameters": []
},
{
"askConfirm": false,
"category": "shortcut",
"color": "#FFB300",
"desc": "Attiva/Disattiva TV",
"icon": "tv",
"id": "abc1234",
"itemACL": [
{
"id": "qwerty",
"read": true,
"write": true
}
],
"name": "TV",
"objectId": "ac278aa6-fdd8-4899-960e-55ad702452ce",
"operations": [
{
"function": {
"args": {},
"name": "toggle"
},
"objectId": "ac278aa6-fdd8-4899-960e-55ad702452ce",
"timer": {
"days": 0,
"hours": 0,
"min": 0,
"sec": 0
}
}
],
"parameters": []
},
{
"askConfirm": false,
"category": "shortcut",
"color": "#880E4F",
"desc": "Apri/Chiudi cancello",
"icon": "gate",
"id": "abc12345
"itemACL": [
{
"id": "qwerty",
"read": true,
"write": true
}
],
"name": "Cancello",
"objectId": "",
"operations": [
{
"function": {
"args": {},
"name": "on"
},
"objectId": "a41f6a53-3b69-44e4-abf2-fed4bed8785c",
"timer": {
"days": 0,
"hours": 0,
"min": 0,
"sec": 0
}
}
],
"parameters": []
}
]
}

È possibile evitare l'uso del token nell'url e allegarlo agli Headers.

get
JSON Scorciatoie con Headers

https://api.smartface.it/control/v1/shortcuts
Come il precedente metodo, anche in questo caso otteniamo un JSON con la configurazione delle scorciatoie, ma il token lo indichiamo negli Headers. Consigliamo questa soluzione in quanto non espone il token nell'url.
Request
Response
Request
Headers
Content-Type
required
string
application/json
X-Session-Token
required
string
Token della sessione
Response
200: OK
{
"shortcuts": [
{
"askConfirm": false,
"category": "shortcut",
"color": "#117ED9",
"desc": "Spegni tutte le luci",
"icon": "house_2",
"id": "abc123",
"itemACL": [
{
"id": "qwerty",
"read": true,
"write": true
}
],
"name": "Demo",
"objectId": "system",
"operations": [
{
"function": {
"args": {},
"name": "turn_off_all_lights"
},
"objectId": "system",
"timer": {
"days": 0,
"hours": 0,
"min": 0,
"sec": 0
}
}
],
"parameters": []
},
{
"askConfirm": false,
"category": "shortcut",
"color": "#FFB300",
"desc": "Attiva/Disattiva TV",
"icon": "tv",
"id": "abc1234",
"itemACL": [
{
"id": "qwerty",
"read": true,
"write": true
}
],
"name": "TV",
"objectId": "ac278aa6-fdd8-4899-960e-55ad702452ce",
"operations": [
{
"function": {
"args": {},
"name": "toggle"
},
"objectId": "ac278aa6-fdd8-4899-960e-55ad702452ce",
"timer": {
"days": 0,
"hours": 0,
"min": 0,
"sec": 0
}
}
],
"parameters": []
},
{
"askConfirm": false,
"category": "shortcut",
"color": "#880E4F",
"desc": "Apri/Chiudi cancello",
"icon": "gate",
"id": "abc12345
"itemACL": [
{
"id": "qwerty",
"read": true,
"write": true
}
],
"name": "Cancello",
"objectId": "",
"operations": [
{
"function": {
"args": {},
"name": "on"
},
"objectId": "a41f6a53-3b69-44e4-abf2-fed4bed8785c",
"timer": {
"days": 0,
"hours": 0,
"min": 0,
"sec": 0
}
}
],
"parameters": []
}
]
}

post
Esecuzione della Scorciatoia

https://api.smartface.it/control/v1/shortcut
Request
Response
Request
Headers
Content-Type
required
string
application/json
X-Session-Token
required
string
Token della sessione
Body Parameters
id
required
string
ID della scorciatoia
command
required
string
run
Response
200: OK

get
Visualizza Scorciatoia via Web

https://api.smartface.it/control/v1/shortcut?token=abc&link=0&lang=it
Questo endpoint permette la visualizzazione e l'esecuzione di una scorciatoia.
Request
Response
Request
Query Parameters
token
required
string
Token della sessione
id
required
string
ID della scorciatoia
lang
optional
string
Lingua di visualizzazione (en di default)
Response
200: OK
Pagina Web che permette l'esecuzione della scorciatoia
HTML