Canais

Os Canais são onde sua aplicação armazena e recupera qualquer tipo de dado. Cada Canal possui uma Visualização Privada e uma Visualização Pública. A Visualização Privada só pode ser acessada ao fazer login na sua conta de usuário Nextcon. A Visualização Pública é o que outros visitantes verão ao acessar seu Canal. Você pode ter informações diferentes em cada visualização, personalizar a visualização com Plugins e até desativar a Visualização Pública.

As Visualizações de Canal possuem os seguintes recursos:

  • Monitoramento de Canal
  • Compartilhar via Redes Sociais
  • Informações do Desenvolvedor
  • Capacidade de incorporar Plugins
  • Organização por Arrastar e Soltar
  • Tags
  • Comentários


API de Canais

Para ler e escrever em um Canal, sua aplicação deve fazer solicitações à API Nextcon usando requisições HTTP. Cada Canal permite 8 campos de dados (tanto formatos numéricos quanto alfanuméricos), informações de localização e uma atualização de status. Cada entrada é armazenada com data e hora e recebe um Entry ID (entry_id) exclusivo. Após o armazenamento dos dados, você pode recuperá-los por seleção de tempo ou por Entry ID. Além de armazenar e recuperar dados numéricos e alfanuméricos, a API permite processamento de dados numéricos como escala de tempo, média, mediana, soma e arredondamento. Os feeds de canal suportam os formatos JSON, XML e CSV para integração em aplicações.


Palavras-chave

Aqui estão algumas palavras-chave usadas na API. Compreender esses termos facilitará o entendimento da documentação da API.

  • Canal - O nome do local onde os dados podem ser inseridos ou recuperados na API, identificado por um ID numérico de Canal
  • ID do Canal - Todo canal possui um ID de Canal exclusivo. O número do ID do Canal é usado para identificar o canal quando sua aplicação lê dados do canal
  • Campo - Um dos oito locais específicos para dados dentro de um canal, identificado por um número entre 1 e 8 – Um campo pode armazenar dados numéricos de sensores ou cadeias alfanuméricas de dispositivos seriais ou leitores RFID
  • Status - Uma mensagem curta de status para complementar os dados armazenados em um canal
  • Localização - A latitude, longitude e elevação de onde os dados estão sendo enviados
  • Feed - O nome coletivo dos dados armazenados dentro de um canal, que pode ser qualquer combinação de dados de campos, atualizações de status e informações de localização
  • Chave de API de escrita – Um código de 16 dígitos que permite a uma aplicação escrever dados em um canal
  • Chave de API de leitura – Um código de 16 dígitos que permite a uma aplicação ler os dados armazenados em um canal



URLs Base e Localizações

URL base da API:

thingspeak.nextcon.com

XML entre domínios:

thingspeak.nextcon.comcrossdomain.xml



Chaves de API



Canais Privados / Públicos

Por padrão, seu canal é privado e requer uma Chave de API de leitura para acessar seu feed. Você pode tornar um canal público, permitindo que outros usuários usem seu feed sem uma Chave de API de leitura.


Chave de API de escrita

Para atualizar um canal, você precisa conhecer sua Chave de API de escrita. Se sua Chave de API de escrita for comprometida, você pode gerar uma nova chave.

Siga estes passos para obter sua Chave de API de escrita:

  • Selecione Canais
  • Selecione o Canal a ser atualizado
  • Selecione Gerenciar Chaves de API


Chave de API de leitura

A Chave de API de leitura permite que sua aplicação leia dados da API. Você pode gerar várias Chaves de API de leitura para diferentes aplicações.

Siga estes passos para obter uma Chave de API de leitura:

  • Selecione Canais
  • Selecione o Canal a ser atualizado
  • Selecione Gerenciar Chaves de API
  • Selecione Gerar Nova Chave de API de Leitura




Limites de Taxa

O serviço possui um limite de taxa de uma atualização por canal a cada 15 segundos. Este limite ajuda a garantir desempenho confiável para todos os usuários.

Cache

O cache é implementado nos formatos JSON e XML dos feeds. Feeds que retornam mais de 100 entradas são armazenados em cache por 5 minutos. Isso permitirá ótimo desempenho para aplicações populares. A chamada Last API e feeds que especificam "results=100" ou menos não são armazenados em cache, para que você possa produzir aplicações em tempo real.














Resposta em: TEXTJSONXML

Atualizar Feed do Canal


Para atualizar um feed de Canal, envie um HTTP GET ou POST para
thingspeak.nextcon.comupdate.json.xml .

Parâmetros válidos:
  • api_key (string) - Chave de API de escrita para este Canal específico (obrigatório). A Chave de API de escrita pode ser enviada opcionalmente via cabeçalho HTTP THINGSPEAK_API_KEY.
  • field1 (string) - Dados do Campo 1 (opcional)
  • field2 (string) - Dados do Campo 2 (opcional)
  • field3 (string) - Dados do Campo 3 (opcional)
  • field4 (string) - Dados do Campo 4 (opcional)
  • field5 (string) - Dados do Campo 5 (opcional)
  • field6 (string) - Dados do Campo 6 (opcional)
  • field7 (string) - Dados do Campo 7 (opcional)
  • field8 (string) - Dados do Campo 8 (opcional)
  • lat (decimal) - Latitude em graus (opcional)
  • long (decimal) - Longitude em graus (opcional)
  • elevation (integer) - Elevação em metros (opcional)
  • status (string) - Mensagem de atualização de status (opcional)
  • created_at (datetime) - Data em que esta entrada do feed foi criada, no formato ISO 8601, por exemplo: 2014-12-31 23:59:59 . Os fusos horários podem ser especificados via o parâmetro timezone (opcional)

