Formato de dados e códigos HTTP
Os dados de resposta de entrada e saída para qualquer chamada de API podem ser exibidos no formato JSON. JSON (JavaScript Object Notation) é um formato leve de intercâmbio de dados. Para recuperar a resposta no formato JSON, adicione o cabeçalho da solicitação de aceitação com o valor application/json.
cad140br
Formato de resposta de dados
Os dados de resposta de entrada e saída para qualquer chamada de API podem ser exibidos no formato JSON. JSON (JavaScript Object Notation) é um formato leve de intercâmbio de dados. Para recuperar a resposta no formato JSON, adicione o cabeçalho da solicitação de aceitação com o valor application/json.
Exemplo de itens do estoque no formato JSON:
[{"item_id":"1","product_id":"1","stock_id":"1","qty":"99.0000","low_stock_date":null},{"item_id":"2","product_id":"2","stock_id":"1","qty":"100.0000","low_stock_date":null}]
Códigos de resposta HTTP
O SCIM usa códigos de resposta HTTP por padrão para indicar êxito ou falha das operações. Os devidos códigos de status HTTP descrevendo a mensagem do erro e do corpo são retornados para todas as solicitações em um formato JSON.
As respostas de erro são identificadas usando-se o seguinte URI de "esquema": "urn:ietf:params:scim:api:messages:2.0:Error".
A tabela a seguir contém possíveis códigos de status HTTP comuns.
Códigos de status HTTP | Descrição |
200 (Ok) | Indica êxito |
201 (criado) | Quando um recurso é criado com êxito usando a solicitação POST ou PUT. Retorna o link para o recurso recém-criado usando o cabeçalho do local. |
307 (redirecionamento temporário) | Quando o cliente é solicitado a repetir a mesma solicitação http no local identificado. O cliente não deve usar o local fornecido na resposta como referência permanente ao recurso e deve continuar usando o URI da solicitação original. |
308 (redirecionamento permanente) | Quando o cliente é direcionado a repetir a mesma solicitação http no local identificado. O cliente deve usar o local fornecido na resposta como referência permanente ao recurso. |
204 (nenhum conteúdo) | Quando o corpo da resposta está vazio. Por exemplo, uma solicitação DELETE. |
400 (solicitação inválida) | Estados em que uma entrada inválida é fornecida. Por exemplo, erro de validação ou dados ausentes. Para tipos de erro específicos do SCIM, consulte a RFC 7644. |
401 (não autorizado) | Indica que o usuário está usando um token de autenticação inválido ou incorreto. |
403 (proibido) | Indica que o usuário não tem acesso ao método que está sendo usado. Por exemplo, acesso a exclusão sem direitos de administrador. |
404 (não encontrado) | Indica que o método não está disponível. |
409 (conflito) | Indica conflito ao executar o método. Por exemplo, a adição de uma entrada duplicada. |
412 (falha de pré-condição) | Falha ao atualizar. O recurso foi alterado no servidor. |
500 (erro interno do servidor) | Indica que o servidor emitiu uma exceção ao executar o método. |
501 (não implementado) | A operação solicitada não é suportada pelo provedor de serviços. |
Exemplo de um erro em resposta a uma solicitação GET inexistente, exibida no formato JSON:
HTTP/1.1 404 Not Found{"schemas": ["urn:ietf:params:scim:api:messages:2.0:Error"],"detail":"Resource 2819c223-7f76-453a-919d-413861904646 not found","status": "404"}
Exemplo de um erro em resposta a uma solicitação PUT:
HTTP/1.1 400 Bad Request{"schemas": ["urn:ietf:params:scim:api:messages:2.0:Error"],"scimType":"mutability""detail":"Attribute 'id' is readOnly","status": "400"}