API Admin › Referência

Montagens

Endereço base: https://api.denaryx.com/admin/2026-10. Exemplos e regras no guia Montagens. Os erros seguem o formato comum. A especificação inteira: baixar o OpenAPI.

GET /assemblies

As montagens da loja

Escopo read_products

Os grupos de complementos dos produtos (a lente e os tratamentos da armação). Todas (no máximo 50), em ordem de nome, numa página só.

Resposta

200 Sucesso. (AssemblyList)

Os campos da resposta (18)
CampoTipoDescrição
datalista de Assembly
data[].idstring (uuid)
data[].namestring
data[].descriptionstring
data[].activeboolean
data[].optionalboolean
data[].groupslista de objeto
data[].groups[].codestring
data[].groups[].namestring
data[].groups[].requiredboolean
data[].groups[].multipleboolean
data[].groups[].product_idslista de string (uuid)
data[].collection_idslista de string (uuid)
data[].product_idslista de string (uuid)
data[].incompleteboolean
data[].created_atstring (data e hora)
data[].updated_atstring (data e hora)
next_cursorstring ou null

Erros

  • 401 O token falta, não existe, foi revogado ou venceu (authentication_error).
  • 403 O token não tem o escopo da rota, ou, com write_content, mandou campos que pedem write_products, listados em fields (permission_error).
  • 429 Chamadas demais: espere o Retry-After (rate_limited).
  • 500 Erro do nosso lado (api_error).
  • 503 A API está ocupada com outras chamadas: espere o Retry-After (api_error).

POST /assemblies

Cria uma montagem

Escopo write_products

Com os grupos (até 8, cada um com até 30 produtos) e as coleções e os produtos aos quais ela se aplica. Uma coleção ou um produto que já usa outra montagem é recusado (409 assembly_already_linked).

Parâmetros

NomeOndeTipoDescrição
Idempotency-KeycabeçalhostringAté 255 caracteres. A mesma escrita mandada de novo com a mesma chave, em até 24 horas, devolve a resposta guardada (com Idempotent-Replayed: true) em vez de acontecer duas vezes.

Corpo application/json: AssemblyCreate

CampoTipoDescrição
nameobrigatóriostringAté 80 caracteres.
descriptionstringAté 500 caracteres.Sem ele: "".
activebooleanSem ele: true.
optionalbooleanSem ele: false.
groupsobrigatóriolista de objetoAté 8 itens.
groups[].nameobrigatóriostringAté 60 caracteres.
groups[].codestring
groups[].requiredbooleanSem ele: false.
groups[].multiplebooleanSem ele: false.
groups[].product_idsobrigatóriolista de string (uuid)Até 30 itens.
collection_idslista de string (uuid)Até 100 itens.Sem ele: [].
product_idslista de string (uuid)Até 500 itens.Sem ele: [].

Resposta

201 Sucesso. (Assembly)

Os campos da resposta (16)
CampoTipoDescrição
idstring (uuid)
namestring
descriptionstring
activeboolean
optionalboolean
groupslista de objeto
groups[].codestring
groups[].namestring
groups[].requiredboolean
groups[].multipleboolean
groups[].product_idslista de string (uuid)
collection_idslista de string (uuid)
product_idslista de string (uuid)
incompleteboolean
created_atstring (data e hora)
updated_atstring (data e hora)

Erros

  • 400 A chamada veio com campos inválidos; os campos recusados vão em fields (invalid_request).
  • 401 O token falta, não existe, foi revogado ou venceu (authentication_error).
  • 403 O token não tem o escopo da rota, ou, com write_content, mandou campos que pedem write_products, listados em fields (permission_error).
  • 409 O estado do recurso não permite a mudança, ou ele mudou desde a leitura (conflict).
  • 429 Chamadas demais: espere o Retry-After (rate_limited).
  • 500 Erro do nosso lado (api_error).
  • 503 A API está ocupada com outras chamadas: espere o Retry-After (api_error).

GET /assemblies/{id}

Uma montagem

Escopo read_products

Com os grupos e as ligações; optional diz se o produto também vai sem a montagem, e incomplete, que algum grupo obrigatório ficou sem produto à venda.

Parâmetros

NomeOndeTipoDescrição
idobrigatóriocaminhostring (uuid)O id da montagem.

Resposta

200 Sucesso. (Assembly)