Exemplo de POST:
POST thingspeak.nextcon.comupdate.json.xml
     api_key=XXXXXXXXXXXXXXXX
     field1=73

A resposta será o entry ID da atualização, por exemplo: 18

Se a resposta for 0, a atualização falhou.
A resposta será um objeto JSON do novo feed, por exemplo:
{
  "channel_id": 3,
  "field1": "73",
  "field2": null,
  "field3": null,
  "field4": null,
  "field5": null,
  "field6": null,
  "field7": null,
  "field8": null,
  "created_at": "2014-02-25T14:13:01-05:00",
  "entry_id": 320,
  "status": null,
  "latitude": null,
  "longitude": null,
  "elevation": null
}
A resposta será um objeto XML do novo feed, por exemplo:
<?xml version="1.0" encoding="UTF-8"?>
<feed>
  <channel-id type="integer">3</channel-id>
  <field1>73</field1>
  <field2 nil="true"/>
  <field3 nil="true"/>
  <field4 nil="true"/>
  <field5 nil="true"/>
  <field6 nil="true"/>
  <field7 nil="true"/>
  <field8 nil="true"/>
  <created-at type="dateTime">2014-02-25T14:15:42-05:00</created-at>
  <entry-id type="integer">321</entry-id>
  <status nil="true"/>
  <latitude type="decimal" nil="true"/>
  <longitude type="decimal" nil="true"/>
  <elevation nil="true"/>
</feed>

Resposta em: TEXTJSONXML

Obter um Feed de Canal


Para visualizar um feed de Canal, envie um HTTP GET para thingspeak.nextcon.comchannels/CHANNEL_ID/feeds.json.xml , substituindo CHANNEL_ID pelo ID do seu Canal.

Parâmetros válidos:
  • api_key (string) Chave de API de leitura para este Canal específico (opcional — não é necessária chave para canais públicos)
  • results (integer) Número de entradas a recuperar, máximo de 8000, padrão de 100 (opcional)
  • days (integer) Número de períodos de 24 horas antes do momento atual para incluir no feed (opcional)
  • start (datetime) Data de início no formato YYYY-MM-DD%20HH:NN:SS (opcional)
  • end (datetime) Data de término no formato YYYY-MM-DD%20HH:NN:SS (opcional)
  • timezone (string) Identificador de fuso horário para esta solicitação (opcional)
  • offset (integer) Deslocamento de fuso horário em que os resultados devem ser exibidos. Use o parâmetro timezone para maior precisão. (opcional)
  • status (true/false) Incluir atualizações de status no feed definindo "status=true" (opcional)
  • metadata (true/false) Incluir metadados do Canal definindo "metadata=true" (opcional)
  • location (true/false) Incluir latitude, longitude e elevação no feed definindo "location=true" (opcional)
  • min (decimal) Valor mínimo a incluir na resposta (opcional)
  • max (decimal) Valor máximo a incluir na resposta (opcional)
  • round (integer) Arredondar para este número de casas decimais (opcional)
  • timescale (integer ou string) Obter o primeiro valor neste intervalo em minutos, valores válidos: 10, 15, 20, 30, 60, 240, 720, 1440, "daily" (opcional)
  • sum (integer ou string) Obter a soma deste intervalo em minutos, valores válidos: 10, 15, 20, 30, 60, 240, 720, 1440, "daily" (opcional)
  • average (integer ou string) Obter a média deste intervalo em minutos, valores válidos: 10, 15, 20, 30, 60, 240, 720, 1440, "daily" (opcional)
  • median (integer ou string) Obter a mediana deste intervalo em minutos, valores válidos: 10, 15, 20, 30, 60, 240, 720, 1440, "daily" (opcional)
  • callback (string) Nome da função a ser usada para solicitações JSONP entre domínios (opcional)
Observe que o parâmetro results não é compatível com timescale, sum, average ou median.

Exemplo de GET:
GET thingspeak.nextcon.comchannels/9/feeds.json.xml?results=2

A resposta será uma página HTML com o feed JSON do Canal, por exemplo:

{

  "channel":

  {

    "id": 9,

    "name": "my_house",

    "description": "Netduino Plus connected to sensors around the house",

    "latitude": "40.44",

    "longitude": "-79.996",

    "field1": "Light",

    "field2": "Outside Temperature",

    "created_at": "2010-12-13T20:20:06-05:00",

    "updated_at": "2014-02-26T12:43:04-05:00",

    "last_entry_id": 6060625

  },

  "feeds":

  [

    {

      "created_at": "2014-02-26T12:42:49-05:00",

      "entry_id": 6060624,

      "field1": "188",

      "field2": "25.902335456475583"

    },

    {

      "created_at": "2014-02-26T12:43:04-05:00",

      "entry_id": 6060625,

      "field1": "164",

      "field2": "25.222929936305732"

    }

  ]

}

A resposta será um objeto JSON do feed do Canal, por exemplo:

{

  "channel":

  {

    "id": 9,

    "name": "my_house",

    "description": "Netduino Plus connected to sensors around the house",

    "latitude": "40.44",

    "longitude": "-79.996",

    "field1": "Light",

    "field2": "Outside Temperature",

    "created_at": "2010-12-13T20:20:06-05:00",

    "updated_at": "2014-02-26T12:43:04-05:00",

    "last_entry_id": 6060625

  },

  "feeds":

  [

    {

      "created_at": "2014-02-26T12:42:49-05:00",

      "entry_id": 6060624,

      "field1": "188",

      "field2": "25.902335456475583"

    },

    {

      "created_at": "2014-02-26T12:43:04-05:00",

      "entry_id": 6060625,

      "field1": "164",

      "field2": "25.222929936305732"

    }

  ]

}

