--> --> -->

Quickium API

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

Insert data

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
POST
/v2.0/clapi/insert

Example request

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())

Example request body

{
  "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"
    }
  ]
}

Read data

Rotas de retorno de dados de sensores da API

Graph points

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
GET
/v2.0/clapi/graph_points?apikey={apikey}

Example request

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())

Example response

{
  "<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
    ]
  ]
}

Integrated readings

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
GET
/v2.0/clapi/integrated_readings?apikey={apikey}

Example request

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())

Example response

{
  "<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
    ]
  ]
}

Read all data

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
GET
/v2.0/clapi/read_all_data?apikey={apikey}

Example request

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())

Example response

{
  "<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
    ]
  ]
}

Get sensor

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
GET
/v2.0/clapi/get_sensor?apikey={apikey}

Example request

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())

Example response

[
  [
    "<sensor_id_1>",
    "<sensor_type>"
  ],
  [
    "<sensor_id_n>",
    "<sensor_type>"
  ]
]
[
  [
    117,
    0
  ],
  [
    118,
    1
  ],
  [
    119,
    2
  ]
]

Memory

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
GET
/v2.0/clapi/memory?apikey={apikey}

Example request

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())

Example response

{
  "<gateway_id_1>": "kb_value",
  "<gateway_id_n>": "kb_value",
  "total": "kb_value"
}
{
  "1": 45,
  "2": 57327,
  "total": 57372
}

Usage history

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
GET
/v2.0/clapi/usage_history?data={data}

Example request

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())

Example request body

{
  "apikeys": ["<apikey1>", "<apikey2>"],
  "days": "int"
}

Example response

[
  {
    "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
  }
]

Delete data

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
DELETE
/v2.0/clapi/delete_data

Example request

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())

Example request body

{
  "data": {
    "start": "int",
    "end": "int",
    "<apikey>": ["<sensor_id_1>", "<sensor_id_2>", "<sensor_id_n>"]
  }
}

Example response

{
  "deleted_rows": "int"
}
{
  "deleted_rows": 2
}

Delete sensor

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
DELETE
/v2.0/clapi/delete_sensor

Example request

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())

Example request body

{
  "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"
      }
    ]
  }
}

Example response

true
True

Kpis last time

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
GET
/v2.0/clapi/kpis_last_time?apikey={apikey}&kpi={kpi_id_1};{kpi_id_2}&keep_data={int}

Example request

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())

Example response

{
  "unixtime": [
    "<kpi_id_1>", 
    "<kpi_id_2>", 
    "<kpi_id_n>"
  ]
}
{
  "1639544435": [
    1000, 
    1001, 
    1002
  ]
}
Quickium API Documentation