No máximo 2 ou 3 níveis de objetos /v1/usuarios/{id}/pedidos Pragmaticamente: Granularidade nível 1 /pedidos/{idPedido} Granularidade nível 2 /pedidos/{idPedido}/itens Granularidade nível 3 /pedidos/{idPedido}/itens/{idItem}/categorias
(update, create) DELETE (delete) /pedidos Criar novo pedido Lista pedidos -- Apaga todos os pedidos /pedidos/980c61e3 -- Obtém pedido 980c61e3 Atualiza o pedido 980c61e3, se não existir, cria Apaga o pedido 980c61e3
Salesforce.com: /services/data/v20.0/limits Nunca quebre o cliente!! Versão E SE... For preciso mudar o contrato da API e já tenho clientes em produção?
já conhece o identificador. GET /pedidos/x124aq134 Query Param Quando você necessita filtrar ou ordenar os itens que serão retornados. GET /pedidos?status=ativo&_sort= dataCriacao Path Param vs Query Param
conhece dos Client Apps? ❑ As APIs dão acesso a informações sensíveis? ❑ As APIs alteram dados importantes? Básico Intermediário Crítico API totalmente pública, potencialmente centenas de Apps externos Alguns Apps externos de parceiros bem conhecidos Somente Apps desenvolvidos pela própria empresa
dos Client Apps? ❑ As APIs dão acesso a informações sensíveis? ❑ As APIs alteram dados importantes? Básico Intermediário Crítico Registros médicos, transações financeiras ou dados vitais ao negócio Informações sociais, Internet das coisas Informações acessórias não relacionadas a usuários
dos Client Apps? ❑ As APIs dão acesso a informações sensíveis? ❑ As APIs alteram dados importantes? Básico Intermediário Crítico Todas as operações (inclusive DELETEs) em elementos e coleções de recursos GETs e alguns POSTs e PUTs em recursos não vitais Somente GETs
canais, Inovação Aberta Monetização Foco no que realmente importa para o seu negócio É necessário saber somente o que a API faz, mas não como ela o faz Vantagens