Centro de Aprendizagem

Integração de dados na Tekon IoT Platform por REST API - Anatomia de um pedido

A Tekon IoT Platform permite a integração de dados por REST API. A comunicação entre cliente e servidor é feita com um pedido que é composto por 4 elementos:

    •  Endpoint;
    •  Método;
    •  Header;
    •  Corpo (dados);

 

Endpoint

O endpoint é a URL à qual o pedido é dirigido. No caso da Tekon IoT Platform, é composto pela concatenação do endereço da instância e o diretório api/datasourceData/apikey/

Exemplo:

https://iot19.tekonelectronics.com/api/datasourceData/apikey/

 

Método

O método é o tipo de pedido enviado para o servidor. Uma vez que a principal ação pretendida é o envio de dados, o método utilizado é o POST. Ao utilizar este método é criado um registo na base de dados e é devolvida uma resposta com a informação, de sucesso ou erro, caso os dados tenham sido aceites ou rejeitados. O tipo de respostas devolvido, pode ser consultado no tópico “Códigos de estado e mensagens de erro”.

 

Header

Dentro do cabeçalho, é transportada informação relevante para o servidor. No cabeçalho têm de ser enviados os seguintes parâmetros:

Content-Type: application/json

Indica ao servidor que o tipo de conteúdo está em formato JSON.

datasourceApiKey: {datasource_api_key}

O campo {datasource_api_key} corresponde à API Key associada ao datasource da Tekon IoT Platform, para o qual serão enviados os dados.

userApikey: {user_api_key}

O campo {user_api_key} corresponde à API Key associada ao utilizador.

Os dados para os parâmetros datasourceApiKey e userApikey são disponibilizados pela Tekon IoT Platform.

Exemplo:

Content-Type: application/json
datasourceApiKey: 97522f70-a9d2-4909-a345-eb27d7681a35
userApikey: 18b68771-e8bc-47c0-88fc-a16f631fcf98

 

Corpo (dados)

O corpo contém os dados que pretende enviar para o servidor. Os dados de envio devem apresentar a seguinte estrutura de exemplo:

{
   "TimestampMilliseconds": 1526034198371, // campo opcional
   "VariablesData": [
      {"VariablePosition":1,"Value":3},
      {"VariablePosition":2,"Value":1},
      {"VariablePosition":3,"Value":-34},
      {"VariablePosition":4,"Value":10},
      {"VariablePosition":5,"Value":1},
      {"VariablePosition":6,"Value":9},
      {"VariablePosition":7,"Value":"2.0.1"},
      {"VariablePosition":8,"Value":"1.2"},
      {"VariablePosition":9,"Value":26.4},
      {"VariablePosition":10,"Value":24.0}
  ]
}

Tem alguma questão?

Nós podemos ajudar.