alerts.beta
Background - API1Created with Sketch.

Custom Response

O que é Custom Response?

Custom Response possibilita a customização do retorno de nossas APIs de forma a atender melhor o seu negócio.

Usando a abordagem de seleção de atributos, você pode escolher quais dados deseja receber, tornando a integração mais ágil e fácil de compreender.

Isto é feito passando um query param de nome select, que lhe permite escolher quais atributos estarão presentes no body da resposta da sua solicitação HTTP. Ele pode ser usado em qualquer verbo HTTP (GET, POST, PUT, PATCH, DELETE) disponível em nossos endpoints.

Você irá receber os dados somente dos atributos que informar, desconsiderando os demais. Caso nenhum atributo seja encontrado o retorno será um JSON vazio.

Parâmetros da requisição

  • selectString

    Lista de atributos que se deseja selecionar, seus valores são separados por vírgula.

    Caso o atributo que você precisa selecionar esteja dentro de um Objeto, como por exemplo o país do endereço de um produtor, você pode atribuir o valor address.country ao query param select.

    Caso o atributo que você precisa selecionar esteja dentro de um Array, como por exemplo o nome dos produtos de um produtor, você pode atribuir o valor products.nome ao query param select.

    Em endpoints de Paginação , você pode simplesmente atribuir ao query param select os atributos contidos no items sendo somente este atributos possíveis de ser customizados.

Seleção de Dados

O exemplo de resposta informado possui diferentes tipos de dados, no caso temos id e name do tipo simples, address como um objeto e products como um array de objetos. Para selecionar cada um destes diferentes tipos de dados, você deverá fazer da seguinte forma:

TipoQuery paramRetorno
simplesselect=id,nameDados de id e name
objetosselect=addressDados do Objeto de address
arraysselect=productsDados do Arrays de products

Para selecionar atributos de estruturas mais complexas tais como objetos e arrays, você deverá fazer da seguinte forma:

AtributosQuery paramRetorno
objetosselect=address.countryDados de country do address
arraysselect=products.nameDados de name do products
Response
{
  "id": 123,
  "name": "Producer 01",
  "address": {
    "country": "Brazil",
    "city": "Belo Horizonte"
  },
  "products": [
    {
      "id": 1,
      "name": "Product Name 01"
    },
    {
      "id": 2,
      "name": "Product Name 02"
    },
    {
      "id": 3,
      "name": "Product Name 03"
    }
  ]
}

isPageUseful.question