API Admin › Referência

Pedidos

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

GET /orders

Os pedidos da loja

Escopo read_orders

Na ordem da última mudança, da mais antiga à mais nova, com o id para desempatar: para sincronizar, guarde o updated_at do último que leu e peça updated_at_min na próxima vez. Toda mudança do pedido conta: a situação, o pagamento confirmado, o rastreio, a nota fiscal e a anonimização. Cada pedido traz os dados de quem comprou.

Parâmetros

NomeOndeTipoDescrição
limitconsultaintegerQuantos itens por página, de 1 a 100 (50 sem ele).
cursorconsultastringO next_cursor da página anterior, como veio. Os filtros continuam os mesmos.
idsconsultastringSó estes ids, separados por vírgula (até 100).
statusconsultastringSó os pedidos nesta situação.Um de: pending_payment, paid, preparing, shipped, delivered, cancelled.
updated_at_minconsultastring (data e hora)Só o que mudou a partir desta data (ISO 8601): a sincronização incremental.
created_at_minconsultastring (data e hora)Só o criado a partir desta data (ISO 8601).
created_at_maxconsultastring (data e hora)Só o criado até esta data (ISO 8601).

Resposta

200 Sucesso. (OrderList)

Os campos da resposta (118)
CampoTipoDescrição
datalista de Order
data[].idstring (uuid)
data[].numberinteger
data[].statusstringUm de: pending_payment, paid, preparing, shipped, delivered, cancelled.
data[].customerobjeto
data[].customer.idstring (uuid) ou null
data[].customer.namestring
data[].customer.emailstring
data[].customer.phonestring
data[].customer.cpfstring
data[].shipping_addressobjeto
data[].shipping_address.zipstring
data[].shipping_address.streetstring
data[].shipping_address.numberstring
data[].shipping_address.complementstring
data[].shipping_address.neighborhoodstring
data[].shipping_address.citystring
data[].shipping_address.statestring
data[].line_itemslista de objeto
data[].line_items[].idstring (uuid)
data[].line_items[].keystring ou null
data[].line_items[].parent_line_idstring (uuid) ou null
data[].line_items[].groupobjeto ou null
data[].line_items[].group.codestring
data[].line_items[].group.namestring
data[].line_items[].propertiesobjeto
data[].line_items[].inventory_trackedboolean
data[].line_items[].eyesobjeto ou null
data[].line_items[].eyes.rightinteger
data[].line_items[].eyes.leftinteger
data[].line_items[].variant_idstring (uuid)
data[].line_items[].titlestring
data[].line_items[].optionslista de string
data[].line_items[].skustring ou null
data[].line_items[].priceinteger
data[].line_items[].quantityinteger
data[].line_items[].line_priceinteger
data[].line_items[].promotionstring ou null
data[].line_items[].fileslista de objeto
data[].line_items[].files[].idstring (uuid)
data[].line_items[].files[].namestring
data[].line_items[].files[].content_typestring
data[].line_items[].files[].sizeinteger
data[].line_items[].files[].purposestringUm de: general, prescription.
data[].line_items[].files[].urlstring (URL)
data[].line_items[].files[].url_expires_atstring (data e hora)
data[].line_items[].prescriptionobjeto ou null
data[].line_items[].prescription.typestring ou nullUm de: single_vision, progressive, bifocal, reading, plano, contact_lens.
data[].line_items[].prescription.rightobjeto ou null
data[].line_items[].prescription.right.spherenumber
data[].line_items[].prescription.right.cylindernumber
data[].line_items[].prescription.right.axisinteger ou null
data[].line_items[].prescription.right.addnumber ou null
data[].line_items[].prescription.right.base_curvenumber ou null
data[].line_items[].prescription.right.diameternumber ou null
data[].line_items[].prescription.leftobjeto ou null
data[].line_items[].prescription.left.spherenumber
data[].line_items[].prescription.left.cylindernumber
data[].line_items[].prescription.left.axisinteger ou null
data[].line_items[].prescription.left.addnumber ou null
data[].line_items[].prescription.left.base_curvenumber ou null
data[].line_items[].prescription.left.diameternumber ou null
data[].line_items[].prescription.pdobjeto ou null
data[].line_items[].prescription.segment_heightobjeto ou null
data[].line_items[].prescription.segment_height.rightnumber
data[].line_items[].prescription.segment_height.leftnumber
data[].line_items[].prescription.prismobjeto ou null
data[].line_items[].prescription.prism.rightobjeto ou null
data[].line_items[].prescription.prism.right.valuenumber
data[].line_items[].prescription.prism.right.basestringUm de: in, out, up, down.
data[].line_items[].prescription.prism.leftobjeto ou null
data[].line_items[].prescription.prism.left.valuenumber
data[].line_items[].prescription.prism.left.basestringUm de: in, out, up, down.
data[].line_items[].prescription.issued_atstring ou null
data[].line_items[].prescription.doctorobjeto ou null
data[].line_items[].prescription.doctor.namestring
data[].line_items[].prescription.doctor.licensestring ou null
data[].line_items[].prescription.notestring ou null
data[].line_items[].prescription.lens_brandstring ou null
data[].line_items[].prescription.statusstringUm de: pending, declared, provided, checked.
data[].line_items[].prescription.provided_atstring (data e hora) ou null
data[].line_items[].prescription.checked_atstring (data e hora) ou null
data[].line_items[].prescription.declared_atstring (data e hora) ou null
data[].line_items[].prescription.declarationstring ou null
data[].line_items[].prescription.store_notestring ou null
data[].subtotal_priceinteger
data[].shipping_priceinteger
data[].total_discountsinteger
data[].coupon_codestring ou null
data[].pix_discountinteger
data[].total_priceinteger
data[].shipping_lineobjeto ou null
data[].shipping_line.titlestring
data[].shipping_line.carrierstring
data[].shipping_line.delivery_daysinteger
data[].shipping_line.pickupobjeto ou null
data[].shipping_line.pickup.addressstring
data[].shipping_line.pickup.instructionsstring
data[].tracking_codestring ou null
data[].paymentobjeto ou null
data[].payment.methodstringUm de: pix, credit_card, debit_card, boleto.
data[].payment.statusstringUm de: pending, approved, expired, cancelled, declined, refunded, authorized.
data[].payment.amountinteger
data[].payment.installmentsinteger ou null
data[].payment.refunded_atstring (data e hora) ou null
data[].payment.created_atstring (data e hora)
data[].invoiceobjeto ou null
data[].invoice.keystring
data[].invoice.numberstring
data[].invoice.seriesstring
data[].invoice.urlstring ou null
data[].invoice.informed_atstring (data e hora)
data[].paid_atstring (data e hora) ou null
data[].testboolean
data[].anonymized_atstring (data e hora) ou null
data[].created_atstring (data e hora)
data[].updated_atstring (data e hora)
next_cursorstring ou null

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).
  • 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 /orders/count

Quantos pedidos casam com os filtros

Escopo read_orders

Os mesmos filtros da lista.

Parâmetros

NomeOndeTipoDescrição
idsconsultastringSó estes ids, separados por vírgula (até 100).
statusconsultastringSó os pedidos nesta situação.Um de: pending_payment, paid, preparing, shipped, delivered, cancelled.
updated_at_minconsultastring (data e hora)Só o que mudou a partir desta data (ISO 8601): a sincronização incremental.
created_at_minconsultastring (data e hora)Só o criado a partir desta data (ISO 8601).
created_at_maxconsultastring (data e hora)Só o criado até esta data (ISO 8601).

