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:

getResourcesLastFeeds

getSelectedResourcesLastFeeds

createResourcesFeeds.

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.

Autenticação

Não Obrigatória

Nota: Atualização de presença apenas com o Header de Autenticação.

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

Autenticação

Não Obrigatória

Nota: Atualização de presença apenas com o Header de Autenticação.

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

Autenticação

Não Obrigatória

Nota: Atualização de presença apenas com o Header de Autenticação.

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

Autenticação

Não Obrigatória

Nota: Atualização de presença apenas com o Header de Autenticação.

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

Autenticação

Não Obrigatório

Nota: Atualização de presença apenas com o Header de Autenticação.

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

Autenticação

Não Obrigatória

Nota: Atualização de presença apenas com o Header de Autenticação.

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

Autenticação

Não Obrigatória

Nota: Atualização de presença apenas com o Header de Autenticação.

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

Autenticação

Não Obrigatória

Nota: Atualização de presença apenas com o Header de Autenticação.

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

Autenticação

Não Obrigatória

Nota: Atualização de presença apenas com o Header de Autenticação.

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

Autenticação

Não Obrigatória

Nota: Atualização de presença apenas com o Header de Autenticação.

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

Autenticação

Não Obrigatória

Nota: Atualização de presença apenas com o Header de Autenticação.

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

Autenticação

Não Obrigatória

Nota: Atualização de presença apenas com o Header de Autenticação.

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

Autenticação

Não Obrigatória

Nota: Atualização de presença apenas com o Header de Autenticação.

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": ""
}