Developer API

  1. Funcionalidade
  2. Versionamento
  3. API Token
  4. Limite
  5. Paginação
  6. CRUD: Create, Retrieve, Update e Destroy

Funcionalidade

O acesso a API deve ser feito a partir do domínio https://api.cloudwalk.io/{versão}.

As requisições devem ser feitas utilizando o protocolo HTTPS.

Todos os registros de data e hora são retornados no formato padrão ISO 8601:

YYYY-MM-DDTHH:MM:SSZ

Versionamento

Ao utilizar a API do CloudWalk, é necessário informar a versão que está sendo utilizada. Atualmente somente a versão v1 está disponível para utilização, mas eventualmente novas versões serão disponibilizadas.

Exemplo de URL: https://api.cloudwalk.io/v1/devices

API Token

Todas as operações disponíveis na interface API devem necessariamente utilizar uma API token válida. A geração/atualização da API token é feita diretamente no CloudWalk Manager, bastando para isso acessar o menu Minha conta, e então a opção API.

API Token

Exemplo de URL:

https://api.cloudwalk.io/{versão}/devices?access_token=6eb718f846c6d303ed8054cdf7ccdb18c821de18

Limite

Por padrão, um endereço IP pode efetuar até 3.600 requisições por hora. O status do limite de requisições pode ser verificado no cabeçalho HTTP de qualquer requisição:

$ curl -i https://api.cloudwalk.io/v1/devices?access_token=$TOKEN

HTTP/1.1 200 OK
Date: Wed, 28 Jan 2015 18:40:50 GMT
X-Rate-Limit-Limit: 3600
X-Rate-Limit-Remaining: 3599
X-Rate-Limit-Reset: 1422474051

CRUD: Create, Retrieve, Update e Destroy

Para executar alguma operação em um recurso (aplicação, número lógico, grupo, etc), é feita uma requisição HTTP para uma URL utilizando o verbo HTTP apropriado.

Os quatro verbos HTTP utilizados em operações CRUD são:

  1. GET: Busca um recurso específico ou uma coleção de recursos de uma URL. Por exemplo, GET /{versão}/devices retornaria uma listagem com todos os números de série, enquanto que um GET /{versão}/devices/135 retornaria somente o número de série com o ID 135.
  2. POST: Cria um novo recurso. Por exemplo, POST /{versão}/devices criaria um novo número de série. A informação enviada na requisição POST seria então utilizada para preencher as propriedades do número de série.
  3. PUT: Atualiza um recurso já existente. Por exemplo, PUT /{versão}/devices/135 atualizaria o número de série com o ID 135. A informação enviada na requisição PUT seria então utilizada para atualizar as propriedades do número de série.
  4. DELETE: Exclui um recurso já existente. Por exemplo, DELETE /{versão}/devices/135 excluiria o número de série com o ID 135.

Paginação

Requisições que retornam múltiplos registros são paginadas, onde a paginação padrão são 30 registros por vez. As páginas sub-sequentes são definidas pelo parâmetro &page, que se inicia em 1. A quantidade padrão de registros retornados pode ser alterada pelo parâmetro &per_page, onde o máximo permitido é 100.

https://api.cloudwalk.io/v1/devices?access_token=$TOKEN&page=1&per_page=50
https://api.cloudwalk.io/v1/devices?access_token=$TOKEN&page=2&per_page=50