Resposta

200 Sucesso. (Count)

Os campos da resposta (1)
CampoTipoDescrição
countinteger

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).
  • 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 /orders/{id}

Um pedido

Escopo read_orders

O pedido, com os itens, os valores, o frete, a última cobrança, a nota fiscal e os dados de quem comprou.

Parâmetros

NomeOndeTipoDescrição
idobrigatóriocaminhostring (uuid)O id do pedido.

Resposta

200 Sucesso. (Order)

Os campos da resposta (116)
CampoTipoDescrição
idstring (uuid)
numberinteger
statusstringUm de: pending_payment, paid, preparing, shipped, delivered, cancelled.
customerobjeto
customer.idstring (uuid) ou null
customer.namestring
customer.emailstring
customer.phonestring
customer.cpfstring
shipping_addressobjeto
shipping_address.zipstring
shipping_address.streetstring
shipping_address.numberstring
shipping_address.complementstring
shipping_address.neighborhoodstring
shipping_address.citystring
shipping_address.statestring
line_itemslista de objeto
line_items[].idstring (uuid)
line_items[].keystring ou null
line_items[].parent_line_idstring (uuid) ou null
line_items[].groupobjeto ou null
line_items[].group.codestring
line_items[].group.namestring
line_items[].propertiesobjeto
line_items[].inventory_trackedboolean
line_items[].eyesobjeto ou null
line_items[].eyes.rightinteger
line_items[].eyes.leftinteger
line_items[].variant_idstring (uuid)
line_items[].titlestring
line_items[].optionslista de string
line_items[].skustring ou null
line_items[].priceinteger
line_items[].quantityinteger
line_items[].line_priceinteger
line_items[].promotionstring ou null
line_items[].fileslista de objeto
line_items[].files[].idstring (uuid)
line_items[].files[].namestring
line_items[].files[].content_typestring
line_items[].files[].sizeinteger
line_items[].files[].purposestringUm de: general, prescription.
line_items[].files[].urlstring (URL)
line_items[].files[].url_expires_atstring (data e hora)
line_items[].prescriptionobjeto ou null
line_items[].prescription.typestring ou nullUm de: single_vision, progressive, bifocal, reading, plano, contact_lens.
line_items[].prescription.rightobjeto ou null
line_items[].prescription.right.spherenumber
line_items[].prescription.right.cylindernumber
line_items[].prescription.right.axisinteger ou null
line_items[].prescription.right.addnumber ou null
line_items[].prescription.right.base_curvenumber ou null
line_items[].prescription.right.diameternumber ou null
line_items[].prescription.leftobjeto ou null
line_items[].prescription.left.spherenumber
line_items[].prescription.left.cylindernumber
line_items[].prescription.left.axisinteger ou null
line_items[].prescription.left.addnumber ou null
line_items[].prescription.left.base_curvenumber ou null
line_items[].prescription.left.diameternumber ou null
line_items[].prescription.pdobjeto ou null
line_items[].prescription.segment_heightobjeto ou null
line_items[].prescription.segment_height.rightnumber
line_items[].prescription.segment_height.leftnumber
line_items[].prescription.prismobjeto ou null
line_items[].prescription.prism.rightobjeto ou null
line_items[].prescription.prism.right.valuenumber
line_items[].prescription.prism.right.basestringUm de: in, out, up, down.
line_items[].prescription.prism.leftobjeto ou null
line_items[].prescription.prism.left.valuenumber
line_items[].prescription.prism.left.basestringUm de: in, out, up, down.
line_items[].prescription.issued_atstring ou null
line_items[].prescription.doctorobjeto ou null
line_items[].prescription.doctor.namestring
line_items[].prescription.doctor.licensestring ou null
line_items[].prescription.notestring ou null
line_items[].prescription.lens_brandstring ou null
line_items[].prescription.statusstringUm de: pending, declared, provided, checked.
line_items[].prescription.provided_atstring (data e hora) ou null
line_items[].prescription.checked_atstring (data e hora) ou null
line_items[].prescription.declared_atstring (data e hora) ou null
line_items[].prescription.declarationstring ou null
line_items[].prescription.store_notestring ou null
subtotal_priceinteger
shipping_priceinteger
total_discountsinteger
coupon_codestring ou null
pix_discountinteger
total_priceinteger
shipping_lineobjeto ou null
shipping_line.titlestring
shipping_line.carrierstring
shipping_line.delivery_daysinteger
shipping_line.pickupobjeto ou null
shipping_line.pickup.addressstring
shipping_line.pickup.instructionsstring
tracking_codestring ou null
paymentobjeto ou null
payment.methodstringUm de: pix, credit_card, debit_card, boleto.
payment.statusstringUm de: pending, approved, expired, cancelled, declined, refunded, authorized.
payment.amountinteger
payment.installmentsinteger ou null
payment.refunded_atstring (data e hora) ou null
payment.created_atstring (data e hora)
invoiceobjeto ou null
invoice.keystring
invoice.numberstring
invoice.seriesstring
invoice.urlstring ou null
invoice.informed_atstring (data e hora)
paid_atstring (data e hora) ou null
testboolean
anonymized_atstring (data e hora) ou null
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).

POST /orders/{id}/mark_paid

Marca o pedido como pago

Escopo write_orders

Para o pagamento recebido fora da plataforma (depósito, dinheiro na retirada). Só o pedido que aguarda pagamento; quem comprou recebe o e-mail de pagamento confirmado. O pagamento feito pelo checkout já chega pago, pelo gateway.

Parâmetros

NomeOndeTipoDescrição
idobrigatóriocaminhostring (uuid)O id do pedido.
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

200 Sucesso. (Order)