A resposta será um objeto XML do feed do Canal, por exemplo:

<?xml version="1.0" encoding="UTF-8"?>

<channel>

  <id type="integer">9</id>

  <name>my_house</name>

  <description>Netduino Plus connected to sensors around the house</description>

  <latitude type="decimal">40.44</latitude>

  <longitude type="decimal">-79.996</longitude>

  <field1>Light</field1>

  <field2>Outside Temperature</field2>

  <created-at type="dateTime">2010-12-13T20:20:06-05:00</created-at>

  <updated-at type="dateTime">2014-02-26T12:49:19-05:00</updated-at>

  <last-entry-id type="integer">6060650</last-entry-id>

  <feeds type="array">

    <feed>

      <created-at type="dateTime">2014-02-26T12:49:04-05:00</created-at>

      <entry-id type="integer">6060649</entry-id>

      <field1>160</field1>

      <field2>25.307855626326962</field2>

      <id type="integer" nil="true"/>

    </feed>

    <feed>

      <created-at type="dateTime">2014-02-26T12:49:19-05:00</created-at>

      <entry-id type="integer">6060650</entry-id>

      <field1>171</field1>

      <field2>22.929936305732483</field2>

      <id type="integer" nil="true"/>

    </feed>

  </feeds>

</channel>


Exemplos ao vivo:

Resposta em: TEXTJSONXML

Obter Última Entrada em um Feed de Canal


Para obter a última entrada em um feed de Canal, envie um HTTP GET para thingspeak.nextcon.comchannels/CHANNEL_ID/feeds/last.json.xml , substituindo CHANNEL_ID pelo ID do seu Canal.

Parâmetros válidos:
  • api_key (string) Chave de API de leitura para este Canal específico (opcional — não é necessária chave para canais públicos)
  • timezone (string) Identificador de fuso horário para esta solicitação (opcional)
  • offset (integer) Deslocamento de fuso horário em que os resultados devem ser exibidos. Use o parâmetro timezone para maior precisão. (opcional)
  • status (true/false) Incluir atualizações de status no feed definindo "status=true" (opcional)
  • location (true/false) Incluir latitude, longitude e elevação no feed definindo "location=true" (opcional)
  • callback (string) Nome da função a ser usada para solicitações JSONP entre domínios (opcional)

Exemplo de GET:
GET thingspeak.nextcon.comchannels/9/feeds/last.json.xml

A resposta será um objeto JSON do feed mais recente, por exemplo:

{

  "created_at": "2014-02-26T21:27:21Z",

  "entry_id": 6061519,

  "field1": "176",

  "field2": "28.195329087048833"

}

A resposta será um objeto JSON do feed mais recente, por exemplo:

{

  "created_at": "2014-02-26T21:27:21Z",

  "entry_id": 6061519,

  "field1": "176",

  "field2": "28.195329087048833"

}

A resposta será um objeto XML do feed mais recente, por exemplo:

<?xml version="1.0" encoding="UTF-8"?>

<feed>

  <created-at type="dateTime">2014-02-26T21:28:51Z</created-at>

  <entry-id type="integer">6061525</entry-id>

  <field1>200</field1>

  <field2>28.365180467091296</field2>

  <id type="integer" nil="true"/>

</feed>



Resposta em: TEXTJSONXML

Obter Entrada Específica em um Canal


Para obter uma entrada específica no feed de um Canal, envie um HTTP GET para thingspeak.nextcon.comchannels/CHANNEL_ID/feeds/ENTRY_ID.json.xml , substituindo CHANNEL_ID pelo ID do seu Canal e ENTRY_ID pelo ID da sua entrada.

Parâmetros válidos:
  • api_key (string) Chave de API de leitura para este Canal específico (opcional — não é necessária chave para canais públicos)
  • timezone (string) Identificador de fuso horário para esta solicitação (opcional)
  • offset (integer) Deslocamento de fuso horário em que os resultados devem ser exibidos. Use o parâmetro timezone para maior precisão. (opcional)
  • status (true/false) Incluir atualizações de status no feed definindo "status=true" (opcional)
  • location (true/false) Incluir latitude, longitude e elevação no feed definindo "location=true" (opcional)
  • callback (string) Nome da função a ser usada para solicitações JSONP entre domínios (opcional)

Exemplo de GET:
GET thingspeak.nextcon.comchannels/9/feeds/6061519.json.xml

A resposta será um objeto JSON da entrada do feed, por exemplo:

{

  "created_at": "2014-02-26T21:27:21Z",

  "entry_id": 6061519,

  "field1": "176",

  "field2": "28.195329087048833"

}

A resposta será um objeto JSON da entrada do feed, por exemplo:

{

  "created_at": "2014-02-26T21:27:21Z",

  "entry_id": 6061519,

  "field1": "176",

  "field2": "28.195329087048833"

}

A resposta será um objeto XML do feed mais recente, por exemplo:

<?xml version="1.0" encoding="UTF-8"?>

<feed>

  <created-at type="dateTime">2014-02-26T21:27:21Z</created-at>

  <entry-id type="integer">6061519</entry-id>

  <field1>176</field1>

  <field2>28.195329087048833</field2>

  <id type="integer" nil="true"/>

</feed>


Resposta em: TEXTJSONXML

Obter um Feed de Campo do Canal


Para visualizar o feed de campo de um Canal, envie um HTTP GET para thingspeak.nextcon.comchannels/CHANNEL_ID/fields/FIELD_ID.json.xml , substituindo CHANNEL_ID pelo ID do seu Canal e FIELD_ID pelo ID do seu campo.

