API Automação-IOT Documentation¶
Se você está procurando a Documentação em Português clique aqui.
O que é a API do Automação-IOT?¶
Explicações aqui. Etc e tal.
Getting Started
Guia Básico¶
A API possui uma variedade de EndPoints para serem utilizados, porém este guia visa apresentar um quickstart para que você consiga de maneira rápida e prática conectar a sua aplicação ao nosso sistema.
Atenção:
Se você utiliza um ESP8266, confira nossa SDK que transparece e facilita todas as operações citadas aqui!
Observação:
A aplicação em questão pode estar rodando em um sistema embarcado ( ESP8266, Arduino, Orange PI, Linux …) ou em qualquer plataforma que você esteja trabalhando, porém nosso foco maior aqui será para sistemas embarcados.
Basicamente você apenas irá precisar de dois EndPoints em sua aplicação: getResourceLastFeeds e createResourceFeeds
O uso destes EndPoints vai depender dos recursos que sua Aplicação está utilizando, bem como se os recursos são do tipo Entrada ou do tipo Saida.
Para entender melhor o que é um recurso de entrada ou saida clique aqui.
Recurso de Entrada¶
Se o seu sistema apenas possuir recursos de entrada, você irá utilizar apenas getResourceLastFeeds.
Basicamente, um recurso de entrada é aquele que apenas recebe informações do sistema e não envia nada.
Exemplo
Recurso de Saida¶
Se o seu sistema apenas possuir recursos de saida, você irá utilizar apenas createResourceFeeds.
Basicamente, um recurso de saida é aquele que apenas envia informações para sistema e não recebe nada.
Exemplo
Múltiplos Recursos¶
Para evitar um overhead de chamadas em sua plataforma embarcada, há variações para chamadas na API para o acesso de múltiplos recursos e para o envio de múltiplos dados de diversos recursos, sendo as principais apresentadas abaixo:
Os exemplos para Recurso de Entrada e Recurso de Saida são válidos aqui, a única diferença é que este é para múltiplos recursos em um Dispositivo.
Apesar dos exemplos serem individuais, um dispositivo pode conter vários tipos de recursos ao mesmo tempo.
Tudo Pronto e Conectado!¶
Os EndPoints e explicações apresentadas acima são o necessário para começar a conectar sua aplicação ao nosso sistema. Os EndPoints apresentados aqui são apenas os principais, possuimos uma variedade de EndPoints com diversas funcionalidades.
Confira a página de Autenticação para entender como funciona nosso sistema de Presença de Dispositivos.
FAQ¶
Presença do dispositivo não está atualizando.¶
A presença do dispositivo depende se algum dos recursos estão atualizando presença. Verifique se está realizando todas as chamadas com a Chave de Autenticação.
Presença do Recurso não está atualizando.¶
Resposta acima.
Requisição e Resposta¶
Todas as chamadas da API devem ser feitas para /api/endPoint
e irão retornar uma resposta no formato de JSON.
Clique aqui para visualizar os EndPoints da API.
Exemplo¶
$ curl -i https://automacao-iot.com.br/api/
HTTP/1.0 200 OK
Date Mon, 27 Mar 2017 01:39:36 GMT
Content-Type: application/json
Content-Language: en
Allow: GET
{
"success": true,
"payload": {
"version": "1.0.0"
},
"message": "This is the ultimate API!"
}
Métodos HTTP¶
Tentamos seguir as convenções de HTTP ao máximo, mas as vezes podemos estar sacrificando a formalidade por funcionalidades.
Método | Descrição |
---|---|
GET | Usado para consulta de dados. |
POST | Usado para criação de dados |
PUT | Usado para atualização de dados |
DELETE | Usado para deletar dados |
Códigos HTTP¶
O código de operação da requisição HTTP indica a situação da operação em questão.
Você pode conferir esses códigos aqui.
Resposta¶
Para todas as requisições a API irá retornar uma resposta no formato de um JSON. Essas respostas seguem um modelo padronizado que explicaremos abaixo.
Veja aqui os Response Models que a API pode retornar.
Chave | Tipo | Anulável | Significado |
---|---|---|---|
success | boolean | Não | Operação da Requisição foi feita com Sucesso. |
payload | Nested Json Object ou Nested Json Array |
Sim |
Resultado da Operação que podem vir na forma de um JSON Object ou um JSON Array. |
message | string | Não | Mensagem Informacional. |
Autenticação¶
Tokens de Autenticação¶
Tokens de autenticação são passados via Headers especiais de Autenticação para autenticar e validar a operação e garantir com que tudo seja feito em segurança na API!
Os Tokens também são responsáveis por fazer a atualização da Presença do Dispositivo, ou seja, permitir que o sistema saiba que seu dispositivo está conectado.
- Todas as operações exceto as de GET são necessárias a inclusão do Header Especial da operação, caso contrário não irá ter acesso.
- Para obter presença do dispositivo é necessário que o Header de Autenticação esteja presente em todas as operações. Caso contrário o dispositivo irá demonstrar-se desligado.
Header de Autenticação¶
Header | Valor | Descrição |
---|---|---|
Authorization | Bearer {PRIVATE_KEY} | Usado para Autenticar a operação. ( Exemplo: Autenticar o dispositivo com a Chave Privada ) |
Exemplo de Chamada¶
$ curl -H 'Authorization: Bearer {TOKEN}' https://automacao-iot.com.br/api/device/{public_key}/
Aonde eu encontro a Chave Privada ( Private Key ) ?¶
Ao criar um dispositivo em sua conta, no canto direito há uma opção chamada Modificar Dispositivo.
Na tela que irá abrir, vai ter um campo chamado Secret Key e é esta chave que você usará em seu Token de Autenticação.
Erros e Exceções¶
Pode ser que ao decorrer do uso da API você se depare com algum erro ou exceção no corpo da resposta, como por exemplo, tentar acessar um recurso não existente.
A API está preparada para lidar com esses tipos de situações e aqui nesta seção descreveremos o comportamento de erro para estas situações.
Primeiramente, qualquer operação que não possua o código HTTP de 2.x.x ( Ex: 200 ) é considerado uma situação de exceção.
O único código de erro especial é o 500 ( Erro Interno ), mas não se preocupe caso isso aconteça, nosso sistema de Log nos avisará rapídamente para que possamos analisar a situação!
Códigos HTTP¶
Aqui listaremos os possíveis códigos HTTP em que a API utiliza em sua resposta e sua semântica nela.
Response Models¶
Todo EndPoint da API produz uma resposta no formato já explicado aqui e para facilitar a compreensão dos dados, essa seção visa explicar os Models que podem vir no Payload e seus atributos.
Na API os models apenas vem explícitos quando estão sendo referenciados junto à outros models. Como por exemplo, o EndPoint getDevice possui o model resources que é uma lista de models resource.
O que é um Model¶
Um modelo de dados ( Model ) é uma abstração de dados que representa algum dado no mundo real. Isto é, uma representação dos dados no nosso sistema de forma clara e objetiva.
Models¶
Resource Model¶
{
"id_resource": 19,
"id_device": 8,
"id_resource_subtype": 3,
"id_last_feed": 186864,
"name": "Rele",
"description": "",
"lifetime": 1,
"lifetime_updated_at": "2017-08-07 19:50:47",
"created_at": "2017-05-22 20:12:24",
"updated_at": "2017-08-02 23:52:00",
"active": 1,
"is_alive": false,
"subtype": {
"id_resource_subtype": 3,
"id_resource_type": 1,
"name": "Binário",
"name_i18n": "Binary",
"description": null,
"data_format_operation": 0,
"data_restriction_regex": null,
"data_restriction_begin_range": 0,
"data_restriction_end_range": 1,
"created_at": "2017-05-10 00:00:00",
"updated_at": "2017-05-10 00:00:00"
},
"last_feed": {
"id_resource_feed": 186864,
"id_resource": 19,
"raw_data": "0",
"created_at": "2017-08-02 23:52:00"
},
"data_format": [
{
"id_resource_data_format": 26,
"id_resource": 19,
"id_logical_operator": null,
"name": "Desligado",
"value": "0",
"created_at": "2017-05-26 22:37:46",
"updated_at": "2017-06-01 22:31:19",
"active": 1
},
{
"id_resource_data_format": 27,
"id_resource": 19,
"id_logical_operator": null,
"name": "Ligado",
"value": "1",
"created_at": "2017-05-26 22:37:46",
"updated_at": "2017-06-01 22:31:27",
"active": 1
}
]
}
Device¶
Get Device¶
GET api/device/{PUBLIC_KEY}
Descrição¶
Obtém informações sobre um determinado Dispositivo. Este EndPoint retorna dados informacionais do Dispositivo, tal como id, dono, nome e descrição do dispositivo.
Parâmetros¶
PUBLIC_KEY (String) - Chave Pública do Dispositivo.
Método¶
GET
EndPoint¶
api/device/{PUBLIC_KEY}
Exemplo¶
Requisição¶
GET api/device/5D4161963252F0EABB435339 HTTP/1.1
Authorization: Bearer 2A192A93FA7E383AE98803C7
Host: https://automacao-iot.com.br/api
Resposta¶
HTTP/1.1 200 OK
Content-Language: en
Content-Length: 2142
Content-Type: application/json
{
"success": true,
"payload": {
"id_device": 71,
"id_user": 9,
"id_last_syscall": null,
"name": "Test Device",
"icon_name": "bullhorn",
"description": "This is a Test Device",
"ip": null,
"timezone": "America/Fortaleza",
"latitude": "37.7510",
"longitude": "-97.8220",
"public_key": "5D4161963252F0EABB435339",
"api_requests_usage": 0,
"api_network_usage": 0,
"api_network_income_usage": 0,
"api_network_outgoing_usage": 0,
"lifetime": 15,
"lifetime_updated_at": null,
"created_at": "2018-01-02 16:16:14",
"updated_at": "2018-01-02 16:16:14",
"active": 1,
"is_alive": false,
"is_dead": true,
"resources": [
{
"id_resource": 73,
"id_device": 71,
"id_resource_subtype": 3,
"id_last_feed": null,
"name": "Input Binary Resource",
"description": "This is a Resource wich type is Input and SubType Binary.",
"lifetime": 15,
"api_requests_usage": 0,
"api_network_usage": 0,
"api_network_income_usage": 0,
"api_network_outgoing_usage": 0,
"lifetime_updated_at": null,
"created_at": "2018-01-02 16:16:42",
"updated_at": "2018-01-02 16:17:54",
"active": 1,
"is_alive": false,
"is_dead": true,
"subtype": {
"id_resource_subtype": 3,
"id_resource_type": 1,
"name": "Binário",
"name_i18n": "Binary",
"description": null,
"data_format_operation": 0,
"data_restriction_regex": null,
"data_restriction_begin_range": 0,
"data_restriction_end_range": 1,
"created_at": "2017-05-10 00:00:00",
"updated_at": "2017-05-10 00:00:00"
},
"last_feed": null,
"data_format": []
},
{
"id_resource": 74,
"id_device": 71,
"id_resource_subtype": 6,
"id_last_feed": null,
"name": "Input Digital Resource",
"description": "This is a Resource wich type is Input and SubType Digital.",
"lifetime": 15,
"api_requests_usage": 0,
"api_network_usage": 0,
"api_network_income_usage": 0,
"api_network_outgoing_usage": 0,
"lifetime_updated_at": null,
"created_at": "2018-01-02 16:17:35",
"updated_at": "2018-01-02 16:17:35",
"active": 1,
"is_alive": false,
"is_dead": true,
"subtype": {
"id_resource_subtype": 6,
"id_resource_type": 1,
"name": "Digital",
"name_i18n": "Digital",
"description": null,
"data_format_operation": 1,
"data_restriction_regex": null,
"data_restriction_begin_range": 0,
"data_restriction_end_range": 100,
"created_at": "2017-08-25 16:11:57",
"updated_at": "2017-08-30 22:20:22"
},
"last_feed": null,
"data_format": []
}
]
},
"message": ""
}
Get Device Location¶
GET api/device/{PUBLIC_KEY}/geolocation
Descrição¶
Obtém informações da GeoLocalização do Dispositivo.
Parâmetros¶
PUBLIC_KEY (String) - Chave Pública do Dispositivo.
Autenticação¶
Obrigatória
Método¶
GET
EndPoint¶
api/device/{PUBLIC_KEY}/geolocation
Exemplo¶
Requisição¶
GET api/device/5D4161963252F0EABB435339/geolocation HTTP/1.1
Authorization: Bearer 2A192A93FA7E383AE98803C7
Host: https://automacao-iot.com.br/api
Resposta¶
HTTP/1.1 200 OK
Content-Length: 85
Content-Type: application/json;charset=utf8
{
"success": true,
"payload": {
"latitude": "37.7510",
"longitude": "-97.8220"
},
"message": ""
}
Set Device Location¶
POST api/device/{PUBLIC_KEY}/geolocation
Descrição¶
Obtém informações da GeoLocalização do Dispositivo.
Parâmetros¶
PUBLIC_KEY (String) - Chave Pública do Dispositivo.
Autenticação¶
Obrigatória
Método¶
GET
EndPoint¶
api/device/{PUBLIC_KEY}/geolocation
Exemplo¶
Requisição¶
PATCH api/device/5D4161963252F0EABB435339/geolocation HTTP/1.1
Authorization: Bearer 2A192A93FA7E383AE98803C7
Host: https://automacao-iot.com.br/api
Body:
{
"latitude":-22.98
"longitude":-43.088
}
Resposta¶
HTTP/1.1 200 OK
Content-Length: 92
Content-Type: application/json;charset=utf8
{
"success": true,
"payload": {
"latitude": "-22.9805441",
"longitude": "-43.0887154"
},
"message": ""
}
Create Device Log¶
POST api/device/{PUBLIC_KEY}/log
Descrição¶
Criação de Log do Dispositivo.
Parâmetros da URL¶
PUBLIC_KEY (String) - Chave Pública do Dispositivo.
Parâmetros do Body¶
code (Integer) - Código do Error. message (String) - Mensagem de Error.
Autenticação¶
Obrigatória
Método¶
POST
EndPoint¶
api/device/{PUBLIC_KEY}/log
Exemplo¶
Requisição¶
POST api/device/5D4161963252F0EABB435339/log HTTP/1.1
Authorization: Bearer 2A192A93FA7E383AE98803C7
Host: https://automacao-iot.com.br/api
Body:
{
"code":<codeNumber>,
"message:<messageString>
}
Resposta¶
HTTP/1.1 200 OK
Content-Language: en
Content-Length: 2655
Content-Type: application/json
{
"success": true,
"payload": null,
"message": "Device Log Created"
}
Resource¶
Get Resource¶
GET /api/device/{PUBLIC_KEY}/resource/{ID_RESOURCE}
Descrição¶
Retorna todas as informações de um recurso do dispositivo.
Parâmetros da URL¶
PUBLIC_KEY (String) - Chave Pública do Dispositivo.
ID_RESOURCE (Integer) - Id do Recurso do dispositivo.
Parâmetros de Query¶
silent (Boolean) - Define se a operação deve ser feita em modo silencioso ou não. Caso seja verdadeiro o recurso não irá atualizar presença. Ex: silent = true | false.
Valor Padrão: FALSE
Método¶
GET
EndPoint¶
/api/device/{PUBLIC_KEY}/resource/{ID_RESOURCE}
Exemplo¶
Requisição¶
GET api/device/5D4161963252F0EABB435339/resource/73?silent=false HTTP/1.1
Opcional Authorization: Bearer 2A192A93FA7E383AE98803C7
Host: https://automacao-iot.com.br/api
Resposta¶
HTTP/1.1 200 OK
Content-Language: en
Content-Length: 938
Content-Type: application/json
{
"success": true,
"payload": {
"id_resource": 73,
"id_device": 71,
"id_resource_subtype": 3,
"id_last_feed": 510648,
"name": "Input Binary Resource",
"description": "This is a Resource wich type is Input and SubType Binary.",
"lifetime": 15,
"api_requests_usage": 1,
"api_network_usage": 169,
"api_network_income_usage": 154,
"api_network_outgoing_usage": 15,
"lifetime_updated_at": "2018-01-02 17:31:03",
"created_at": "2018-01-02 16:16:42",
"updated_at": "2018-01-02 16:17:54",
"active": 1,
"is_alive": false,
"is_dead": true,
"subtype": {
"id_resource_subtype": 3,
"id_resource_type": 1,
"name": "Binário",
"name_i18n": "Binary",
"description": null,
"data_format_operation": 0,
"data_restriction_regex": null,
"data_restriction_begin_range": 0,
"data_restriction_end_range": 1,
"created_at": "2017-05-10 00:00:00",
"updated_at": "2017-05-10 00:00:00"
},
"last_feed": {
"id_resource_feed": 510648,
"id_resource": 73,
"raw_data": "1",
"created_at": "2018-01-02 17:31:03"
},
"data_format": []
},
"message": ""
}
Get Resource Feeds¶
GET/api/device/{PUBLIC_KEY}/resource/{ID_RESOURCE}/feeds
Descrição¶
Recupera todos os Registros de Feeds do Recurso.
Parâmetros da URL¶
PUBLIC_KEY (String) - Chave Pública do Dispositivo.
ID_RESOURCE (Integer) - Id do Recurso do dispositivo.
Parâmetros de Query¶
silent (Boolean) - Define se a operação deve ser feita em modo silencioso ou não.Caso seja verdadeiro o recurso não irá atualizar presença. Ex: silent = true | false.
Valor Padrão: FALSE
Método¶
GET
EndPoint¶
/api/device/{PUBLIC_KEY}/resource/{ID_RESOURCE}/feeds
Exemplo¶
Requisição¶
GET api/device/5D4161963252F0EABB435339/resource/73/feeds HTTP/1.1
Opcional: Authorization: Bearer 2A192A93FA7E383AE98803C7
Host: https://automacao-iot.com.br/api
Resposta¶
HTTP/1.1 200 OK
Content-Language: en
Content-Length: 136
Content-Type: application/json
{
"success": true,
"payload": [
{
"id_resource_feed": 510648,
"id_resource": 73,
"raw_data": "1",
"created_at": "2018-01-02 17:31:03"
}
],
"message": ""
}
Get Resource First Feeds¶
GET/api/device/{PUBLIC_KEY}/resource/{ID_RESOURCE}/feeds/first
Descrição¶
Recupera o Primeiro Registro de Feeds do Recurso.
Parâmetros da URL¶
PUBLIC_KEY (String) - Chave Pública do Dispositivo.
ID_RESOURCE (Integer) - Id do Recurso do dispositivo.
Parâmetros de Query¶
silent (Boolean) - Define se a operação deve ser feita em modo silencioso ou não.Caso seja verdadeiro o recurso não irá atualizar presença. Ex: silent = true | false.
Valor Padrão: FALSE
Método¶
GET
EndPoint¶
/api/device/{PUBLIC_KEY}/resource/{ID_RESOURCE}/feeds/first
Exemplo¶
Requisição¶
GET api/device/5D4161963252F0EABB435339/resource/73/feeds/first HTTP/1.1
Opcional: Authorization: Bearer 2A192A93FA7E383AE98803C7
Host: https://automacao-iot.com.br/api
Resposta¶
HTTP/1.1 200 OK
Content-Language: en
Content-Length: 134
Content-Type: application/json
{
"success": true,
"payload": {
"id_resource_feed": 510648,
"id_resource": 73,
"raw_data": "1",
"created_at": "2018-01-02 17:31:03"
},
"message": ""
}
Get Resource Last Feeds¶
GET/api/device/{PUBLIC_KEY}/resource/{ID_RESOURCE}/feeds/last
Descrição¶
Recupera o último Registro de Feeds do Recurso.
Parâmetros da URL¶
PUBLIC_KEY (String) - Chave Pública do Dispositivo.
ID_RESOURCE (Integer) - Id do Recurso do dispositivo.
Parâmetros de Query¶
silent (Boolean) - Define se a operação deve ser feita em modo silencioso ou não.Caso seja verdadeiro o recurso não irá atualizar presença. Ex: silent = true | false.
Valor Padrão: FALSE
Método¶
GET
EndPoint¶
/api/device/{PUBLIC_KEY}/resource/{ID_RESOURCE}/feeds/last
Exemplo¶
Requisição¶
GET api/device/5D4161963252F0EABB435339/resource/73/feeds/last HTTP/1.1
Opcional: Authorization: Bearer 2A192A93FA7E383AE98803C7
Host: https://automacao-iot.com.br/api
Resposta¶
HTTP/1.1 200 OK
Content-Language: en
Content-Length: 134
Content-Type: application/json
{
"success": true,
"payload": {
"id_resource_feed": 510648,
"id_resource": 73,
"raw_data": "1",
"created_at": "2018-01-02 17:31:03"
},
"message": ""
}
Create Resource Feeds¶
POST /api/device/{PUBLIC_KEY}/resource/{ID_RESOURCE}/feeds
Descrição¶
Insere um novo Registro de Feeds no Recurso.
Parâmetros da URL¶
PUBLIC_KEY (String) - Chave Pública do Dispositivo.
ID_RESOURCE (Integer) - Id do Recurso do dispositivo.
Parâmetros de Query¶
silent (Boolean) - Define se a operação deve ser feita em modo silencioso ou não.Caso seja verdadeiro o recurso não irá atualizar presença. Ex: silent = true | false.
Valor Padrão: FALSE
Parâmetros do Body¶
input (Mixed) - Valor de Entrada.
Autenticação¶
Obrigatória
Método¶
POST
EndPoint¶
/api/device/{PUBLIC_KEY}/resource/{ID_RESOURCE}/feeds
Exemplo¶
Requisição¶
POST api/device/5D4161963252F0EABB435339/resource/73/feeds HTTP/1.1
Authorization: Bearer 2A192A93FA7E383AE98803C7
Host: https://automacao-iot.com.br/api
Body:
{
"input":1
}
Resposta¶
HTTP/1.1 200 OK
Content-Language: en
Content-Length: 154
Content-Type: application/json
{
"success": true,
"payload": {
"raw_data": 1,
"id_resource": 73,
"created_at": "2018-01-02 17:31:03",
"id_resource_feed": 510648
},
"message": "Resource Feed Created!"
}
Resources¶
Get Resources¶
GET /api/device/{PUBLIC_KEY}/resources/
Descrição¶
Retorna todos os Recursos de um Dispositivo.
Parâmetros da URL¶
PUBLIC_KEY (String) - Chave Pública do Dispositivo.
Parâmetros de Query¶
silent (Boolean) - Define se a operação deve ser feita em modo silencioso ou não. Caso seja verdadeiro o recurso não irá atualizar presença. Ex: silent = true | false.
Valor Padrão: FALSE
Método¶
GET
EndPoint¶
/api/device/{PUBLIC_KEY}/resources
Exemplo¶
Requisição¶
GET api/device/5D4161963252F0EABB435339/resources HTTP/1.1
Opcional: Authorization Bearer 2A192A93FA7E383AE98803C7
Host: https://automacao-iot.com.br/api
Resposta¶
HTTP/1.1 200 OK
Content-Language: en
Content-Length: 1837
Content-Type: application/json
{
"success": true,
"payload": [
{
"id_resource": 73,
"id_device": 71,
"id_resource_subtype": 3,
"id_last_feed": 510649,
"name": "Input Binary Resource",
"description": "This is a Resource wich type is Input and SubType Binary.",
"lifetime": 15,
"api_requests_usage": 5,
"api_network_usage": 1511,
"api_network_income_usage": 1496,
"api_network_outgoing_usage": 15,
"lifetime_updated_at": "2018-01-02 17:46:57",
"created_at": "2018-01-02 16:16:42",
"updated_at": "2018-01-02 16:17:54",
"active": 1,
"is_alive": false,
"is_dead": true,
"subtype": {
"id_resource_subtype": 3,
"id_resource_type": 1,
"name": "Binário",
"name_i18n": "Binary",
"description": null,
"data_format_operation": 0,
"data_restriction_regex": null,
"data_restriction_begin_range": 0,
"data_restriction_end_range": 1,
"created_at": "2017-05-10 00:00:00",
"updated_at": "2017-05-10 00:00:00"
},
"last_feed": {
"id_resource_feed": 510649,
"id_resource": 73,
"raw_data": "1",
"created_at": "2018-01-02 17:46:57"
},
"data_format": []
},
{
"id_resource": 74,
"id_device": 71,
"id_resource_subtype": 6,
"id_last_feed": 510650,
"name": "Input Digital Resource",
"description": "This is a Resource wich type is Input and SubType Digital.",
"lifetime": 15,
"api_requests_usage": 0,
"api_network_usage": 0,
"api_network_income_usage": 0,
"api_network_outgoing_usage": 0,
"lifetime_updated_at": "2018-01-02 17:46:57",
"created_at": "2018-01-02 16:17:35",
"updated_at": "2018-01-02 16:17:35",
"active": 1,
"is_alive": false,
"is_dead": true,
"subtype": {
"id_resource_subtype": 6,
"id_resource_type": 1,
"name": "Digital",
"name_i18n": "Digital",
"description": null,
"data_format_operation": 1,
"data_restriction_regex": null,
"data_restriction_begin_range": 0,
"data_restriction_end_range": 100,
"created_at": "2017-08-25 16:11:57",
"updated_at": "2017-08-30 22:20:22"
},
"last_feed": {
"id_resource_feed": 510650,
"id_resource": 74,
"raw_data": "65",
"created_at": "2018-01-02 17:46:57"
},
"data_format": []
}
],
"message": ""
}
Get Resources Feeds¶
GET /api/device/{PUBLIC_KEY}/resources/feeds
Descrição¶
Retorna todos os Feeds de todos os Recursos.
Parâmetros da URL¶
PUBLIC_KEY (String) - Chave Pública do Dispositivo.
Parâmetros de Query¶
silent (Boolean) - Define se a operação deve ser feita em modo silencioso ou não. Caso seja verdadeiro o recurso não irá atualizar presença. Ex: silent = true | false.
Valor Padrão: FALSE
Método¶
GET
EndPoint¶
/api/device/{PUBLIC_KEY}/resources/feeds
Exemplo¶
Requisição¶
GET api/device/5D4161963252F0EABB435339/resources/feeds HTTP/1.1
Opcional: Authorization Bearer 2A192A93FA7E383AE98803C7
Host: https://automacao-iot.com.br/api
Resposta¶
HTTP/1.1 200 OK
Content-Language: en
Content-Length: 1108
Content-Type: application/json
Get Resources First Feeds¶
GET/api/device/{PUBLIC_KEY}/resources/feeds/first
Descrição¶
Recupera o Primeiro registro de feeds de todos os Recursos.
Parâmetros da URL¶
PUBLIC_KEY (String) - Chave Pública do Dispositivo.
ID_RESOURCE (Integer) - Id do Recurso do dispositivo.
Parâmetros de Query¶
silent (Boolean) - Define se a operação deve ser feita em modo silencioso ou não.Caso seja verdadeiro o recurso não irá atualizar presença. Ex: silent = true | false.
Valor Padrão: FALSE
Método¶
GET
EndPoint¶
/api/device/{PUBLIC_KEY}/resources/feeds/first
Exemplo¶
Requisição¶
POST api/device/5D4161963252F0EABB435339/resources/feeds/first HTTP/1.1
Opcional: Authorization: Bearer 2A192A93FA7E383AE98803C7
Host: https://automacao-iot.com.br/api
Resposta¶
HTTP/1.1 200 OK
Content-Language: en
Content-Length: 232
Content-Type: application/json
{
"success": true,
"payload": [
{
"id_resource_feed": 510648,
"id_resource": 73,
"raw_data": "1",
"created_at": "2018-01-02 17:31:03"
},
{
"id_resource_feed": 510650,
"id_resource": 74,
"raw_data": "65",
"created_at": "2018-01-02 17:46:57"
}
],
"message": ""
}
Get Resources Last Feeds¶
GET/api/device/{PUBLIC_KEY}/resources/feeds/last
Descrição¶
Recupera o Último registro de feeds de todos os Recursos.
Parâmetros da URL¶
PUBLIC_KEY (String) - Chave Pública do Dispositivo.
ID_RESOURCE (Integer) - Id do Recurso do dispositivo.
Parâmetros de Query¶
silent (Boolean) - Define se a operação deve ser feita em modo silencioso ou não.Caso seja verdadeiro o recurso não irá atualizar presença. Ex: silent = true | false.
Valor Padrão: FALSE
Método¶
GET
EndPoint¶
/api/device/{PUBLIC_KEY}/resources/feeds/last
Exemplo¶
Requisição¶
POST api/device/5D4161963252F0EABB435339/resources/feeds/last HTTP/1.1
Opcional: Authorization: Bearer 2A192A93FA7E383AE98803C7
Host: https://automacao-iot.com.br/api
Resposta¶
HTTP/1.1 200 OK
Content-Language: en
Content-Length: 232
Content-Type: application/json
{
"success": true,
"payload": [
{
"id_resource_feed": 510649,
"id_resource": 73,
"raw_data": "1",
"created_at": "2018-01-02 17:46:57"
},
{
"id_resource_feed": 510650,
"id_resource": 74,
"raw_data": "65",
"created_at": "2018-01-02 17:46:57"
}
],
"message": ""
}
Create Resources Feeds¶
POST /api/device/{PUBLIC_KEY}/resources/feeds
Descrição¶
Insere um novo Registro de Feeds em múltiplos recursos do Dispositivo.
Parâmetros da URL¶
PUBLIC_KEY (String) - Chave Pública do Dispositivo.
Parâmetros de Query¶
silent (Boolean) - Define se a operação deve ser feita em modo silencioso ou não.Caso seja verdadeiro o recurso não irá atualizar presença. Ex: silent = true | false.
Valor Padrão: FALSE
Parâmetros do Body¶
- Tipo: Json Array
id_resource (Integer) - Id do Resource.input (Mixed) - Valor de Entrada.
Autenticação¶
Obrigatória
Método¶
POST
EndPoint¶
/api/device/{PUBLIC_KEY}/resources/feeds
Exemplo¶
Requisição¶
POST api/device/5D4161963252F0EABB435339/resources/feeds HTTP/1.1
Authorization: Bearer 2A192A93FA7E383AE98803C7
Host: https://automacao-iot.com.br/api
Body:
[
{
"id_resource": 73,
"input": 1
},
{
"id_resource": 74,
"input": 65
}
]
Resposta¶
HTTP/1.1 200 OK
Content-Language: en
Content-Length: 228
Content-Type: application/json
{
"success": true,
"payload": [
{
"raw_data": 1,
"id_resource": 73,
"created_at": "2018-01-02 17:46:57",
"id_resource_feed": 510649
},
{
"raw_data": 65,
"id_resource": 74,
"created_at": "2018-01-02 17:46:57",
"id_resource_feed": 510650
}
],
"message": ""
}
Resources Selection¶
Get Selected Resources¶
GET /api/device/{PUBLIC_KEY}/resources/{ID_RESOURCES}
Descrição¶
Retorna todos os Recursos Escolhidos de um Dispositivo.
Parâmetros da URL¶
PUBLIC_KEY (String) - Chave Pública do Dispositivo.
ID_RESOURCES (Int Array) - Lista de Id’s dos Recursos. ( Ex: 1,50,150,30 )
Parâmetros de Query¶
silent (Boolean) - Define se a operação deve ser feita em modo silencioso ou não. Caso seja verdadeiro o recurso não irá atualizar presença. Ex: silent = true | false.
Valor Padrão: FALSE
Método¶
GET
EndPoint¶
/api/device/{PUBLIC_KEY}/resources/{ID_RESOURCES}
Exemplo¶
Requisição¶
GET api/device/5D4161963252F0EABB435339/resources/19,29 HTTP/1.1
Opcional: Authorization Bearer 2A192A93FA7E383AE98803C7
Host: https://automacao-iot.com.br/api
Resposta¶
HTTP/1.1 200 OK
Content-Language: en
Content-Length: 1834
Content-Type: application/json
{
"success": true,
"payload": [
{
"id_resource": 73,
"id_device": 71,
"id_resource_subtype": 3,
"id_last_feed": 510649,
"name": "Input Binary Resource",
"description": "This is a Resource wich type is Input and SubType Binary.",
"lifetime": 15,
"api_requests_usage": 5,
"api_network_usage": 1511,
"api_network_income_usage": 1496,
"api_network_outgoing_usage": 15,
"lifetime_updated_at": "2018-01-02 17:54:30",
"created_at": "2018-01-02 16:16:42",
"updated_at": "2018-01-02 16:17:54",
"active": 1,
"is_alive": false,
"is_dead": true,
"subtype": {
"id_resource_subtype": 3,
"id_resource_type": 1,
"name": "Binário",
"name_i18n": "Binary",
"description": null,
"data_format_operation": 0,
"data_restriction_regex": null,
"data_restriction_begin_range": 0,
"data_restriction_end_range": 1,
"created_at": "2017-05-10 00:00:00",
"updated_at": "2017-05-10 00:00:00"
},
"last_feed": {
"id_resource_feed": 510649,
"id_resource": 73,
"raw_data": "1",
"created_at": "2018-01-02 17:46:57"
},
"data_format": []
},
{
"id_resource": 74,
"id_device": 71,
"id_resource_subtype": 6,
"id_last_feed": 510650,
"name": "Input Digital Resource",
"description": "This is a Resource wich type is Input and SubType Digital.",
"lifetime": 15,
"api_requests_usage": 0,
"api_network_usage": 0,
"api_network_income_usage": 0,
"api_network_outgoing_usage": 0,
"lifetime_updated_at": "2018-01-02 17:54:30",
"created_at": "2018-01-02 16:17:35",
"updated_at": "2018-01-02 16:17:35",
"active": 1,
"is_alive": false,
"is_dead": true,
"subtype": {
"id_resource_subtype": 6,
"id_resource_type": 1,
"name": "Digital",
"name_i18n": "Digital",
"description": null,
"data_format_operation": 1,
"data_restriction_regex": null,
"data_restriction_begin_range": 0,
"data_restriction_end_range": 100,
"created_at": "2017-08-25 16:11:57",
"updated_at": "2017-08-30 22:20:22"
},
"last_feed": {
"id_resource_feed": 510650,
"id_resource": 74,
"raw_data": "65",
"created_at": "2018-01-02 17:46:57"
},
"data_format": []
}
],
"message": ""
}
Get Selected Resources Feeds¶
GET /api/device/{PUBLIC_KEY}/resources/{ID_RESOURCES}/feeds
Descrição¶
Retorna todos os Feeds dos Recursos Escolhidos de um Dispositivo.
Parâmetros da URL¶
PUBLIC_KEY (String) - Chave Pública do Dispositivo.
ID_RESOURCES (Int Array) - Lista de Id’s dos Recursos. ( Ex: 1,50,150,30 )
Parâmetros de Query¶
silent (Boolean) - Define se a operação deve ser feita em modo silencioso ou não. Caso seja verdadeiro o recurso não irá atualizar presença. Ex: silent = true | false.
Valor Padrão: FALSE
Método¶
GET
EndPoint¶
/api/device/{PUBLIC_KEY}/resources/{ID_RESOURCES}/feeds
Exemplo¶
Requisição¶
GET api/device/5D4161963252F0EABB435339/resources/73,74/feeds HTTP/1.1
Opcional: Authorization Bearer 2A192A93FA7E383AE98803C7
Host: https://automacao-iot.com.br/api
Resposta¶
HTTP/1.1 200 OK
Content-Language: en
Content-Length: 1834
Content-Type: application/json
Get Selected Resources First Feeds¶
GET /api/device/{PUBLIC_KEY}/resources/{ID_RESOURCES}/feeds/first
Descrição¶
Retorna o Primeiro Feeds de todos os Recursos Escolhidos de um Dispositivo.
Parâmetros da URL¶
PUBLIC_KEY (String) - Chave Pública do Dispositivo.
ID_RESOURCES (Int Array) - Lista de Id’s dos Recursos. ( Ex: 1,50,150,30 )
Parâmetros de Query¶
silent (Boolean) - Define se a operação deve ser feita em modo silencioso ou não. Caso seja verdadeiro o recurso não irá atualizar presença. Ex: silent = true | false.
Valor Padrão: FALSE
Método¶
GET
EndPoint¶
/api/device/{PUBLIC_KEY}/resources/{ID_RESOURCES}/feeds/first
Exemplo¶
Requisição¶
GET api/device/5D4161963252F0EABB435339/resources/73,74/feeds/first HTTP/1.1
Opcional: Authorization Bearer 2A192A93FA7E383AE98803C7
Host: https://automacao-iot.com.br/api
Resposta¶
HTTP/1.1 200 OK
Content-Language: en
Content-Length: 232
Content-Type: application/json
{
"success": true,
"payload": [
{
"id_resource_feed": 510648,
"id_resource": 73,
"raw_data": "1",
"created_at": "2018-01-02 17:31:03"
},
{
"id_resource_feed": 510650,
"id_resource": 74,
"raw_data": "65",
"created_at": "2018-01-02 17:46:57"
}
],
"message": ""
}
Get Selected Resources Last Feeds¶
GET /api/device/{PUBLIC_KEY}/resources/{ID_RESOURCES}/feeds/last
Descrição¶
Retorna o Último Feeds de todos os Recursos Escolhidos de um Dispositivo.
Parâmetros da URL¶
PUBLIC_KEY (String) - Chave Pública do Dispositivo.
ID_RESOURCES (Int Array) - Lista de Id’s dos Recursos. ( Ex: 1,50,150,30 )
Parâmetros de Query¶
silent (Boolean) - Define se a operação deve ser feita em modo silencioso ou não. Caso seja verdadeiro o recurso não irá atualizar presença. Ex: silent = true | false.
Valor Padrão: FALSE
Método¶
GET
EndPoint¶
/api/device/{PUBLIC_KEY}/resources/{ID_RESOURCES}/feeds/last
Exemplo¶
Requisição¶
GET api/device/5D4161963252F0EABB435339/resources/73,74/feeds/last HTTP/1.1
Opcional: Authorization Bearer 2A192A93FA7E383AE98803C7
Host: https://automacao-iot.com.br/api
Resposta¶
HTTP/1.1 200 OK
Content-Language: en
Content-Length: 232
Content-Type: application/json
{
"success": true,
"payload": [
{
"id_resource_feed": 510649,
"id_resource": 73,
"raw_data": "1",
"created_at": "2018-01-02 17:46:57"
},
{
"id_resource_feed": 510650,
"id_resource": 74,
"raw_data": "65",
"created_at": "2018-01-02 17:46:57"
}
],
"message": ""
}
User¶
Get User¶
GET api/user/{USERNAME}
Descrição¶
Obtém informações sobre um determinado Usuário. Este EndPoint retorna dados informacionais do Usuário, tal como id, Email, nome e etc.
Parâmetros¶
USERNAME (String) - Username.
Autenticação¶
Obrigatória
Método¶
GET
EndPoint¶
api/user/{USERNAME}
Exemplo¶
Requisição¶
GET api/user/testinho HTTP/1.1
Authorization: Bearer 290C2EFB2BC98580E674FAJ9
Host: https://automacao-iot.com.br/api
Resposta¶
HTTP/1.1 200 OK
Content-Language: en
Content-Length: 556
Content-Type: application/json;charset=utf8
{
"success": true,
"payload": {
"id_user": 9,
"id_user_pricing_plan": 9,
"email": "test@test.com.br",
"username": "testinho",
"name": "Teste Testinho",
"cpf": "",
"country": null,
"state": null,
"city": null,
"district": null,
"street": null,
"number": null,
"latitude": null,
"longitude": null,
"zipcode": null,
"timezone": "",
"activation_code": "290C2EFB2BC98580E674FAJ9",
"api_requests_usage": 17,
"api_network_usage": 8794,
"api_network_income_usage": 8685,
"api_network_outgoing_usage": 109,
"created_at": "2017-11-13 18:00:35",
"updated_at": "2017-11-13 18:00:35",
"active": 1,
"admin": 0
},
"message": ""
}
Get User Devices¶
GET api/user/{USERNAME}/devices
Descrição¶
Obtém os dispositivos e seus respectivos recursos do Usuário. As informações do dispositivo são similares ao Endpoint do dispositivo individual.
Parâmetros da URL¶
USERNAME (String) - Username.
Autenticação¶
Obrigatória
Método¶
GET
EndPoint¶
api/user/{USERNAME}/devices
Exemplo¶
Requisição¶
GET api/user/testinho/devices HTTP/1.1
Authorization: Bearer 290C2EFB2BC98580E674FAJ9
Host: https://automacao-iot.com.br/api
Resposta¶
HTTP/1.1 200 OK
Content-Language: en
Content-Length: 2446
Content-Type: application/json
{
"success": true,
"payload": [
{
"id_device": 71,
"id_user": 9,
"id_last_syscall": null,
"name": "Test Device",
"icon_name": "bullhorn",
"description": "This is a Test Device",
"ip": "177.195.62.187",
"timezone": "America/Fortaleza",
"latitude": "-22.98",
"longitude": "-43.088",
"secret_key": "2A192A93FA7E383AE98803C7",
"public_key": "5D4161963252F0EABB435339",
"api_requests_usage": 17,
"api_network_usage": 8794,
"api_network_income_usage": 8685,
"api_network_outgoing_usage": 109,
"lifetime": 15,
"lifetime_updated_at": "2018-01-02 18:01:02",
"created_at": "2018-01-02 16:16:14",
"updated_at": "2018-01-02 16:16:14",
"active": 1,
"is_alive": false,
"is_dead": true,
"resources": [
{
"id_resource": 73,
"id_device": 71,
"id_resource_subtype": 3,
"id_last_feed": 510649,
"name": "Input Binary Resource",
"description": "This is a Resource wich type is Input and SubType Binary.",
"lifetime": 15,
"api_requests_usage": 5,
"api_network_usage": 1511,
"api_network_income_usage": 1496,
"api_network_outgoing_usage": 15,
"lifetime_updated_at": "2018-01-02 18:01:02",
"created_at": "2018-01-02 16:16:42",
"updated_at": "2018-01-02 16:17:54",
"active": 1,
"is_alive": false,
"is_dead": true,
"subtype": {
"id_resource_subtype": 3,
"id_resource_type": 1,
"name": "Binário",
"name_i18n": "Binary",
"description": null,
"data_format_operation": 0,
"data_restriction_regex": null,
"data_restriction_begin_range": 0,
"data_restriction_end_range": 1,
"created_at": "2017-05-10 00:00:00",
"updated_at": "2017-05-10 00:00:00"
},
"last_feed": {
"id_resource_feed": 510649,
"id_resource": 73,
"raw_data": "1",
"created_at": "2018-01-02 17:46:57"
},
"data_format": []
},
{
"id_resource": 74,
"id_device": 71,
"id_resource_subtype": 6,
"id_last_feed": 510650,
"name": "Input Digital Resource",
"description": "This is a Resource wich type is Input and SubType Digital.",
"lifetime": 15,
"api_requests_usage": 0,
"api_network_usage": 0,
"api_network_income_usage": 0,
"api_network_outgoing_usage": 0,
"lifetime_updated_at": "2018-01-02 18:01:02",
"created_at": "2018-01-02 16:17:35",
"updated_at": "2018-01-02 16:17:35",
"active": 1,
"is_alive": false,
"is_dead": true,
"subtype": {
"id_resource_subtype": 6,
"id_resource_type": 1,
"name": "Digital",
"name_i18n": "Digital",
"description": null,
"data_format_operation": 1,
"data_restriction_regex": null,
"data_restriction_begin_range": 0,
"data_restriction_end_range": 100,
"created_at": "2017-08-25 16:11:57",
"updated_at": "2017-08-30 22:20:22"
},
"last_feed": {
"id_resource_feed": 510650,
"id_resource": 74,
"raw_data": "65",
"created_at": "2018-01-02 17:46:57"
},
"data_format": []
}
]
}
],
"message": ""
}