Os campos da resposta (116)
CampoTipoDescrição
idstring (uuid)
numberinteger
statusstringUm de: pending_payment, paid, preparing, shipped, delivered, cancelled.
customerobjeto
customer.idstring (uuid) ou null
customer.namestring
customer.emailstring
customer.phonestring
customer.cpfstring
shipping_addressobjeto
shipping_address.zipstring
shipping_address.streetstring
shipping_address.numberstring
shipping_address.complementstring
shipping_address.neighborhoodstring
shipping_address.citystring
shipping_address.statestring
line_itemslista de objeto
line_items[].idstring (uuid)
line_items[].keystring ou null
line_items[].parent_line_idstring (uuid) ou null
line_items[].groupobjeto ou null
line_items[].group.codestring
line_items[].group.namestring
line_items[].propertiesobjeto
line_items[].inventory_trackedboolean
line_items[].eyesobjeto ou null
line_items[].eyes.rightinteger
line_items[].eyes.leftinteger
line_items[].variant_idstring (uuid)
line_items[].titlestring
line_items[].optionslista de string
line_items[].skustring ou null
line_items[].priceinteger
line_items[].quantityinteger
line_items[].line_priceinteger
line_items[].promotionstring ou null
line_items[].fileslista de objeto
line_items[].files[].idstring (uuid)
line_items[].files[].namestring
line_items[].files[].content_typestring
line_items[].files[].sizeinteger
line_items[].files[].purposestringUm de: general, prescription.
line_items[].files[].urlstring (URL)
line_items[].files[].url_expires_atstring (data e hora)
line_items[].prescriptionobjeto ou null
line_items[].prescription.typestring ou nullUm de: single_vision, progressive, bifocal, reading, plano, contact_lens.
line_items[].prescription.rightobjeto ou null
line_items[].prescription.right.spherenumber
line_items[].prescription.right.cylindernumber
line_items[].prescription.right.axisinteger ou null
line_items[].prescription.right.addnumber ou null
line_items[].prescription.right.base_curvenumber ou null
line_items[].prescription.right.diameternumber ou null
line_items[].prescription.leftobjeto ou null
line_items[].prescription.left.spherenumber
line_items[].prescription.left.cylindernumber
line_items[].prescription.left.axisinteger ou null
line_items[].prescription.left.addnumber ou null
line_items[].prescription.left.base_curvenumber ou null
line_items[].prescription.left.diameternumber ou null
line_items[].prescription.pdobjeto ou null
line_items[].prescription.segment_heightobjeto ou null
line_items[].prescription.segment_height.rightnumber
line_items[].prescription.segment_height.leftnumber
line_items[].prescription.prismobjeto ou null
line_items[].prescription.prism.rightobjeto ou null
line_items[].prescription.prism.right.valuenumber
line_items[].prescription.prism.right.basestringUm de: in, out, up, down.
line_items[].prescription.prism.leftobjeto ou null
line_items[].prescription.prism.left.valuenumber
line_items[].prescription.prism.left.basestringUm de: in, out, up, down.
line_items[].prescription.issued_atstring ou null
line_items[].prescription.doctorobjeto ou null
line_items[].prescription.doctor.namestring
line_items[].prescription.doctor.licensestring ou null
line_items[].prescription.notestring ou null
line_items[].prescription.lens_brandstring ou null
line_items[].prescription.statusstringUm de: pending, declared, provided, checked.
line_items[].prescription.provided_atstring (data e hora) ou null
line_items[].prescription.checked_atstring (data e hora) ou null
line_items[].prescription.declared_atstring (data e hora) ou null
line_items[].prescription.declarationstring ou null
line_items[].prescription.store_notestring ou null
subtotal_priceinteger
shipping_priceinteger
total_discountsinteger
coupon_codestring ou null
pix_discountinteger
total_priceinteger
shipping_lineobjeto ou null
shipping_line.titlestring
shipping_line.carrierstring
shipping_line.delivery_daysinteger
shipping_line.pickupobjeto ou null
shipping_line.pickup.addressstring
shipping_line.pickup.instructionsstring
tracking_codestring ou null
paymentobjeto ou null
payment.methodstringUm de: pix, credit_card, debit_card, boleto.
payment.statusstringUm de: pending, approved, expired, cancelled, declined, refunded, authorized.
payment.amountinteger
payment.installmentsinteger ou null
payment.refunded_atstring (data e hora) ou null
payment.created_atstring (data e hora)
invoiceobjeto ou null
invoice.keystring
invoice.numberstring
invoice.seriesstring
invoice.urlstring ou null
invoice.informed_atstring (data e hora)
paid_atstring (data e hora) ou null
testboolean
anonymized_atstring (data e hora) ou null
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).
  • 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).

POST /orders/{id}/prepare

Começa a separar o pedido

Escopo write_orders

Só o pedido pago.

Parâmetros

NomeOndeTipoDescrição
idobrigatóriocaminhostring (uuid)O id do pedido.
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

200 Sucesso. (Order)

Os campos da resposta (116)
CampoTipoDescrição
idstring (uuid)
numberinteger
statusstringUm de: pending_payment, paid, preparing, shipped, delivered, cancelled.
customerobjeto
customer.idstring (uuid) ou null
customer.namestring
customer.emailstring
customer.phonestring
customer.cpfstring
shipping_addressobjeto
shipping_address.zipstring
shipping_address.streetstring
shipping_address.numberstring
shipping_address.complementstring
shipping_address.neighborhoodstring
shipping_address.citystring
shipping_address.statestring
line_itemslista de objeto
line_items[].idstring (uuid)
line_items[].keystring ou null
line_items[].parent_line_idstring (uuid) ou null
line_items[].groupobjeto ou null
line_items[].group.codestring
line_items[].group.namestring
line_items[].propertiesobjeto
line_items[].inventory_trackedboolean
line_items[].eyesobjeto ou null
line_items[].eyes.rightinteger
line_items[].eyes.leftinteger
line_items[].variant_idstring (uuid)
line_items[].titlestring
line_items[].optionslista de string
line_items[].skustring ou null
line_items[].priceinteger
line_items[].quantityinteger
line_items[].line_priceinteger
line_items[].promotionstring ou null
line_items[].fileslista de objeto
line_items[].files[].idstring (uuid)
line_items[].files[].namestring
line_items[].files[].content_typestring
line_items[].files[].sizeinteger
line_items[].files[].purposestringUm de: general, prescription.
line_items[].files[].urlstring (URL)
line_items[].files[].url_expires_atstring (data e hora)
line_items[].prescriptionobjeto ou null
line_items[].prescription.typestring ou nullUm de: single_vision, progressive, bifocal, reading, plano, contact_lens.
line_items[].prescription.rightobjeto ou null
line_items[].prescription.right.spherenumber
line_items[].prescription.right.cylindernumber
line_items[].prescription.right.axisinteger ou null
line_items[].prescription.right.addnumber ou null
line_items[].prescription.right.base_curvenumber ou null
line_items[].prescription.right.diameternumber ou null
line_items[].prescription.leftobjeto ou null
line_items[].prescription.left.spherenumber
line_items[].prescription.left.cylindernumber
line_items[].prescription.left.axisinteger ou null
line_items[].prescription.left.addnumber ou null
line_items[].prescription.left.base_curvenumber ou null
line_items[].prescription.left.diameternumber ou null
line_items[].prescription.pdobjeto ou null
line_items[].prescription.segment_heightobjeto ou null
line_items[].prescription.segment_height.rightnumber
line_items[].prescription.segment_height.leftnumber
line_items[].prescription.prismobjeto ou null
line_items[].prescription.prism.rightobjeto ou null
line_items[].prescription.prism.right.valuenumber
line_items[].prescription.prism.right.basestringUm de: in, out, up, down.
line_items[].prescription.prism.leftobjeto ou null
line_items[].prescription.prism.left.valuenumber
line_items[].prescription.prism.left.basestringUm de: in, out, up, down.
line_items[].prescription.issued_atstring ou null
line_items[].prescription.doctorobjeto ou null
line_items[].prescription.doctor.namestring
line_items[].prescription.doctor.licensestring ou null
line_items[].prescription.notestring ou null
line_items[].prescription.lens_brandstring ou null
line_items[].prescription.statusstringUm de: pending, declared, provided, checked.
line_items[].prescription.provided_atstring (data e hora) ou null
line_items[].prescription.checked_atstring (data e hora) ou null
line_items[].prescription.declared_atstring (data e hora) ou null
line_items[].prescription.declarationstring ou null
line_items[].prescription.store_notestring ou null
subtotal_priceinteger
shipping_priceinteger
total_discountsinteger
coupon_codestring ou null
pix_discountinteger
total_priceinteger
shipping_lineobjeto ou null
shipping_line.titlestring
shipping_line.carrierstring
shipping_line.delivery_daysinteger
shipping_line.pickupobjeto ou null
shipping_line.pickup.addressstring
shipping_line.pickup.instructionsstring
tracking_codestring ou null
paymentobjeto ou null
payment.methodstringUm de: pix, credit_card, debit_card, boleto.
payment.statusstringUm de: pending, approved, expired, cancelled, declined, refunded, authorized.
payment.amountinteger
payment.installmentsinteger ou null
payment.refunded_atstring (data e hora) ou null
payment.created_atstring (data e hora)
invoiceobjeto ou null
invoice.keystring
invoice.numberstring
invoice.seriesstring
invoice.urlstring ou null
invoice.informed_atstring (data e hora)
paid_atstring (data e hora) ou null
testboolean
anonymized_atstring (data e hora) ou null
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).
  • 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).