Parâmetros válidos:
  • api_key (string) Chave de API de leitura para este Canal específico (opcional — não é necessária chave para canais públicos)
  • results (integer) Número de entradas a recuperar, máximo de 8000, padrão de 100 (opcional)
  • days (integer) Número de períodos de 24 horas antes do momento atual para incluir no feed (opcional)
  • start (datetime) Data de início no formato YYYY-MM-DD%20HH:NN:SS (opcional)
  • end (datetime) Data de término no formato YYYY-MM-DD%20HH:NN:SS (opcional)
  • timezone (string) Identificador de fuso horário para esta solicitação (opcional)
  • offset (integer) Deslocamento de fuso horário em que os resultados devem ser exibidos. Use o parâmetro timezone para maior precisão. (opcional)
  • status (true/false) Incluir atualizações de status no feed definindo "status=true" (opcional)
  • metadata (true/false) Incluir metadados do Canal definindo "metadata=true" (opcional)
  • location (true/false) Incluir latitude, longitude e elevação no feed definindo "location=true" (opcional)
  • min (decimal) Valor mínimo a incluir na resposta (opcional)
  • max (decimal) Valor máximo a incluir na resposta (opcional)
  • round (integer) Arredondar para este número de casas decimais (opcional)
  • timescale (integer ou string) Obter o primeiro valor neste intervalo em minutos, valores válidos: 10, 15, 20, 30, 60, 240, 720, 1440, "daily" (opcional)
  • sum (integer ou string) Obter a soma deste intervalo em minutos, valores válidos: 10, 15, 20, 30, 60, 240, 720, 1440, "daily" (opcional)
  • average (integer ou string) Obter a média deste intervalo em minutos, valores válidos: 10, 15, 20, 30, 60, 240, 720, 1440, "daily" (opcional)
  • median (integer ou string) Obter a mediana deste intervalo em minutos, valores válidos: 10, 15, 20, 30, 60, 240, 720, 1440, "daily" (opcional)
  • callback (string) Nome da função a ser usada para solicitações JSONP entre domínios (opcional)
Observe que o parâmetro results não é compatível com timescale, sum, average ou median.

Exemplo de GET:
GET thingspeak.nextcon.comchannels/9/fields/1.json.xml?results=2

A resposta será uma página HTML com o feed JSON do campo do Canal, por exemplo:
{
  "channel":
  {
    "id": 9,
    "name": "my_house",
    "description": "Netduino Plus connected to sensors around the house",
    "latitude": "40.44",
    "longitude": "-79.996",
    "field1": "Light",
    "field2": "Outside Temperature",
    "created_at": "2010-12-13T20:20:06-05:00",
    "updated_at": "2014-02-26T12:43:04-05:00",
    "last_entry_id": 6060625
  },
  "feeds":
  [
    {
      "created_at": "2014-02-26T12:42:49-05:00",
      "entry_id": 6060624,
      "field1": "188"
    },
    {
      "created_at": "2014-02-26T12:43:04-05:00",
      "entry_id": 6060625,
      "field1": "164"
    }
  ]
}
A resposta será um objeto JSON do feed de campo do Canal, por exemplo:
{
  "channel":
  {
    "id": 9,
    "name": "my_house",
    "description": "Netduino Plus connected to sensors around the house",
    "latitude": "40.44",
    "longitude": "-79.996",
    "field1": "Light",
    "field2": "Outside Temperature",
    "created_at": "2010-12-13T20:20:06-05:00",
    "updated_at": "2014-02-26T12:43:04-05:00",
    "last_entry_id": 6060625
  },
  "feeds":
  [
    {
      "created_at": "2014-02-26T12:42:49-05:00",
      "entry_id": 6060624,
      "field1": "188"
    },
    {
      "created_at": "2014-02-26T12:43:04-05:00",
      "entry_id": 6060625,
      "field1": "164"
    }
  ]
}
A resposta será um objeto XML do feed de campo do Canal, por exemplo:
<?xml version="1.0" encoding="UTF-8"?>
<channel>
  <id type="integer">9</id>
  <name>my_house</name>
  <description>Netduino Plus connected to sensors around the house</description>
  <latitude type="decimal">40.44</latitude>
  <longitude type="decimal">-79.996</longitude>
  <field1>Light</field1>
  <field2>Outside Temperature</field2>
  <created-at type="dateTime">2010-12-13T20:20:06-05:00</created-at>
  <updated-at type="dateTime">2014-02-26T12:49:19-05:00</updated-at>
  <last-entry-id type="integer">6060650</last-entry-id>
  <feeds type="array">
    <feed>
      <created-at type="dateTime">2014-02-26T12:49:04-05:00</created-at>
      <entry-id type="integer">6060649</entry-id>
      <field1>160</field1>
      <id type="integer" nil="true"/>
    </feed>
    <feed>
      <created-at type="dateTime">2014-02-26T12:49:19-05:00</created-at>
      <entry-id type="integer">6060650</entry-id>
      <field1>171</field1>
      <id type="integer" nil="true"/>
    </feed>
  </feeds>
</channel>


Resposta em: TEXTJSONXML

Obter Última Entrada em um Feed de Campo


Para obter a última entrada no feed de campo de um Canal, envie um HTTP GET para thingspeak.nextcon.comchannels/CHANNEL_ID/fields/FIELD_ID/last.json.xml , substituindo CHANNEL_ID pelo ID do seu Canal e FIELD_ID pelo ID do seu campo.

