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"
}