POST /orders/{id}/ship

Marca o pedido como enviado

Escopo write_orders

Só o pedido em separação, com o código de rastreio opcional. Quem comprou recebe o e-mail de pedido enviado, com o rastreio. Na retirada na loja, enviado é o pedido pronto para retirar.

Parâmetros

NomeOndeTipoDescrição
idobrigatóriocaminhostring (uuid)O id do pedido.
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: OrderShip, opcional

CampoTipoDescrição
tracking_codestring

Resposta

200 Sucesso. (Order)

Os campos da resposta (116)
CampoTipoDescrição
idstring (uuid)
numberinteger
statusstringUm de: pending_payment, paid, preparing, shipped, delivered, cancelled.
customerobjeto
customer.idstring (uuid) ou null
customer.namestring
customer.emailstring
customer.phonestring
customer.cpfstring
shipping_addressobjeto
shipping_address.zipstring
shipping_address.streetstring
shipping_address.numberstring
shipping_address.complementstring
shipping_address.neighborhoodstring
shipping_address.citystring
shipping_address.statestring
line_itemslista de objeto
line_items[].idstring (uuid)
line_items[].keystring ou null
line_items[].parent_line_idstring (uuid) ou null
line_items[].groupobjeto ou null
line_items[].group.codestring
line_items[].group.namestring
line_items[].propertiesobjeto
line_items[].inventory_trackedboolean
line_items[].eyesobjeto ou null
line_items[].eyes.rightinteger
line_items[].eyes.leftinteger
line_items[].variant_idstring (uuid)
line_items[].titlestring
line_items[].optionslista de string
line_items[].skustring ou null
line_items[].priceinteger
line_items[].quantityinteger
line_items[].line_priceinteger
line_items[].promotionstring ou null
line_items[].fileslista de objeto
line_items[].files[].idstring (uuid)
line_items[].files[].namestring
line_items[].files[].content_typestring
line_items[].files[].sizeinteger
line_items[].files[].purposestringUm de: general, prescription.
line_items[].files[].urlstring (URL)
line_items[].files[].url_expires_atstring (data e hora)
line_items[].prescriptionobjeto ou null
line_items[].prescription.typestring ou nullUm de: single_vision, progressive, bifocal, reading, plano, contact_lens.
line_items[].prescription.rightobjeto ou null
line_items[].prescription.right.spherenumber
line_items[].prescription.right.cylindernumber
line_items[].prescription.right.axisinteger ou null
line_items[].prescription.right.addnumber ou null
line_items[].prescription.right.base_curvenumber ou null
line_items[].prescription.right.diameternumber ou null
line_items[].prescription.leftobjeto ou null
line_items[].prescription.left.spherenumber
line_items[].prescription.left.cylindernumber
line_items[].prescription.left.axisinteger ou null
line_items[].prescription.left.addnumber ou null
line_items[].prescription.left.base_curvenumber ou null
line_items[].prescription.left.diameternumber ou null
line_items[].prescription.pdobjeto ou null
line_items[].prescription.segment_heightobjeto ou null
line_items[].prescription.segment_height.rightnumber
line_items[].prescription.segment_height.leftnumber
line_items[].prescription.prismobjeto ou null
line_items[].prescription.prism.rightobjeto ou null
line_items[].prescription.prism.right.valuenumber
line_items[].prescription.prism.right.basestringUm de: in, out, up, down.
line_items[].prescription.prism.leftobjeto ou null
line_items[].prescription.prism.left.valuenumber
line_items[].prescription.prism.left.basestringUm de: in, out, up, down.
line_items[].prescription.issued_atstring ou null
line_items[].prescription.doctorobjeto ou null
line_items[].prescription.doctor.namestring
line_items[].prescription.doctor.licensestring ou null
line_items[].prescription.notestring ou null
line_items[].prescription.lens_brandstring ou null
line_items[].prescription.statusstringUm de: pending, declared, provided, checked.
line_items[].prescription.provided_atstring (data e hora) ou null
line_items[].prescription.checked_atstring (data e hora) ou null
line_items[].prescription.declared_atstring (data e hora) ou null
line_items[].prescription.declarationstring ou null
line_items[].prescription.store_notestring ou null
subtotal_priceinteger
shipping_priceinteger
total_discountsinteger
coupon_codestring ou null
pix_discountinteger
total_priceinteger
shipping_lineobjeto ou null
shipping_line.titlestring
shipping_line.carrierstring
shipping_line.delivery_daysinteger
shipping_line.pickupobjeto ou null
shipping_line.pickup.addressstring
shipping_line.pickup.instructionsstring
tracking_codestring ou null
paymentobjeto ou null
payment.methodstringUm de: pix, credit_card, debit_card, boleto.
payment.statusstringUm de: pending, approved, expired, cancelled, declined, refunded, authorized.
payment.amountinteger
payment.installmentsinteger ou null
payment.refunded_atstring (data e hora) ou null
payment.created_atstring (data e hora)
invoiceobjeto ou null
invoice.keystring
invoice.numberstring
invoice.seriesstring
invoice.urlstring ou null
invoice.informed_atstring (data e hora)
paid_atstring (data e hora) ou null
testboolean
anonymized_atstring (data e hora) ou null
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).

POST /orders/{id}/deliver

Marca o pedido como entregue

Escopo write_orders

Só o pedido enviado. Na retirada na loja, entregue é o pedido retirado.

Parâmetros

NomeOndeTipoDescrição
idobrigatóriocaminhostring (uuid)O id do pedido.
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

200 Sucesso. (Order)

