É hora de REST, pessoal

Em nosso último post mencionamos que nossa API agora suporta uma interface REST. Isso realmente é verdade, e está realmente aqui! Disse nossa nova página do manual:

URLs de API REST são estruturadas para atravessar facilmente a hierarquia de objeto da SoftLayer. Uma solicitação REST básica é estruturada da seguinte forma:

https://:@api.[service.]softlayer.com/rest/v3/
[/initializationParameter].

  • Todas as solicitações REST, até mesmo as solicitações de rede privada, devem ser passadas por meio de SSL HTTP.
  • Use o nome do usuário e a chave da API para autenticar a solicitação por meio de autenticação HTTP.
  • O nome do host base e o nome da pasta para uma solicitação REST é api.softlayer.com/rest/v3/ ou api.service.softlayer.com/rest/v3/. Use api.service.softlayer.com/rest/v3/ para acessar a API REST pela rede privada da SoftLayer. É uma maneira mais segura de se comunicar com a SoftLayer, mas o sistema que está fazendo as chamadas de API deve estar na rede privada da SoftLayer (comprada da SoftLayer ou com login efetuado na VPN da rede privada da SoftLayer).
  • Siga a URL base com o nome do serviço da API que deseja chamar, por exemplo, "SoftLayer_Account" ou "SoftLayer_Hardware_Server".
  • Se a solicitação da API precisar de um parâmetro de inicialização, então, inclua uma barra seguida pelo ID do parâmetro de inicialização para a URL.
  • A API da SoftLayer REST pode retornar a saída XML ou JSON formatada. Inclua ".xml" ou ".json" no fim da solicitação para especificar em qual formato você gostaria de receber dados.

 

Agora que a coisa chata está fora do caminho, aqui estão algumas chamadas de amostra:

A chamada mais básica no API da SoftLayer é o método getObject() no serviço de API SoftLayer_Account. Há também a URL mais simples em nossa API REST:

https://username:apiKey@api.softlayer.com/rest/v3/SoftLayer_Account.json

 

Se você precisar recuperar um objeto específico, anexe seu número de ID ao final da URL. Essa URL recupera informações sobre o registro SoftLayer_Hardware_Server 1234:

https://username:apiKey@api.softlayer.com/rest/v3/
SoftLayer_Hardware_Server/1234.json

 

Uma das coisas mais legais em nossa API é como todos os nossos objetos se relacionam uns com os outros. Anexe uma propriedade relacional ao final de sua URL para recuperar os objetos relacionados do objeto. Essa URL recupera os registros de componente de rede do servidor 1234:

https://username:apiKey@api.softlayer.com/rest/v3/
SoftLayer_Hardware_Server/1234/NetworkComponents.json

 

Encadeie essas propriedades relacionais o máximo que você puder. Também é possível especificar as propriedades relacionais incluindo seu ID ao final da URL. Essa URL recupera o registro de componente de rede 5678 do registro de servidor 1234:

https://username:apiKey@api.softlayer.com/rest/v3/
SoftLayer_Hardware_Server/1234/NetworkComponents/5678.json

 

Como os registros de hardware se relacionam de volta ao serviço SoftLayer_Account, sua URL também se relaciona de volta a ele. Seu registro SoftLayer_Account possui propriedades para quase todos os serviços disponíveis, e está acessível para fornecer uma interface verdadeiramente RESTful.

https://username:apiKey@api.softlayer.com/rest/v3/SoftLayer_Account/
Hardware/1234/NetworkComponents/5678.json

 

Eu estou absolutamente adorando o modo como isso funciona bem. A capacidade de testar a funcionalidade da API direto em meu navegador da web tornou a resolução de problemas muito mais fácil para mim. Nossa interface REST também suporta a criação, edição e exclusão de objeto, além das opções específicas do API da SoftLayer, como máscaras de objeto e limites de resultados. Verifique nossa página do manual para obter o escopo. Faça uma experiência e diga o que você acha. Temos mais coisas boas chegando para você em breve!