Parâmetros válidos:
  • api_key (string) Chave de API de leitura para este Canal específico (opcional — não é necessária chave para canais públicos)
  • timezone (string) Identificador de fuso horário para esta solicitação (opcional)
  • offset (integer) Deslocamento de fuso horário em que os resultados devem ser exibidos. Use o parâmetro timezone para maior precisão. (opcional)
  • status (true/false) Incluir atualizações de status no feed definindo "status=true" (opcional)
  • location (true/false) Incluir latitude, longitude e elevação no feed definindo "location=true" (opcional)
  • callback (string) Nome da função a ser usada para solicitações JSONP entre domínios (opcional)
  • prepend (string) Texto a adicionar antes da resposta da API (opcional)
  • append (string) Texto a adicionar após a resposta da API (opcional)

Exemplo de GET:
GET thingspeak.nextcon.comchannels/9/fields/1/last.json.xml

A resposta será o valor mais recente do campo do Canal, por exemplo:
176
A resposta será um objeto JSON do feed mais recente, por exemplo:
{
  "created_at": "2014-02-26T21:27:21Z",
  "entry_id": 6061519,
  "field1": "176"
}
A resposta será um objeto XML do feed mais recente, por exemplo:
<?xml version="1.0" encoding="UTF-8"?>
<feed>
  <created-at type="dateTime">2014-02-26T21:28:51Z</created-at>
  <entry-id type="integer">6061525</entry-id>
  <field1>200</field1>
  <id type="integer" nil="true"/>
</feed>

Resposta em: TEXTJSONXML

Obter Atualizações de Status


Para visualizar as atualizações de status de um Canal, envie um HTTP GET para thingspeak.nextcon.comchannels/CHANNEL_ID/status.json.xml , substituindo CHANNEL_ID pelo ID do seu Canal.

Parâmetros válidos:
  • api_key (string) Chave de API de leitura para este Canal específico (opcional — não é necessária chave para canais públicos)
  • timezone (string) Identificador de fuso horário para esta solicitação (opcional)
  • offset (integer) Deslocamento de fuso horário em que os resultados devem ser exibidos. Use o parâmetro timezone para maior precisão. (opcional)
  • callback (string) Nome da função a ser usada para solicitações JSONP entre domínios (opcional)

Exemplo de GET:
GET thingspeak.nextcon.comchannels/1417/status.json.xml

A resposta será um objeto JSON dos status do Canal, por exemplo:
{
  "channel":
  {
    "name": "CheerLights",
    "latitude": "40.5",
    "longitude": "-80.22"
  },
  "feeds":
  [
    {
      "created_at": "2014-02-26T02:28:01Z",
      "entry_id": 11888,
      "status": "@cheerlights green"
    },
    {
      "created_at": "2014-02-26T22:05:31Z",
      "entry_id" :11889,
      "status": "@cheerlights blue"
    }
  ]
}
A resposta será um objeto JSON dos status do Canal, por exemplo:
{
  "channel":
  {
    "name": "CheerLights",
    "latitude": "40.5",
    "longitude": "-80.22"
  },
  "feeds":
  [
    {
      "created_at": "2014-02-26T02:28:01Z",
      "entry_id": 11888,
      "status": "@cheerlights green"
    },
    {
      "created_at": "2014-02-26T22:05:31Z",
      "entry_id" :11889,
      "status": "@cheerlights blue"
    }
  ]
}
A resposta será um objeto XML dos status do Canal, por exemplo:
<?xml version="1.0" encoding="UTF-8"?>
<channel>
  <name>CheerLights</name>
  <latitude type="decimal">40.5</latitude>
  <longitude type="decimal">-80.22</longitude>
  <feeds type="array">
    <feed>
      <created-at type="dateTime">2014-02-26T02:28:01Z</created-at>
      <entry-id type="integer">11888</entry-id>
      <status>@cheerlights green</status>
      <id type="integer" nil="true"/>
    </feed>
    <feed>
      <created-at type="dateTime">2014-02-26T22:05:31Z</created-at>
      <entry-id type="integer">11889</entry-id>
      <status>@cheerlights blue</status>
      <id type="integer" nil="true"/>
    </feed>
  </feeds>
</channel>

Resposta em: TEXTJSONXML

Listar Canais Públicos


Para visualizar uma lista de Canais públicos, envie um HTTP GET para
thingspeak.nextcon.comchannels/public.json.xml .

Autenticação obrigatória: este endpoint exige uma sessão de usuário autenticado. Visitantes anônimos e chamadas apenas com chave de API de conta ou de canal recebem erro de autenticação.

Parâmetros válidos:
  • page (integer) Número da página a recuperar (opcional)
  • tag (string) Nome da tag a pesquisar (opcional)
  • username (string) Nome de usuário da pessoa cujos Canais você deseja pesquisar (opcional)

Você também pode pesquisar Canais dentro de uma certa distância de uma localização incluindo os seguintes parâmetros de localização:
  • latitude (decimal) - Latitude da localização em graus. (opcional)
  • longitude (decimal) - Longitude da localização em graus. (opcional)
  • distance (decimal) - Distância em quilômetros da localização. (opcional)

Exemplo de GET:
GET thingspeak.nextcon.comchannels/public.json.xml