Os campos da resposta (116)
CampoTipoDescrição
idstring (uuid)
numberinteger
statusstringUm de: pending_payment, paid, preparing, shipped, delivered, cancelled.
customerobjeto
customer.idstring (uuid) ou null
customer.namestring
customer.emailstring
customer.phonestring
customer.cpfstring
shipping_addressobjeto
shipping_address.zipstring
shipping_address.streetstring
shipping_address.numberstring
shipping_address.complementstring
shipping_address.neighborhoodstring
shipping_address.citystring
shipping_address.statestring
line_itemslista de objeto
line_items[].idstring (uuid)
line_items[].keystring ou null
line_items[].parent_line_idstring (uuid) ou null
line_items[].groupobjeto ou null
line_items[].group.codestring
line_items[].group.namestring
line_items[].propertiesobjeto
line_items[].inventory_trackedboolean
line_items[].eyesobjeto ou null
line_items[].eyes.rightinteger
line_items[].eyes.leftinteger
line_items[].variant_idstring (uuid)
line_items[].titlestring
line_items[].optionslista de string
line_items[].skustring ou null
line_items[].priceinteger
line_items[].quantityinteger
line_items[].line_priceinteger
line_items[].promotionstring ou null
line_items[].fileslista de objeto
line_items[].files[].idstring (uuid)
line_items[].files[].namestring
line_items[].files[].content_typestring
line_items[].files[].sizeinteger
line_items[].files[].purposestringUm de: general, prescription.
line_items[].files[].urlstring (URL)
line_items[].files[].url_expires_atstring (data e hora)
line_items[].prescriptionobjeto ou null
line_items[].prescription.typestring ou nullUm de: single_vision, progressive, bifocal, reading, plano, contact_lens.
line_items[].prescription.rightobjeto ou null
line_items[].prescription.right.spherenumber
line_items[].prescription.right.cylindernumber
line_items[].prescription.right.axisinteger ou null
line_items[].prescription.right.addnumber ou null
line_items[].prescription.right.base_curvenumber ou null
line_items[].prescription.right.diameternumber ou null
line_items[].prescription.leftobjeto ou null
line_items[].prescription.left.spherenumber
line_items[].prescription.left.cylindernumber
line_items[].prescription.left.axisinteger ou null
line_items[].prescription.left.addnumber ou null
line_items[].prescription.left.base_curvenumber ou null
line_items[].prescription.left.diameternumber ou null
line_items[].prescription.pdobjeto ou null
line_items[].prescription.segment_heightobjeto ou null
line_items[].prescription.segment_height.rightnumber
line_items[].prescription.segment_height.leftnumber
line_items[].prescription.prismobjeto ou null
line_items[].prescription.prism.rightobjeto ou null
line_items[].prescription.prism.right.valuenumber
line_items[].prescription.prism.right.basestringUm de: in, out, up, down.
line_items[].prescription.prism.leftobjeto ou null
line_items[].prescription.prism.left.valuenumber
line_items[].prescription.prism.left.basestringUm de: in, out, up, down.
line_items[].prescription.issued_atstring ou null
line_items[].prescription.doctorobjeto ou null
line_items[].prescription.doctor.namestring
line_items[].prescription.doctor.licensestring ou null
line_items[].prescription.notestring ou null
line_items[].prescription.lens_brandstring ou null
line_items[].prescription.statusstringUm de: pending, declared, provided, checked.
line_items[].prescription.provided_atstring (data e hora) ou null
line_items[].prescription.checked_atstring (data e hora) ou null
line_items[].prescription.declared_atstring (data e hora) ou null
line_items[].prescription.declarationstring ou null
line_items[].prescription.store_notestring ou null
subtotal_priceinteger
shipping_priceinteger
total_discountsinteger
coupon_codestring ou null
pix_discountinteger
total_priceinteger
shipping_lineobjeto ou null
shipping_line.titlestring
shipping_line.carrierstring
shipping_line.delivery_daysinteger
shipping_line.pickupobjeto ou null
shipping_line.pickup.addressstring
shipping_line.pickup.instructionsstring
tracking_codestring ou null
paymentobjeto ou null
payment.methodstringUm de: pix, credit_card, debit_card, boleto.
payment.statusstringUm de: pending, approved, expired, cancelled, declined, refunded, authorized.
payment.amountinteger
payment.installmentsinteger ou null
payment.refunded_atstring (data e hora) ou null
payment.created_atstring (data e hora)
invoiceobjeto ou null
invoice.keystring
invoice.numberstring
invoice.seriesstring
invoice.urlstring ou null
invoice.informed_atstring (data e hora)
paid_atstring (data e hora) ou null
testboolean
anonymized_atstring (data e hora) ou null
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).
  • 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).

POST /orders/{id}/cancel

Cancela o pedido

Escopo write_orders

Os itens voltam ao estoque, e a cobrança em aberto deixa de valer. O pedido já pago tem o dinheiro devolvido a quem comprou, pelo gateway que cobrou: cancelá-lo pede também o escopo refund_orders (sem ele, 403). Se o gateway recusar o estorno, nada muda. O pedido enviado ou entregue não se cancela (409).

Parâmetros

NomeOndeTipoDescrição
idobrigatóriocaminhostring (uuid)O id do pedido.
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

200 Sucesso. (Order)

Os campos da resposta (116)
CampoTipoDescrição
idstring (uuid)
numberinteger
statusstringUm de: pending_payment, paid, preparing, shipped, delivered, cancelled.
customerobjeto
customer.idstring (uuid) ou null
customer.namestring
customer.emailstring
customer.phonestring
customer.cpfstring
shipping_addressobjeto
shipping_address.zipstring
shipping_address.streetstring
shipping_address.numberstring
shipping_address.complementstring
shipping_address.neighborhoodstring
shipping_address.citystring
shipping_address.statestring
line_itemslista de objeto
line_items[].idstring (uuid)
line_items[].keystring ou null
line_items[].parent_line_idstring (uuid) ou null
line_items[].groupobjeto ou null
line_items[].group.codestring
line_items[].group.namestring
line_items[].propertiesobjeto
line_items[].inventory_trackedboolean
line_items[].eyesobjeto ou null
line_items[].eyes.rightinteger
line_items[].eyes.leftinteger
line_items[].variant_idstring (uuid)
line_items[].titlestring
line_items[].optionslista de string
line_items[].skustring ou null
line_items[].priceinteger
line_items[].quantityinteger
line_items[].line_priceinteger
line_items[].promotionstring ou null
line_items[].fileslista de objeto
line_items[].files[].idstring (uuid)
line_items[].files[].namestring
line_items[].files[].content_typestring
line_items[].files[].sizeinteger
line_items[].files[].purposestringUm de: general, prescription.
line_items[].files[].urlstring (URL)
line_items[].files[].url_expires_atstring (data e hora)
line_items[].prescriptionobjeto ou null
line_items[].prescription.typestring ou nullUm de: single_vision, progressive, bifocal, reading, plano, contact_lens.
line_items[].prescription.rightobjeto ou null
line_items[].prescription.right.spherenumber
line_items[].prescription.right.cylindernumber
line_items[].prescription.right.axisinteger ou null
line_items[].prescription.right.addnumber ou null
line_items[].prescription.right.base_curvenumber ou null
line_items[].prescription.right.diameternumber ou null
line_items[].prescription.leftobjeto ou null
line_items[].prescription.left.spherenumber
line_items[].prescription.left.cylindernumber
line_items[].prescription.left.axisinteger ou null
line_items[].prescription.left.addnumber ou null
line_items[].prescription.left.base_curvenumber ou null
line_items[].prescription.left.diameternumber ou null
line_items[].prescription.pdobjeto ou null
line_items[].prescription.segment_heightobjeto ou null
line_items[].prescription.segment_height.rightnumber
line_items[].prescription.segment_height.leftnumber
line_items[].prescription.prismobjeto ou null
line_items[].prescription.prism.rightobjeto ou null
line_items[].prescription.prism.right.valuenumber
line_items[].prescription.prism.right.basestringUm de: in, out, up, down.
line_items[].prescription.prism.leftobjeto ou null
line_items[].prescription.prism.left.valuenumber
line_items[].prescription.prism.left.basestringUm de: in, out, up, down.
line_items[].prescription.issued_atstring ou null
line_items[].prescription.doctorobjeto ou null
line_items[].prescription.doctor.namestring
line_items[].prescription.doctor.licensestring ou null
line_items[].prescription.notestring ou null
line_items[].prescription.lens_brandstring ou null
line_items[].prescription.statusstringUm de: pending, declared, provided, checked.
line_items[].prescription.provided_atstring (data e hora) ou null
line_items[].prescription.checked_atstring (data e hora) ou null
line_items[].prescription.declared_atstring (data e hora) ou null
line_items[].prescription.declarationstring ou null
line_items[].prescription.store_notestring ou null
subtotal_priceinteger
shipping_priceinteger
total_discountsinteger
coupon_codestring ou null
pix_discountinteger
total_priceinteger
shipping_lineobjeto ou null
shipping_line.titlestring
shipping_line.carrierstring
shipping_line.delivery_daysinteger
shipping_line.pickupobjeto ou null
shipping_line.pickup.addressstring
shipping_line.pickup.instructionsstring
tracking_codestring ou null
paymentobjeto ou null
payment.methodstringUm de: pix, credit_card, debit_card, boleto.
payment.statusstringUm de: pending, approved, expired, cancelled, declined, refunded, authorized.
payment.amountinteger
payment.installmentsinteger ou null
payment.refunded_atstring (data e hora) ou null
payment.created_atstring (data e hora)
invoiceobjeto ou null
invoice.keystring
invoice.numberstring
invoice.seriesstring
invoice.urlstring ou null
invoice.informed_atstring (data e hora)
paid_atstring (data e hora) ou null
testboolean
anonymized_atstring (data e hora) ou null
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).
  • 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).

