Descrição Introdutória
Bem vindo a API da Quickium! Esta é nossa documentação gerada utilizando docbox, abaixo consta as rotas para envio e requisição de dados.
URL Base
api.quickium.com
Rota de inserção de objetos JSON de leituras para a API.
Responses
Resposta | Descrição |
---|---|
200 |
Success |
400 |
Bad Request |
401 |
Unauthorized |
403 |
Forbidden |
404 |
Page Not Found |
406 |
Not Acceptable |
500 |
Internal Server Error |
503 |
Unavailable |
500 |
HTTP timeout |
https://api.quickium.com/v2.0/clapi/insert
import requests
# url from api
url = "https://api.quickium.com/v2.0/clapi/insert"
# example data
data = {
"apikey": "ABCDEFG12345GHIJKLMNO67890",
"data": [
{
"123": 1.121,
"456": 2.4234,
"789": 3.65,
"time": 1587569357
},
{
"123": 1.211,
"456": 4.3242,
"789": 5.63,
"time": 1587569657
}
]
}
# send a post to url with data
response = requests.post(url, json=data)
# check the request status
print(response.status_code)
# check the response
print(response.json())
{
"apikey": "string",
"data": [
{
"time": "unixtime",
"<sensor_id_1>": "value",
"<sensor_id_2>": "value",
"<sensor_id_n>": "value"
},
{
"time": "unixtime",
"<sensor_id_1>": "value",
"<sensor_id_2>": "value",
"<sensor_id_n>": "value"
}
]
}
Rotas de retorno de dados de sensores da API
Retorna 500 pontos por sensor independentemente do período
Properties
Property | Tipo | Descrição |
---|---|---|
apikey |
string ($string) | (required) API key |
start |
float ($unixtime) | (optional) Data de início para seleção dos dados; na falta deste argumento, a seleção inicializa no dado mais antigo registrado |
end |
float ($unixtime) | (optional) Data final para seleção dos dados; na falta deste argumento, a seleção finaliza no dado mais recente registrado |
sensor |
string ($string) | (optional) IDs dos sensores separados por ponto e vírgula ";". Na falta deste argumento, os dados de todo o gateway serão retornados |
Responses
Resposta | Descrição |
---|---|
200 |
Success |
400 |
Bad Request |
401 |
Unauthorized |
404 |
Page Not Found |
500 |
Internal Server Error |
503 |
Unavailable |
500 |
HTTP timeout |
https://api.quickium.com/v2.0/clapi/graph_points?apikey={apikey}
https://api.quickium.com/v2.0/clapi/graph_points?apikey={apikey}&sensor={sensor_id_1};{sensor_id_3}
import requests
# url from api
url = "https://api.quickium.com/v2.0/clapi/graph_points?apikey=ABCDEFG12345GHIJKLMNO67890"
# send a get to url
response = requests.get(url)
# check the request status
print(response.status_code)
# check the response
print(response.json())
{
"<sensor_id_1>": [
[
"unixtime",
"value"
]
],
"<sensor_id_n>":[
[
"unixtime",
"value"
]
]
}
{
"<sensor_id_1>": [
[
"unixtime",
"value"
]
],
"<sensor_id_3>":[
[
"unixtime",
"value"
]
]
}
{
"1": [
[
1587150227,
5.1
],
[
1587150527,
6.3
],
[
1587150827,
5.6
]
],
"2":[
[
1587150527,
6
],
[
1587150827,
8
]
]
}
Retorna os dados dos sensores convertidos e integrados de acordo com o passo de integração
Properties
Property | Tipo | Descrição |
---|---|---|
apikey |
string ($string) | (required) API key |
start |
float ($unixtime) | (optional) Data de início para seleção dos dados; na falta deste argumento, a seleção inicializa no dado mais antigo registrado |
end |
float ($unixtime) | (optional) Data final para seleção dos dados; na falta deste argumento, a seleção finaliza no dado mais recente registrado |
sensor |
string ($string) | (optional) IDs dos sensores separados por ponto e vírgula ";". Na falta deste argumento, os dados de todo o gateway serão retornados |
step |
integer ($int64) | (optional) Passo de integração. Ex.: se o step for 300, os dados serão integrados de 300 em 300 segundos; na falta deste argumento, o passo de integração será de 300 segundos |
unique_timestamp |
boolean ($bool) | (optional) Caso este argumento seja True, apenas a timestamp final da integração é retornada para cada dado dos sensores, caso seja False, a timestamp inicial e final serão retornadas |
Responses
Resposta | Descrição |
---|---|
200 |
Success |
400 |
Bad Request |
401 |
Unauthorized |
404 |
Page Not Found |
406 |
Not Acceptable |
500 |
Internal Server Error |
503 |
Unavailable |
500 |
HTTP timeout |
https://api.quickium.com/v2.0/clapi/integrated_readings?apikey={apikey}
https://api.quickium.com/v2.0/clapi/integrated_readings?apikey={apikey}&sensor={sensor_id_1};{sensor_id_3}
import requests
# url from api
url = "https://api.quickium.com/v2.0/clapi/integrated_readings?apikey=ABCDEFG12345GHIJKLMNO67890"
# send a get to url
response = requests.get(url)
# check the request status
print(response.status_code)
# check the response
print(response.json())
{
"<sensor_id_1>": [
[
[
"initial_unixtime",
"final_unixtime"
],
"value"
]
],
"<sensor_id_n>": [
[
[
"initial_unixtime",
"final_unixtime"
],
"value"
]
],
}
{
"<sensor_id_1>": [
[
"final_unixtime",
"value"
]
],
"<sensor_id_3>": [
[
"final_unixtime",
"value"
]
],
}
{
"1": [
[
[
1587150300,
1587150600
],
5.1
],
[
[
1587150600,
1587150900
],
6.3
],
[
[
1587150900,
1587151200
],
5.6
]
],
"2":[
[
[
1587150300,
1587150600
],
6
],
[
[
1587150600,
1587150900
],
8
]
]
}
{
"1": [
[
1587150600,
5.1
],
[
1587150900,
6.3
],
[
1587151200,
5.6
]
],
"2":[
[
1587150600,
6
],
[
1587150900,
8
]
]
}
Retorna todos os dados de cada sensor de acordo com o período
Properties
Property | Tipo | Descrição |
---|---|---|
apikey |
string ($string) | (required) API key |
start |
float ($unixtime) | (optional) Data de início para seleção dos dados; na falta deste argumento, a seleção inicializa no dado mais antigo registrado |
end |
float ($unixtime) | (optional) Data final para seleção dos dados; na falta deste argumento, a seleção finaliza no dado mais recente registrado |
sensor |
string ($string) | (optional) IDs dos sensores separados por ponto e vírgula ";". Na falta deste argumento, os dados de todo o gateway serão retornados |
Responses
Resposta | Descrição |
---|---|
200 |
Success |
400 |
Bad Request |
401 |
Unauthorized |
404 |
Page Not Found |
500 |
Internal Server Error |
503 |
Unavailable |
500 |
HTTP timeout |
https://api.quickium.com/v2.0/clapi/read_all_data?apikey={apikey}
https://api.quickium.com/v2.0/clapi/read_all_data?apikey={apikey}&sensor={sensor_id_1};{sensor_id_3}
import requests
# url from api
url = "https://api.quickium.com/v2.0/clapi/read_all_data?apikey=ABCDEFG12345GHIJKLMNO67890"
# send a get to url
response = requests.get(url)
# check the request status
print(response.status_code)
# check the response
print(response.json())
{
"<sensor_id_1>": [
[
"unixtime",
"value"
]
],
"<sensor_id_n>":[
[
"unixtime",
"value"
]
]
}
{
"<sensor_id_1>": [
[
"unixtime",
"value"
]
],
"<sensor_id_3>":[
[
"unixtime",
"value"
]
]
}
{
"1": [
[
1587150227,
5.1
],
[
1587150527,
6.3
],
[
1587150827,
5.6
]
],
"2":[
[
1587150527,
6
],
[
1587150827,
8
]
]
}
Retorna os IDs e tipos dos sensores do gateway da apikey informada
Properties
Property | Tipo | Descrição |
---|---|---|
apikey |
string ($string) | (required) API key |
Tipos de dados
Tipo | Descrição |
---|---|
0 |
Binário |
1 |
Inteiro |
2 |
Decimal |
Responses
Resposta | Descrição |
---|---|
200 |
Success |
400 |
Bad Request |
401 |
Unauthorized |
404 |
Page Not Found |
500 |
Internal Server Error |
503 |
Unavailable |
500 |
HTTP timeout |
https://api.quickium.com/v2.0/clapi/get_sensor?apikey={apikey}
import requests
# url from api
url = "https://api.quickium.com/v2.0/clapi/get_sensor?apikey=ABCDEFG12345GHIJKLMNO67890"
# send a get to url
response = requests.get(url)
# check the request status
print(response.status_code)
# check the response
print(response.json())
[
[
"<sensor_id_1>",
"<sensor_type>"
],
[
"<sensor_id_n>",
"<sensor_type>"
]
]
[ [ 117, 0 ], [ 118, 1 ], [ 119, 2 ] ]
Retorna o armazenamento de todos os gateways e armazenamento total utilizado pelo cliente em kilobytes independentemente de qual apikey do cliente for informada
Properties
Property | Tipo | Descrição |
---|---|---|
apikey |
string ($string) | (required) API key |
Responses
Resposta | Descrição |
---|---|
200 |
Success |
400 |
Bad Request |
401 |
Unauthorized |
404 |
Page Not Found |
500 |
Internal Server Error |
503 |
Unavailable |
500 |
HTTP timeout |
https://api.quickium.com/v2.0/clapi/memory?apikey={apikey}
import requests
# url from api
url = "https://api.quickium.com/v2.0/clapi/memory?apikey=ABCDEFG12345GHIJKLMNO67890"
# send a get to url
response = requests.get(url)
# check the request status
print(response.status_code)
# check the response
print(response.json())
{
"<gateway_id_1>": "kb_value",
"<gateway_id_n>": "kb_value",
"total": "kb_value"
}
{
"1": 45,
"2": 57327,
"total": 57372
}
Retorna o histórico de uso de tráfego de dados e armazenamento de acordo com as apikeys e dias informados
Properties
Property | Tipo | Descrição |
---|---|---|
data |
JSON | (required) JSON codificado com o método percent-encoding contendo as chaves "apikeys" e "days" |
apikeys |
list ($list) | Chave do JSON que conterá as apikeys entre colchetes "[]" e separadas por vírgula ",". Ex.: [" |
days |
integer ($int64) | Chave do JSON que conterá a quantidade de dias em que será buscado o histórico |
Responses
Resposta | Descrição |
---|---|
200 |
Success |
400 |
Bad Request |
401 |
Unauthorized |
404 |
Page Not Found |
500 |
Internal Server Error |
503 |
Unavailable |
500 |
HTTP timeout |
https://api.quickium.com/v2.0/clapi/usage_history?data=%7B%0A%20%20%22apikeys%22%3A%20%5Bapikeys%5D%2C%0A%20%20%22days%22%20%3A%20days%0A%7D
import requests
# url from api
url = "https://api.quickium.com/v2.0/clapi/usage_history"
# example data
json_data = {
"apikeys": ["ABCDEFG12345GHIJKLMNO67890"],
"days" : 30
}
# send a get to url
response = requests.get(url, json=json_data)
# check the request status
print(response.status_code)
# check the response
print(response.json())
{
"apikeys": ["<apikey1>", "<apikey2>"],
"days": "int"
}
[
{
"day": "day",
"node_id": "gateway_id_1",
"storage_kb": "kb_value",
"traffic_kb": "kb_value"
},
{
"day": "day",
"node_id": "gateway_id_2",
"storage_kb": "kb_value",
"traffic_kb": "kb_value"
},
{
"day": "day",
"node_id": "gateway_id_n",
"storage_kb": "kb_value",
"traffic_kb": "kb_value"
}
]
[
{
"day": 1646784000000,
"node_id": 200000,
"storage_kb": 100000,
"traffic_kb": 50
},
{
"day": 1646870400000,
"node_id": 200000,
"storage_kb": 100000,
"traffic_kb": 67
},
{
"day": 1646956800000,
"node_id": 200000,
"storage_kb": 100000,
"traffic_kb": 71
}
]
Rota para deletar os dados dos sensores de acordo com o período
Responses
Resposta | Descrição |
---|---|
200 |
Success |
400 |
Bad Request |
401 |
Unauthorized |
404 |
Page Not Found |
500 |
Internal Server Error |
503 |
Unavailable |
500 |
HTTP timeout |
https://api.quickium.com/v2.0/clapi/delete_data
import requests
# url from api
url = "https://api.quickium.com/v2.0/clapi/delete_data"
# example data
data = {
"data": {
"start": 0,
"end": 5,
"ABCDEFG12345GHIJKLMNO67890": [117]
}
}
# send a delete request to url with data
response = requests.delete(url, json=data)
# check the request status
print(response.status_code)
# check the response
print(response.json())
{
"data": {
"start": "int",
"end": "int",
"<apikey>": ["<sensor_id_1>", "<sensor_id_2>", "<sensor_id_n>"]
}
}
{
"deleted_rows": "int"
}
{
"deleted_rows": 2
}
Rota para deletar todos os dados dos sensores
Responses
Resposta | Descrição |
---|---|
200 |
Success |
400 |
Bad Request |
401 |
Unauthorized |
404 |
Page Not Found |
500 |
Internal Server Error |
503 |
Unavailable |
500 |
HTTP timeout |
https://api.quickium.com/v2.0/clapi/delete_sensor
import requests
# url from api
url = "https://api.quickium.com/v2.0/clapi/delete_sensor"
# example data
data_to_delete = {
"data": {
'ABCDEFG12345GHIJKLMNO67890': [
{
'node_id': 3,
'api_id': 117,
'api_table': 0
},
{
'node_id': 3,
'api_id': 118,
'api_table': 1
},
{
'node_id': 3,
'api_id': 119,
'api_table': 2
}
]
}
}
# send a delete request to url with data
response = requests.delete(url, json=data_to_delete)
# check the request status
print(response.status_code)
# check the response
print(response.json())
{
"data": {
"<apikey>": [
{
"node_id": "int",
"api_id": "int",
"api_table": "int"
},
{
"node_id": "int",
"api_id": "int",
"api_table": "int"
},
{
"node_id": "int",
"api_id": "int",
"api_table": "int"
}
]
}
}
true
True
Retorna a unixtimestamp do último dado dos Kpis informados, de acordo com o tempo informado (Limitado a 240 dias)
Properties
Property | Tipo | Descrição |
---|---|---|
apikey |
string ($string) | (required) API key |
kpi |
string ($string) | (required) IDs dos kpis separados por ponto e vírgula ";" |
keep_data |
int ($int64) | (required) A partir de quanto tempo atrás (em segundos) serão buscados os dados dos kpis |
Responses
Resposta | Descrição |
---|---|
200 |
Success |
400 |
Bad Request |
401 |
Unauthorized |
404 |
Page Not Found |
500 |
Internal Server Error |
503 |
Unavailable |
500 |
HTTP timeout |
https://api.quickium.com/v2.0/clapi/kpis_last_time?apikey={apikey}&kpi={kpi_id_1};{kpi_id_3}&keep_data={int}
import requests
# url from api
url = "https://api.quickium.com/v2.0/clapi/kpis_last_time?apikey=ABCDEFG12345GHIJKLMNO67890&kpi=1000;1001;1002&keep_data=0"
# send a get to url
response = requests.get(url)
# check the request status
print(response.status_code)
# check the response
print(response.json())
{
"unixtime": [
"<kpi_id_1>",
"<kpi_id_2>",
"<kpi_id_n>"
]
}
{
"1639544435": [
1000,
1001,
1002
]
}