Os campos da resposta (16)
CampoTipoDescrição
idstring (uuid)
namestring
descriptionstring
activeboolean
optionalboolean
groupslista de objeto
groups[].codestring
groups[].namestring
groups[].requiredboolean
groups[].multipleboolean
groups[].product_idslista de string (uuid)
collection_idslista de string (uuid)
product_idslista de string (uuid)
incompleteboolean
created_atstring (data e hora)
updated_atstring (data e hora)

Erros

  • 401 O token falta, não existe, foi revogado ou venceu (authentication_error).
  • 403 O token não tem o escopo da rota, ou, com write_content, mandou campos que pedem write_products, listados em fields (permission_error).
  • 404 O recurso não existe nesta loja (not_found).
  • 429 Chamadas demais: espere o Retry-After (rate_limited).
  • 500 Erro do nosso lado (api_error).
  • 503 A API está ocupada com outras chamadas: espere o Retry-After (api_error).

PATCH /assemblies/{id}

Muda campos de uma montagem

Escopo write_products

Só o que vier muda; as listas (groups, collection_ids, product_ids) trocam a anterior inteira.

Parâmetros

NomeOndeTipoDescrição
idobrigatóriocaminhostring (uuid)O id da montagem.
Idempotency-KeycabeçalhostringAté 255 caracteres. A mesma escrita mandada de novo com a mesma chave, em até 24 horas, devolve a resposta guardada (com Idempotent-Replayed: true) em vez de acontecer duas vezes.

Corpo application/json: AssemblyUpdate

CampoTipoDescrição
namestringAté 80 caracteres.
descriptionstringAté 500 caracteres.
activeboolean
optionalboolean
groupslista de objetoAté 8 itens.
groups[].nameobrigatóriostringAté 60 caracteres.
groups[].codestring
groups[].requiredbooleanSem ele: false.
groups[].multiplebooleanSem ele: false.
groups[].product_idsobrigatóriolista de string (uuid)Até 30 itens.
collection_idslista de string (uuid)Até 100 itens.
product_idslista de string (uuid)Até 500 itens.

Resposta

200 Sucesso. (Assembly)

Os campos da resposta (16)
CampoTipoDescrição
idstring (uuid)
namestring
descriptionstring
activeboolean
optionalboolean
groupslista de objeto
groups[].codestring
groups[].namestring
groups[].requiredboolean
groups[].multipleboolean
groups[].product_idslista de string (uuid)
collection_idslista de string (uuid)
product_idslista de string (uuid)
incompleteboolean
created_atstring (data e hora)
updated_atstring (data e hora)

Erros

  • 400 A chamada veio com campos inválidos; os campos recusados vão em fields (invalid_request).
  • 401 O token falta, não existe, foi revogado ou venceu (authentication_error).
  • 403 O token não tem o escopo da rota, ou, com write_content, mandou campos que pedem write_products, listados em fields (permission_error).
  • 404 O recurso não existe nesta loja (not_found).
  • 409 O estado do recurso não permite a mudança, ou ele mudou desde a leitura (conflict).
  • 429 Chamadas demais: espere o Retry-After (rate_limited).
  • 500 Erro do nosso lado (api_error).
  • 503 A API está ocupada com outras chamadas: espere o Retry-After (api_error).

DELETE /assemblies/{id}

Exclui uma montagem

Escopo write_products

As coleções e os produtos ligados a ela ficam sem montagem; os produtos dos grupos continuam no catálogo.

Parâmetros

NomeOndeTipoDescrição
idobrigatóriocaminhostring (uuid)O id da montagem.
Idempotency-KeycabeçalhostringAté 255 caracteres. A mesma escrita mandada de novo com a mesma chave, em até 24 horas, devolve a resposta guardada (com Idempotent-Replayed: true) em vez de acontecer duas vezes.

Resposta

204 Sucesso, sem corpo.

Erros

  • 401 O token falta, não existe, foi revogado ou venceu (authentication_error).
  • 403 O token não tem o escopo da rota, ou, com write_content, mandou campos que pedem write_products, listados em fields (permission_error).
  • 404 O recurso não existe nesta loja (not_found).
  • 429 Chamadas demais: espere o Retry-After (rate_limited).
  • 500 Erro do nosso lado (api_error).
  • 503 A API está ocupada com outras chamadas: espere o Retry-After (api_error).