PUT /orders/{id}/invoice

Informa a nota fiscal do pedido

Escopo write_orders

A nota emitida pelo ERP (a plataforma não emite nota): a chave de acesso, e o número, a série e o link, opcionais. O número e a série estão dentro da chave; sem eles, saem dela. Informar de novo troca a nota anterior. A nota aparece no pedido no painel, e a compra da etiqueta do Melhor Envio usa a chave.

Parâmetros

NomeOndeTipoDescrição
idobrigatóriocaminhostring (uuid)O id do pedido.
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: OrderInvoice

CampoTipoDescrição
keyobrigatóriostring
numberstring
seriesstring
urlstring (URL)Até 500 caracteres.

Resposta

200 Sucesso. (Order)

Os campos da resposta (116)
CampoTipoDescrição
idstring (uuid)
numberinteger
statusstringUm de: pending_payment, paid, preparing, shipped, delivered, cancelled.
customerobjeto
customer.idstring (uuid) ou null
customer.namestring
customer.emailstring
customer.phonestring
customer.cpfstring
shipping_addressobjeto
shipping_address.zipstring
shipping_address.streetstring
shipping_address.numberstring
shipping_address.complementstring
shipping_address.neighborhoodstring
shipping_address.citystring
shipping_address.statestring
line_itemslista de objeto
line_items[].idstring (uuid)
line_items[].keystring ou null
line_items[].parent_line_idstring (uuid) ou null
line_items[].groupobjeto ou null
line_items[].group.codestring
line_items[].group.namestring
line_items[].propertiesobjeto
line_items[].inventory_trackedboolean
line_items[].eyesobjeto ou null
line_items[].eyes.rightinteger
line_items[].eyes.leftinteger
line_items[].variant_idstring (uuid)
line_items[].titlestring
line_items[].optionslista de string
line_items[].skustring ou null
line_items[].priceinteger
line_items[].quantityinteger
line_items[].line_priceinteger
line_items[].promotionstring ou null
line_items[].fileslista de objeto
line_items[].files[].idstring (uuid)
line_items[].files[].namestring
line_items[].files[].content_typestring
line_items[].files[].sizeinteger
line_items[].files[].purposestringUm de: general, prescription.
line_items[].files[].urlstring (URL)
line_items[].files[].url_expires_atstring (data e hora)
line_items[].prescriptionobjeto ou null
line_items[].prescription.typestring ou nullUm de: single_vision, progressive, bifocal, reading, plano, contact_lens.
line_items[].prescription.rightobjeto ou null
line_items[].prescription.right.spherenumber
line_items[].prescription.right.cylindernumber
line_items[].prescription.right.axisinteger ou null
line_items[].prescription.right.addnumber ou null
line_items[].prescription.right.base_curvenumber ou null
line_items[].prescription.right.diameternumber ou null
line_items[].prescription.leftobjeto ou null
line_items[].prescription.left.spherenumber
line_items[].prescription.left.cylindernumber
line_items[].prescription.left.axisinteger ou null
line_items[].prescription.left.addnumber ou null
line_items[].prescription.left.base_curvenumber ou null
line_items[].prescription.left.diameternumber ou null
line_items[].prescription.pdobjeto ou null
line_items[].prescription.segment_heightobjeto ou null
line_items[].prescription.segment_height.rightnumber
line_items[].prescription.segment_height.leftnumber
line_items[].prescription.prismobjeto ou null
line_items[].prescription.prism.rightobjeto ou null
line_items[].prescription.prism.right.valuenumber
line_items[].prescription.prism.right.basestringUm de: in, out, up, down.
line_items[].prescription.prism.leftobjeto ou null
line_items[].prescription.prism.left.valuenumber
line_items[].prescription.prism.left.basestringUm de: in, out, up, down.
line_items[].prescription.issued_atstring ou null
line_items[].prescription.doctorobjeto ou null
line_items[].prescription.doctor.namestring
line_items[].prescription.doctor.licensestring ou null
line_items[].prescription.notestring ou null
line_items[].prescription.lens_brandstring ou null
line_items[].prescription.statusstringUm de: pending, declared, provided, checked.
line_items[].prescription.provided_atstring (data e hora) ou null
line_items[].prescription.checked_atstring (data e hora) ou null
line_items[].prescription.declared_atstring (data e hora) ou null
line_items[].prescription.declarationstring ou null
line_items[].prescription.store_notestring ou null
subtotal_priceinteger
shipping_priceinteger
total_discountsinteger
coupon_codestring ou null
pix_discountinteger
total_priceinteger
shipping_lineobjeto ou null
shipping_line.titlestring
shipping_line.carrierstring
shipping_line.delivery_daysinteger
shipping_line.pickupobjeto ou null
shipping_line.pickup.addressstring
shipping_line.pickup.instructionsstring
tracking_codestring ou null
paymentobjeto ou null
payment.methodstringUm de: pix, credit_card, debit_card, boleto.
payment.statusstringUm de: pending, approved, expired, cancelled, declined, refunded, authorized.
payment.amountinteger
payment.installmentsinteger ou null
payment.refunded_atstring (data e hora) ou null
payment.created_atstring (data e hora)
invoiceobjeto ou null
invoice.keystring
invoice.numberstring
invoice.seriesstring
invoice.urlstring ou null
invoice.informed_atstring (data e hora)
paid_atstring (data e hora) ou null
testboolean
anonymized_atstring (data e hora) ou null
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).
  • 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).

PUT /orders/{id}/line_items/{line_id}/prescription

Informa a receita de um item

Escopo write_orders