A resposta será uma página web com uma lista de Canais públicos.
A resposta será um objeto JSON de Canais públicos, por exemplo:
{
  "pagination":
  {
    "current_page": 1,
    "per_page": 15,
    "total_entries": 653
  },
  "channels":
  [
    {
      "id": 9,
      "name": "my_house",
      "description": "Netduino Plus connected to sensors around the house",
      "latitude": "40.44",
      "longitude": "-79.996",
      "created_at": "2010-12-13T20:20:06-05:00",
      "elevation": "",
      "last_entry_id": 6062691,
      "ranking" :100,
      "username":"hans",
      "tags":
      [
        {
          "id": 9,
          "name": "temp"
        },{
          "id": 25,
          "name": "light"
        }
      ]
    },
    {
      "id": 5683,
      "name": "Residential Data Points",
      "description": "Arduino Uno + Ethernet Shield",
      "latitude": "35.664548",
      "longitude": "-78.654972",
      "created_at": "2013-05-15T12:33:57-04:00",
      "elevation": "100",
      "last_entry_id": 731713,
      "ranking": 100,
      "username": "samlro",
      "tags":
      [
        {
          "id": 950,
          "name": "Analog Inputs"
        }
      ]
    }
  ]
}
A resposta será um objeto XML de Canais públicos, por exemplo:
<?xml version="1.0" encoding="UTF-8"?>
<response>
  <pagination>
    <current-page type="WillPaginate::PageNumber">1</current-page>
    <per-page type="integer">15</per-page>
    <total-entries type="integer">654</total-entries>
  </pagination>
  <channels type="array">
    <channel>
      <id type="integer">9</id>
      <name>my_house</name>
      <description>
      Netduino Plus connected to sensors around the house
      </description>
      <latitude type="decimal">40.44</latitude>
      <longitude type="decimal">-79.996</longitude>
      <created-at type="dateTime">2010-12-13T20:20:06-05:00</created-at>
      <elevation/>
      <last-entry-id type="integer">6062720</last-entry-id>
      <ranking type="integer">100</ranking>
      <username>hans</username>
      <tags type="array">
        <tag>
          <id type="integer">9</id>
          <name>temp</name>
        </tag>
        <tag>
          <id type="integer">25</id>
          <name>light</name>
        </tag>
      </tags>
    </channel>
    <channel>
      <id type="integer">5683</id>
      <name>Residential Data Points</name>
      <description>Arduino Uno + Ethernet Shield</description>
      <latitude type="decimal">35.664548</latitude>
      <longitude type="decimal">-78.654972</longitude>
      <created-at type="dateTime">2013-05-15T12:33:57-04:00</created-at>
      <elevation>100</elevation>
      <last-entry-id type="integer">731720</last-entry-id>
      <ranking type="integer">100</ranking>
      <username>samlro</username>
      <tags type="array">
        <tag>
          <id type="integer">950</id>
          <name>Analog Inputs</name>
        </tag>
      </tags>
    </channel>
  </channels>
</response>
Resposta em: TEXTJSONXML

Listar Meus Canais


Para visualizar uma lista dos seus Canais, envie um HTTP GET para
thingspeak.nextcon.comchannels.json.xml .

Parâmetros válidos:
  • api_key (string) - Chave de API da sua Conta (isso é diferente de uma Chave de API de Canal e pode ser encontrada nas configurações da Conta). (obrigatório)

Exemplo de GET:
GET thingspeak.nextcon.comchannels.json.xml

A resposta será uma página web com uma lista dos seus Canais.
A resposta será um objeto JSON dos seus Canais, por exemplo:
[
  {
    "id": 9,
    "name": "my_house",
    "description": "Netduino Plus connected to sensors around the house",
    "latitude": "40.44",
    "longitude": "-79.996",
    "created_at": "2010-12-13T20:20:06-05:00",
    "elevation": "",
    "last_entry_id": 6062691,
    "ranking" :100,
    "username":"hans",
    "tags": [],
    "api_keys":
    [
      {
        "api_key": "XXXXXXXXXXXXXXXX",
        "write_flag": true
      }
    ]
  },
  {
    "id": 5683,
    "name": "Residential Data Points",
    "description": "Connected Arduino",
    "latitude": "32.664548",
    "longitude": "-73.654972",
    "created_at": "2013-05-15T12:33:57-04:00",
    "elevation": "100",
    "last_entry_id": 731713,
    "ranking": 100,
    "username": "hans",
    "tags": [],
    "api_keys":
    [
      {
        "api_key": "XXXXXXXXXXXXXXXX",
        "write_flag": true
      }
    ]
  }
]
A resposta será um objeto XML dos seus Canais, por exemplo:
<?xml version="1.0" encoding="UTF-8"?>
<channels type="array">
  <channel>
    <id type="integer">9</id>
    <name>my_house</name>
    <description>
    Netduino Plus connected to sensors around the house
    </description>
    <latitude type="decimal">40.44</latitude>
    <longitude type="decimal">-79.996</longitude>
    <created-at type="dateTime">2010-12-13T20:20:06-05:00</created-at>
    <elevation/>
    <last-entry-id type="integer">6062720</last-entry-id>
    <ranking type="integer">100</ranking>
    <username>hans</username>
    <tags type="array" />
    <api-keys type="array">
        <api-key>
            <api-key>XXXXXXXXXXXXXXXX</api-key>
            <write-flag type="boolean">true</write-flag>
        </api-key>
    </api-keys>
  </channel>
  <channel>
    <id type="integer">5683</id>
    <name>Residential Data Points</name>
    <description>Connected Arduino</description>
    <latitude type="decimal">32.664548</latitude>
    <longitude type="decimal">-73.654972</longitude>
    <created-at type="dateTime">2013-05-15T12:33:57-04:00</created-at>
    <elevation>100</elevation>
    <last-entry-id type="integer">731720</last-entry-id>
    <ranking type="integer">100</ranking>
    <username>hans</username>
    <tags type="array" />
    <api-keys type="array">
        <api-key>
            <api-key>XXXXXXXXXXXXXXXX</api-key>
            <write-flag type="boolean">true</write-flag>
        </api-key>
    </api-keys>
  </channel>
