VenddorDocumentação API
API atualAPI legada
Guia rápidoReferência completa
Carregando índice…
API legada/Guia rápido/Variações e opções

Exceções de opções

Lista, consulta, cria e exclui as combinações de opções proibidas para um produto pela API legada.

Uma exceção é uma combinação de opções que o produto não aceita. Estas rotas, no contrato da Venddor 1.0, mantêm essa lista. Todas exigem um administrador, também respondem sem o prefixo de versão (/api/exceptions) e, nas leituras, exigem o product_id.

Listar as exceções de um produto

Devolve as combinações de opções que o produto não permite. A vitrine usa essa lista para impedir, por exemplo, "Tamanho G com Cor Dourada".

GET/api/v1.0/exceptionsAdmin

Listar exceções de um produto

A resposta é uma lista JSON pura. Sem exceções devolve []. Autenticação: HTTP Basic com e-mail:chave_de_api de um administrador, ou Authorization: Bearer <JWT>.

Parâmetros de consulta

product_idstringobrigatório
Id do produto (UUID).

Exemplo de requisição

bash
curl -u "$EMAIL:$API_KEY" \
  "$BASE_URL/api/v1.0/exceptions?product_id=48e87591-5fb1-40da-b32e-edec3a8c596d"

Resposta

200Exceções devolvidas
json
[
  {
    "exception_id": "7c1e5b90-3d2a-4f68-8a11-52e6f0b4c9d3",
    "product_id": "48e87591-5fb1-40da-b32e-edec3a8c596d",
    "combination": {
      "5f3c1d52-8a41-4a39-9d44-1c0a6c1b7e10": "-1",
      "9e8d7c6b-0002-4aaa-9bbb-0000000000aa": "a1b2c3d4-0002-4aaa-9bbb-000000000002"
    }
  }
]

Campos da resposta

exception_idstring
Id da exceção (UUID).
product_idstring
Id do produto.
combinationobject
Mapa id da opção -> id do valor proibido. O valor -1 significa "qualquer valor" daquela opção e -2 significa "nenhum valor" (a opção não escolhida).

Erros

StatusQuandoCorpo
400product_id ausente{"error":"product_id is required"}
401Sem credenciais ou chave inválida{"message":"Authentication required. Use HTTP Basic with email:api_key or Bearer <jwt>.","status":401}
403O usuário não é administrador{"message":"Forbidden: admin scope required","status":403}
500Falha ao consultar ou gravar (por exemplo, id que não é um UUID){"error":"..."}

Consultar uma exceção

Devolve uma exceção pelo id. É preciso informar também o produto, porque a busca é feita dentro das exceções dele.

GET/api/v1.0/exceptions/{id}Admin

Consultar uma exceção

Autenticação: HTTP Basic com e-mail:chave_de_api de um administrador, ou Authorization: Bearer <JWT>.

Parâmetros de caminho

idstringobrigatório
Id da exceção (UUID).

Parâmetros de consulta

product_idstringobrigatório
Id do produto (UUID).

Exemplo de requisição

bash
curl -u "$EMAIL:$API_KEY" \
  "$BASE_URL/api/v1.0/exceptions/7c1e5b90-3d2a-4f68-8a11-52e6f0b4c9d3?product_id=48e87591-5fb1-40da-b32e-edec3a8c596d"

Resposta

200Exceção devolvida
json
{
  "exception_id": "7c1e5b90-3d2a-4f68-8a11-52e6f0b4c9d3",
  "product_id": "48e87591-5fb1-40da-b32e-edec3a8c596d",
  "combination": {
    "5f3c1d52-8a41-4a39-9d44-1c0a6c1b7e10": "-1",
    "9e8d7c6b-0002-4aaa-9bbb-0000000000aa": "a1b2c3d4-0002-4aaa-9bbb-000000000002"
  }
}

Os campos são os mesmos da listagem.

Erros