A receita oftalmológica recebida por outro canal (o balcão, o ERP da ótica, o telefone), com os nomes em inglês e os rótulos do padrão dos laboratórios (DCS) nas descrições. Conferida pelas mesmas regras do checkout (faixas, passos de 0.25, eixo com o cilíndrico, adição na progressive e na bifocal): o erro diz o campo. Troca a receita que havia; a conferida volta a provided. Só o item que pede receita (prescription não é null); sem isso, 409. A receita que estava pendente gera o evento order.prescription_received. A resposta é o pedido com os valores da receita, como no GET.

Parâmetros

NomeOndeTipoDescrição
idobrigatóriocaminhostring (uuid)O id do pedido.
line_idobrigatóriocaminhostring (uuid)O id do item do pedido (line_items[].id) que pede a receita.
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: Prescription

CampoTipoDescrição
typeobrigatóriostringsingle_vision (visão simples), progressive (multifocal), bifocal, reading (leitura), plano (sem grau) ou contact_lens (lente de contato).Um de: single_vision, progressive, bifocal, reading, plano, contact_lens.
rightobjetoO olho direito (OD). Obrigatório, menos no plano; na contact_lens, basta um dos olhos.
right.sphereobrigatórionumber ou stringEsférico (SPH), de -20.00 a +20.00, de 0.25 em 0.25.
right.cylindernumber ou string ou nullCilíndrico (CYL), de -8.00 a +8.00, de 0.25 em 0.25, como o médico escreveu. Ausente vale 0.
right.axisnumber ou string ou nullEixo (AX), de 0 a 180, inteiro: obrigatório com cilíndrico, ignorado sem ele.
right.addnumber ou string ou nullAdição (ADD), de 0.75 a 4.00: obrigatória na progressive e na bifocal, opcional na contact_lens, recusada nas outras.
right.base_curvenumber ou string ou nullCurva base (BC) em mm, de 7.0 a 10.0, com uma casa decimal: só na contact_lens.
right.diameternumber ou string ou nullDiâmetro (DIA) em mm, de 8.0 a 16.0, com uma casa decimal: só na contact_lens.
leftobjetoO olho esquerdo (OE). Obrigatório, menos no plano; na contact_lens, basta um dos olhos.
left.sphereobrigatórionumber ou stringEsférico (SPH), de -20.00 a +20.00, de 0.25 em 0.25.
left.cylindernumber ou string ou nullCilíndrico (CYL), de -8.00 a +8.00, de 0.25 em 0.25, como o médico escreveu. Ausente vale 0.
left.axisnumber ou string ou nullEixo (AX), de 0 a 180, inteiro: obrigatório com cilíndrico, ignorado sem ele.
left.addnumber ou string ou nullAdição (ADD), de 0.75 a 4.00: obrigatória na progressive e na bifocal, opcional na contact_lens, recusada nas outras.
left.base_curvenumber ou string ou nullCurva base (BC) em mm, de 7.0 a 10.0, com uma casa decimal: só na contact_lens.
left.diameternumber ou string ou nullDiâmetro (DIA) em mm, de 8.0 a 16.0, com uma casa decimal: só na contact_lens.
pdnumber ou string ou objeto ou nullDistância pupilar em mm (IPD), de 0.5 em 0.5: um número ou { binocular } (de 40 a 80), ou { right, left } (NPD, de 20 a 40 cada).
segment_heightobjeto ou nullAltura de montagem em mm (SEGHT), de 10 a 40, de 0.5 em 0.5: só na progressive e na bifocal.
segment_height.rightobrigatórionumber ou string
segment_height.leftobrigatórionumber ou string
prismobjeto ou null
prism.rightobjeto ou null
prism.right.valueobrigatórionumber ou stringPrisma (PRVM), de 0.25 a 10.00, de 0.25 em 0.25.
prism.right.baseobrigatóriostringA base do prisma (PRVA): in (nasal), out (temporal), up ou down.Um de: in, out, up, down.
prism.leftobjeto ou null
prism.left.valueobrigatórionumber ou stringPrisma (PRVM), de 0.25 a 10.00, de 0.25 em 0.25.
prism.left.baseobrigatóriostringA base do prisma (PRVA): in (nasal), out (temporal), up ou down.Um de: in, out, up, down.
issued_atstring ou nullA data da receita, AAAA-MM-DD. Não pode ser depois de hoje.
doctorobjeto ou null
doctor.nameobrigatóriostring
doctor.licensestring ou nullO CRM.
notestring ou nullA observação da receita, até 300 caracteres.
lens_brandstring ou nullA lente receitada (marca e modelo), até 80 caracteres: só na contact_lens.

Resposta

200 Sucesso. (Order)

Os campos da resposta (116)
CampoTipoDescrição
idstring (uuid)
numberinteger
statusstringUm de: pending_payment, paid, preparing, shipped, delivered, cancelled.
customerobjeto
customer.idstring (uuid) ou null
customer.namestring
customer.emailstring
customer.phonestring
customer.cpfstring
shipping_addressobjeto
shipping_address.zipstring
shipping_address.streetstring
shipping_address.numberstring
shipping_address.complementstring
shipping_address.neighborhoodstring
shipping_address.citystring
shipping_address.statestring
line_itemslista de objeto
line_items[].idstring (uuid)
line_items[].keystring ou null
line_items[].parent_line_idstring (uuid) ou null
line_items[].groupobjeto ou null
line_items[].group.codestring
line_items[].group.namestring
line_items[].propertiesobjeto
line_items[].inventory_trackedboolean
line_items[].eyesobjeto ou null
line_items[].eyes.rightinteger
line_items[].eyes.leftinteger
line_items[].variant_idstring (uuid)
line_items[].titlestring
line_items[].optionslista de string
line_items[].skustring ou null
line_items[].priceinteger
line_items[].quantityinteger
line_items[].line_priceinteger
line_items[].promotionstring ou null
line_items[].fileslista de objeto
line_items[].files[].idstring (uuid)
line_items[].files[].namestring
line_items[].files[].content_typestring
line_items[].files[].sizeinteger
line_items[].files[].purposestringUm de: general, prescription.
line_items[].files[].urlstring (URL)
line_items[].files[].url_expires_atstring (data e hora)
line_items[].prescriptionobjeto ou null
line_items[].prescription.typestring ou nullUm de: single_vision, progressive, bifocal, reading, plano, contact_lens.
line_items[].prescription.rightobjeto ou null
line_items[].prescription.right.spherenumber
line_items[].prescription.right.cylindernumber
line_items[].prescription.right.axisinteger ou null
line_items[].prescription.right.addnumber ou null
line_items[].prescription.right.base_curvenumber ou null
line_items[].prescription.right.diameternumber ou null
line_items[].prescription.leftobjeto ou null
line_items[].prescription.left.spherenumber
line_items[].prescription.left.cylindernumber
line_items[].prescription.left.axisinteger ou null
line_items[].prescription.left.addnumber ou null
line_items[].prescription.left.base_curvenumber ou null
line_items[].prescription.left.diameternumber ou null
line_items[].prescription.pdobjeto ou null
line_items[].prescription.segment_heightobjeto ou null
line_items[].prescription.segment_height.rightnumber
line_items[].prescription.segment_height.leftnumber
line_items[].prescription.prismobjeto ou null
line_items[].prescription.prism.rightobjeto ou null
line_items[].prescription.prism.right.valuenumber
line_items[].prescription.prism.right.basestringUm de: in, out, up, down.
line_items[].prescription.prism.leftobjeto ou null
line_items[].prescription.prism.left.valuenumber
line_items[].prescription.prism.left.basestringUm de: in, out, up, down.
line_items[].prescription.issued_atstring ou null
line_items[].prescription.doctorobjeto ou null
line_items[].prescription.doctor.namestring
line_items[].prescription.doctor.licensestring ou null
line_items[].prescription.notestring ou null
line_items[].prescription.lens_brandstring ou null
line_items[].prescription.statusstringUm de: pending, declared, provided, checked.
line_items[].prescription.provided_atstring (data e hora) ou null
line_items[].prescription.checked_atstring (data e hora) ou null
line_items[].prescription.declared_atstring (data e hora) ou null
line_items[].prescription.declarationstring ou null
line_items[].prescription.store_notestring ou null
subtotal_priceinteger
shipping_priceinteger
total_discountsinteger
coupon_codestring ou null
pix_discountinteger
total_priceinteger
shipping_lineobjeto ou null
shipping_line.titlestring
shipping_line.carrierstring
shipping_line.delivery_daysinteger
shipping_line.pickupobjeto ou null
shipping_line.pickup.addressstring
shipping_line.pickup.instructionsstring
tracking_codestring ou null
paymentobjeto ou null
payment.methodstringUm de: pix, credit_card, debit_card, boleto.
payment.statusstringUm de: pending, approved, expired, cancelled, declined, refunded, authorized.
payment.amountinteger
payment.installmentsinteger ou null
payment.refunded_atstring (data e hora) ou null
payment.created_atstring (data e hora)
invoiceobjeto ou null
invoice.keystring
invoice.numberstring
invoice.seriesstring
invoice.urlstring ou null
invoice.informed_atstring (data e hora)
paid_atstring (data e hora) ou null
testboolean
anonymized_atstring (data e hora) ou null
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).