</channels>

Resposta em: TEXTJSONXML

Visualizar um Canal


Para visualizar um Canal específico, envie um HTTP GET para
thingspeak.nextcon.comchannels/CHANNEL_ID.json.xml .

Parâmetros válidos:
  • api_key (string) - Chave de API do Usuário; observe que isso é diferente de uma chave de API de Canal e pode ser encontrada nos detalhes da sua conta. Se esta chave for fornecida, os detalhes privados do Canal (como as chaves de API do Canal) também serão exibidos. (opcional).

Exemplo de GET:
GET thingspeak.nextcon.comchannels/1417.json.xml

A resposta será uma página web que exibe o Canal.
A resposta será um objeto JSON do Canal, por exemplo:
{
  "id": 4,
  "name": "My New Channel",
  "description": null,
  "metadata": null,
  "latitude": null,
  "longitude": null,
  "created_at": "2014-03-25T13:12:50-04:00",
  "elevation": null,
  "last_entry_id": null,
  "ranking": 15,
  "username": "hans",
  "tags": []
}
A resposta será um objeto XML de Canais públicos, por exemplo:
<?xml version="1.0" encoding="UTF-8"?>
<channel>
    <id type="integer">4</id>
    <name>My New Channel</name>
    <description nil="true" />
    <metadata nil="true" />
    <latitude type="decimal" nil="true" />
    <longitude type="decimal" nil="true" />
    <created-at type="dateTime">2014-03-25T20:17:44-04:00</created-at>
    <elevation nil="true" />
    <last-entry-id type="integer" nil="true" />
    <ranking type="integer">15</ranking>
    <username>hans</username>
    <tags type="array" />
</channel>

Resposta em: TEXTJSONXML

Criar um Canal


Para criar um novo Canal, envie um HTTP POST para thingspeak.nextcon.comchannels.json.xml .

Parâmetros válidos:
  • api_key (string) - Chave de API do Usuário; observe que isso é diferente de uma chave de API de Canal e pode ser encontrada nos detalhes da sua conta. (obrigatório).
  • description (string) - Descrição do Canal (opcional)
  • elevation (integer) - Elevação em metros (opcional)
  • field1 (string) - Nome do Campo 1 (opcional)
  • field2 (string) - Nome do Campo 2 (opcional)
  • field3 (string) - Nome do Campo 3 (opcional)
  • field4 (string) - Nome do Campo 4 (opcional)
  • field5 (string) - Nome do Campo 5 (opcional)
  • field6 (string) - Nome do Campo 6 (opcional)
  • field7 (string) - Nome do Campo 7 (opcional)
  • field8 (string) - Nome do Campo 8 (opcional)
  • latitude (decimal) - Latitude em graus (opcional)
  • longitude (decimal) - Longitude em graus (opcional)
  • metadata (text) - Metadados do Canal, que podem incluir JSON, XML ou qualquer outro dado (opcional)
  • name (string) - Nome do Canal (opcional)
  • public_flag (true/false) - Se o Canal deve ser público, padrão false (opcional)
  • tags (string) - Lista de tags separadas por vírgula (opcional)
  • url (string) - URL da página web do Canal (opcional)

Exemplo de POST:
POST thingspeak.nextcon.comchannels.json.xml
     api_key=XXXXXXXXXXXXXXXX
     name=My New Channel

A resposta será uma página web com seu Canal recém-criado.
A resposta será um objeto JSON do novo canal, por exemplo:
{
  "id": 4,
  "name": "My New Channel",
  "description": null,
  "metadata": null,
  "latitude": null,
  "longitude": null,
  "created_at": "2014-03-25T13:12:50-04:00",
  "elevation": null,
  "last_entry_id": null,
  "ranking": 15,
  "username": "hans",
  "tags": [],
  "api_keys":
  [
    {
      "api_key": "XXXXXXXXXXXXXXXX",
      "write_flag": true
    }
  ]
}
A resposta será um objeto XML do novo canal, por exemplo:
<?xml version="1.0" encoding="UTF-8"?>
<channel>
    <id type="integer">4</id>
    <name>My New Channel</name>
    <description nil="true" />
    <metadata nil="true" />
    <latitude type="decimal" nil="true" />
    <longitude type="decimal" nil="true" />
    <created-at type="dateTime">2014-03-25T20:17:44-04:00</created-at>
    <elevation nil="true" />
    <last-entry-id type="integer" nil="true" />
    <ranking type="integer">15</ranking>
    <username>hans</username>
    <tags type="array" />
    <api-keys type="array">
        <api-key>
            <api-key>XXXXXXXXXXXXXXXX</api-key>
            <write-flag type="boolean">true</write-flag>
        </api-key>
    </api-keys>
</channel>

Resposta em: TEXTJSONXML

Atualizar um Canal


Para atualizar um Canal, envie um HTTP PUT para
thingspeak.nextcon.comchannels/CHANNEL_ID.json.xml .