StatusQuandoCorpo
400product_id ausente{"error":"product_id is required"}
401Sem credenciais ou chave inválida{"message":"Authentication required. Use HTTP Basic with email:api_key or Bearer <jwt>.","status":401}
403O usuário não é administrador{"message":"Forbidden: admin scope required","status":403}
404Nenhuma exceção com esse id no produto{"error":"Exception not found"}
500Falha ao consultar ou gravar (por exemplo, id que não é um UUID){"error":"..."}

Criar uma exceção

Proíbe uma combinação de opções para um produto. Use para impedir combinações que você não fabrica ou não vende.

POST/api/v1.0/exceptionsAdmin

Criar uma exceção

Autenticação: HTTP Basic com e-mail:chave_de_api de um administrador, ou Authorization: Bearer <JWT>.

Corpo da requisição

product_idstringobrigatório
Id do produto (UUID).
combinationobjectobrigatório
Mapa id da opção -> id do valor a proibir. Use -1 para "qualquer valor" e -2 para "nenhum valor". Obrigatório e não vazio.

Exemplo de requisição

bash
curl -X POST -u "$EMAIL:$API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"product_id": "48e87591-5fb1-40da-b32e-edec3a8c596d", "combination": {"5f3c1d52-8a41-4a39-9d44-1c0a6c1b7e10": "-1", "9e8d7c6b-0002-4aaa-9bbb-0000000000aa": "a1b2c3d4-0002-4aaa-9bbb-000000000002"}}' \
  "$BASE_URL/api/v1.0/exceptions"

Resposta

201Exceção criada
json
{
  "exception_id": "7c1e5b90-3d2a-4f68-8a11-52e6f0b4c9d3"
}

Campos da resposta

exception_idstring
Id (UUID) da exceção criada.

Erros

StatusQuandoCorpo
400JSON inválido, product_id ausente ou combination ausente ou vazio{"error":"Invalid JSON"} / {"error":"product_id is required"} / {"error":"combination is required"}
401Sem credenciais ou chave inválida{"message":"Authentication required. Use HTTP Basic with email:api_key or Bearer <jwt>.","status":401}
403O usuário não é administrador{"message":"Forbidden: admin scope required","status":403}
500Falha ao consultar ou gravar (por exemplo, id que não é um UUID){"error":"..."}

Excluir uma exceção

Remove a exceção, liberando de novo a combinação que ela proibia.

DELETE/api/v1.0/exceptions/{id}Admin

Excluir uma exceção

Autenticação: HTTP Basic com e-mail:chave_de_api de um administrador, ou Authorization: Bearer <JWT>.

Parâmetros de caminho

idstringobrigatório
Id da exceção (UUID).

Exemplo de requisição

bash
curl -X DELETE -u "$EMAIL:$API_KEY" \
  "$BASE_URL/api/v1.0/exceptions/7c1e5b90-3d2a-4f68-8a11-52e6f0b4c9d3"

Resposta

204Exceção excluída, sem corpo
http
HTTP/1.1 204 No Content

Erros

StatusQuandoCorpo
401Sem credenciais ou chave inválida{"message":"Authentication required. Use HTTP Basic with email:api_key or Bearer <jwt>.","status":401}
403O usuário não é administrador{"message":"Forbidden: admin scope required","status":403}
500Falha ao consultar ou gravar (por exemplo, id que não é um UUID){"error":"..."}
Não há `PUT`

Para mudar uma exceção, exclua e crie outra. Esta rota não aceita alteração.

Veja também

  • Cadastro de opções
  • Combinações
Anterior
Combinações de opções
Próxima
Criar grupo de variações
Nesta página
  • Listar as exceções de um produto
  • Exemplo de requisição
  • Resposta
  • Erros
  • Consultar uma exceção
  • Exemplo de requisição
  • Resposta
  • Erros
  • Criar uma exceção
  • Exemplo de requisição
  • Resposta
  • Erros
  • Excluir uma exceção
  • Exemplo de requisição
  • Resposta
  • Erros
  • Veja também