POST /orders/{id}/line_items/{line_id}/prescription/check

Marca a receita de um item como conferida

Escopo write_orders

A ótica conferiu a receita (a foto contra os valores, a validade, o médico). Só a receita informada (status provided); a pendente dá 409. Gera order.updated. A resposta é o pedido com os valores da receita, como no GET.

Parâmetros

NomeOndeTipoDescrição
idobrigatóriocaminhostring (uuid)O id do pedido.
line_idobrigatóriocaminhostring (uuid)O id do item do pedido (line_items[].id) que pede a receita.
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

200 Sucesso. (Order)

Os campos da resposta (116)
CampoTipoDescrição
idstring (uuid)
numberinteger
statusstringUm de: pending_payment, paid, preparing, shipped, delivered, cancelled.
customerobjeto
customer.idstring (uuid) ou null
customer.namestring
customer.emailstring
customer.phonestring
customer.cpfstring
shipping_addressobjeto
shipping_address.zipstring
shipping_address.streetstring
shipping_address.numberstring
shipping_address.complementstring
shipping_address.neighborhoodstring
shipping_address.citystring
shipping_address.statestring
line_itemslista de objeto
line_items[].idstring (uuid)
line_items[].keystring ou null
line_items[].parent_line_idstring (uuid) ou null
line_items[].groupobjeto ou null
line_items[].group.codestring
line_items[].group.namestring
line_items[].propertiesobjeto
line_items[].inventory_trackedboolean
line_items[].eyesobjeto ou null
line_items[].eyes.rightinteger
line_items[].eyes.leftinteger
line_items[].variant_idstring (uuid)
line_items[].titlestring
line_items[].optionslista de string
line_items[].skustring ou null
line_items[].priceinteger
line_items[].quantityinteger
line_items[].line_priceinteger
line_items[].promotionstring ou null
line_items[].fileslista de objeto
line_items[].files[].idstring (uuid)
line_items[].files[].namestring
line_items[].files[].content_typestring
line_items[].files[].sizeinteger
line_items[].files[].purposestringUm de: general, prescription.
line_items[].files[].urlstring (URL)
line_items[].files[].url_expires_atstring (data e hora)
line_items[].prescriptionobjeto ou null
line_items[].prescription.typestring ou nullUm de: single_vision, progressive, bifocal, reading, plano, contact_lens.
line_items[].prescription.rightobjeto ou null
line_items[].prescription.right.spherenumber
line_items[].prescription.right.cylindernumber
line_items[].prescription.right.axisinteger ou null
line_items[].prescription.right.addnumber ou null
line_items[].prescription.right.base_curvenumber ou null
line_items[].prescription.right.diameternumber ou null
line_items[].prescription.leftobjeto ou null
line_items[].prescription.left.spherenumber
line_items[].prescription.left.cylindernumber
line_items[].prescription.left.axisinteger ou null
line_items[].prescription.left.addnumber ou null
line_items[].prescription.left.base_curvenumber ou null
line_items[].prescription.left.diameternumber ou null
line_items[].prescription.pdobjeto ou null
line_items[].prescription.segment_heightobjeto ou null
line_items[].prescription.segment_height.rightnumber
line_items[].prescription.segment_height.leftnumber
line_items[].prescription.prismobjeto ou null
line_items[].prescription.prism.rightobjeto ou null
line_items[].prescription.prism.right.valuenumber
line_items[].prescription.prism.right.basestringUm de: in, out, up, down.
line_items[].prescription.prism.leftobjeto ou null
line_items[].prescription.prism.left.valuenumber
line_items[].prescription.prism.left.basestringUm de: in, out, up, down.
line_items[].prescription.issued_atstring ou null
line_items[].prescription.doctorobjeto ou null
line_items[].prescription.doctor.namestring
line_items[].prescription.doctor.licensestring ou null
line_items[].prescription.notestring ou null
line_items[].prescription.lens_brandstring ou null
line_items[].prescription.statusstringUm de: pending, declared, provided, checked.
line_items[].prescription.provided_atstring (data e hora) ou null
line_items[].prescription.checked_atstring (data e hora) ou null
line_items[].prescription.declared_atstring (data e hora) ou null
line_items[].prescription.declarationstring ou null
line_items[].prescription.store_notestring ou null
subtotal_priceinteger
shipping_priceinteger
total_discountsinteger
coupon_codestring ou null
pix_discountinteger
total_priceinteger
shipping_lineobjeto ou null
shipping_line.titlestring
shipping_line.carrierstring
shipping_line.delivery_daysinteger
shipping_line.pickupobjeto ou null
shipping_line.pickup.addressstring
shipping_line.pickup.instructionsstring
tracking_codestring ou null
paymentobjeto ou null
payment.methodstringUm de: pix, credit_card, debit_card, boleto.
payment.statusstringUm de: pending, approved, expired, cancelled, declined, refunded, authorized.
payment.amountinteger
payment.installmentsinteger ou null
payment.refunded_atstring (data e hora) ou null
payment.created_atstring (data e hora)
invoiceobjeto ou null
invoice.keystring
invoice.numberstring
invoice.seriesstring
invoice.urlstring ou null
invoice.informed_atstring (data e hora)
paid_atstring (data e hora) ou null
testboolean
anonymized_atstring (data e hora) ou null
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).
  • 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).