Parâmetros válidos:
  • api_key (string) - Chave de API do Usuário; observe que isso é diferente de uma chave de API de Canal e pode ser encontrada nos detalhes da sua conta. (obrigatório).
  • description (string) - Descrição do Canal (opcional)
  • elevation (integer) - Elevação em metros (opcional)
  • field1 (string) - Nome do Campo 1 (opcional)
  • field2 (string) - Nome do Campo 2 (opcional)
  • field3 (string) - Nome do Campo 3 (opcional)
  • field4 (string) - Nome do Campo 4 (opcional)
  • field5 (string) - Nome do Campo 5 (opcional)
  • field6 (string) - Nome do Campo 6 (opcional)
  • field7 (string) - Nome do Campo 7 (opcional)
  • field8 (string) - Nome do Campo 8 (opcional)
  • latitude (decimal) - Latitude em graus (opcional)
  • longitude (decimal) - Longitude em graus (opcional)
  • metadata (text) - Metadados do Canal, que podem incluir JSON, XML ou qualquer outro dado (opcional)
  • name (string) - Nome do Canal (opcional)
  • public_flag (true/false) - Se o Canal deve ser público, padrão false (opcional)
  • tags (string) - Lista de tags separadas por vírgula (opcional)
  • url (string) - URL da página web do Canal (opcional)

Exemplo de PUT:
PUT thingspeak.nextcon.comchannels/4.json.xml
    api_key=XXXXXXXXXXXXXXXX
    name=Updated Channel

A resposta será uma página web com seu Canal atualizado.
A resposta será um objeto JSON do canal atualizado, por exemplo:
{
  "id": 4,
  "name": "Updated Channel",
  "description": null,
  "metadata": null,
  "latitude": null,
  "longitude": null,
  "created_at": "2014-03-25T13:12:50-04:00",
  "elevation": null,
  "last_entry_id": null,
  "ranking": 15,
  "username": "hans",
  "tags": [],
  "api_keys":
  [
    {
      "api_key": "XXXXXXXXXXXXXXXX",
      "write_flag": true
    }
  ]
}
A resposta será um objeto XML do canal atualizado, por exemplo:
<?xml version="1.0" encoding="UTF-8"?>
<channel>
    <id type="integer">4</id>
    <name>Updated Channel</name>
    <description nil="true" />
    <metadata nil="true" />
    <latitude type="decimal" nil="true" />
    <longitude type="decimal" nil="true" />
    <created-at type="dateTime">2014-03-25T20:17:44-04:00</created-at>
    <elevation nil="true" />
    <last-entry-id type="integer" nil="true" />
    <ranking type="integer">15</ranking>
    <username>hans</username>
    <tags type="array" />
    <api-keys type="array">
        <api-key>
            <api-key>XXXXXXXXXXXXXXXX</api-key>
            <write-flag type="boolean">true</write-flag>
        </api-key>
    </api-keys>
</channel>

Resposta em: TEXTJSONXML

Limpar um Canal


Para limpar todos os dados do feed de um Canal, envie um HTTP DELETE para thingspeak.nextcon.comchannels/CHANNEL_ID/feeds.json.xml .

Parâmetros válidos:
  • api_key (string) - Chave de API do Usuário; observe que isso é diferente de uma chave de API de Canal e pode ser encontrada nos detalhes da sua conta. (obrigatório).

Exemplo de DELETE:
DELETE thingspeak.nextcon.comchannels/4/feeds.json.xml
       api_key=XXXXXXXXXXXXXXXX

A resposta será uma página web com seu Canal.
A resposta será um array JSON vazio, por exemplo:
[]
A resposta será um array XML vazio, por exemplo:
<?xml version="1.0" encoding="UTF-8"?>
<nil-classes type="array" />

Resposta em: TEXTJSONXML

Excluir um Canal


Para excluir um Canal, envie um HTTP DELETE para thingspeak.nextcon.comchannels/CHANNEL_ID.json.xml , substituindo CHANNEL_ID pelo ID do seu Canal.

Parâmetros válidos:
  • api_key (string) - Chave de API do Usuário; observe que isso é diferente de uma chave de API de Canal e pode ser encontrada nos detalhes da sua conta. (obrigatório).

Exemplo de DELETE:
DELETE thingspeak.nextcon.comchannels/4.json.xml
       api_key=XXXXXXXXXXXXXXXX

A resposta será uma página web com uma lista de Canais.
A resposta será um objeto JSON do Canal antes de ser excluído, por exemplo:
{
  "id": 4,
  "name": "My New Channel",
  "description": null,
  "latitude": null,
  "longitude": null,
  "created_at": "2014-03-25T13:12:50-04:00",
  "elevation": null,
  "last_entry_id": null,
  "ranking": 15,
  "username": "hans",
  "tags": []
}
A resposta será um objeto XML do Canal antes de ser excluído, por exemplo:
<?xml version="1.0" encoding="UTF-8"?>
<channel>
    <id type="integer">4</id>
    <name>My New Channel</name>
    <description nil="true" />
    <latitude type="decimal" nil="true" />
    <longitude type="decimal" nil="true" />
    <created-at type="dateTime">2014-03-25T20:17:44-04:00</created-at>
    <elevation nil="true" />
    <last-entry-id type="integer" nil="true" />
    <ranking type="integer">15</ranking>
    <username>hans</username>
    <tags type="array" />
</channel>



Importador

Usando o Importador Nextcon, você pode importar dados de um arquivo CSV diretamente para um Canal. Para acessar o Importador, selecione um Canal e clique em Importar Dados.

O formato do CSV deve ser o seguinte:

datetime,field1,field2,field3,field4,field5,field6,field7,field8,latitude,longitude,elevation,status

Aqui está um exemplo de arquivo CSV: Arquivo CSV de Exemplo

Você só precisa enviar um carimbo de data/hora e pelo menos um campo. O carimbo de data/hora pode estar em vários formatos, como epoch, ISO 8601 ou horário MySQL. Se a data/hora incluir um deslocamento GMT/UTC, usaremos isso para importar os dados corretamente. Se seus carimbos de data/hora não tiverem um deslocamento GMT/UTC, você pode especificar o fuso horário em que os dados foram registrados.