VenddorDocumentação API
API atualAPI legada
Guia rápidoReferência completa
Carregando índice…
API atual/Referência completa

Devoluções e contestações

Como o cliente devolve um produto ou contesta um pedido que não chegou direito.

Depois que o pedido chegou, duas coisas podem dar errado, e a API trata cada uma com um instrumento diferente. Quando o produto chegou e o cliente quer mandá-lo de volta (defeito, tamanho, arrependimento), ele abre uma devolução. Quando o pedido não chegou, veio diferente ou danificado e o cliente quer uma solução do seller, ele abre uma contestação. Esta seção cobre os dois, sempre em nome de um cliente logado.

Pontos-chave
  • Toda rota exige o token do cliente. As devoluções só enxergam pedidos em que o customer_id é do cliente.
  • Devolução depende do módulo returns (403 module_disabled quando desligado). A contestação não depende de módulo.
  • Só pedido entregue ou concluído pode ser devolvido, e dentro da janela em dias contada da entrega (veja a política).
  • Valores em centavos. Ids em UUID.
  • O cliente só cancela a devolução enquanto ela está em requested.

Como funciona

O ciclo da devolução

Solicitada→Aprovada→Item recebido→Reembolsada→Encerrada
statusSignificadoQuem move
requestedO cliente abriu o pedido de devolução; a loja ainda não decidiu.Cliente (cria)
approvedA loja aceitou. O cliente deve enviar o produto (veja reverse_*).Loja ou seller
item_receivedA mercadoria chegou de volta e foi conferida.Loja ou seller, ou o rastreio reverso
refundedO dinheiro (ou o crédito) foi devolvido.Loja
rejectedA loja recusou. admin_notes explica.Loja ou seller
closedCaso encerrado depois de reembolsado ou recusado.Loja
cancelledO cliente desistiu enquanto estava requested.Cliente

Se a loja ligou a aprovação automática, a devolução já nasce approved. O cliente só age em dois momentos: abrir a devolução e, se desistir antes da decisão, cancelar. Todo o resto é decisão da loja ou do seller.

Devolução ou contestação?

Situação do clienteInstrumento
Recebi, mas quero devolver (defeito, tamanho, desisti)Devolução
Não recebi, veio errado ou diferente da descrição, chegou danificadoContestação
Quero só desistir de um pedido ainda não enviadoCancelar pedido

Conceitos-chave

Resolução e destino do dinheiro

resolution diz o que o cliente quer: refund (dinheiro de volta), replacement (troca pelo mesmo produto) ou store_credit (crédito). refund_destination diz para onde vai o reembolso: original (volta pela forma de pagamento) ou wallet (carteira da loja; a política mostra o bônus que a loja dá nesse caso).

Uma devolução ativa por vez

Enquanto houver uma devolução em requested, approved ou item_received para o mesmo pedido (ou para a mesma linha, quando order_item_id é enviado), uma nova é recusada. Para devolver duas linhas do mesmo pedido, envie order_item_id em cada uma.

Endpoints

Método e caminhoPara quêPágina
POST /api/v1/storefront/orders/{orderId}/returnAbre uma devoluçãoPedir devolução
GET /api/v1/storefront/returnsLista as devoluções do clienteAcompanhar devoluções
GET /api/v1/storefront/returns/{id}Detalhe de uma devoluçãoAcompanhar devoluções
DELETE /api/v1/storefront/returns/{id}Cancela uma devolução ainda solicitadaAcompanhar devoluções
GET /api/v1/storefront/returns/{id}/reverse-eventsLinha do tempo da logística reversaAcompanhar devoluções
GET /api/v1/storefront/returns/policyJanela, motivo obrigatório e bônusPolítica e motivos
GET /api/v1/storefront/returns/reasonsMotivos de devoluçãoPolítica e motivos
POST /api/v1/storefront/account/orders/{orderId}/disputesAbre uma contestaçãoContestações
GET /api/v1/storefront/account/disputesLista as contestaçõesContestações
GET /api/v1/storefront/account/disputes/{id}Detalhe de uma contestaçãoContestações
POST /api/v1/storefront/account/disputes/{id}/accept-proposalAceita a proposta do sellerContestações
POST /api/v1/storefront/account/disputes/{id}/escalateLeva o caso à lojaContestações

Erros comuns

O que costuma dar errado
  1. Pedir devolução de pedido não entregue. Só delivered/completed aceita; o erro é create_return_failed com a explicação no detail.
  2. Passar da janela. A contagem parte da data de entrega registrada no pedido. Consulte a política e esconda o botão depois do prazo.
  3. Esquecer o motivo. Quando a loja exige motivo, mande reason_id ou reason.
  4. Duplicar. Uma devolução ativa por pedido/linha; trate o 400 mostrando a devolução existente.
  5. Tentar cancelar depois da aprovação. O cliente só cancela em requested.
  6. Confundir devolução e contestação. Veja a tabela acima.
  7. Ler status como letra. Aqui o status vem por extenso (requested, approved...).

Próximos passos

Pedir devolução
Abra uma devolução de um pedido entregue.
Acompanhar devoluções
Liste, consulte e cancele.
Contestações
Pedido que não chegou ou veio errado.
Anterior
Comprar de novo
Próxima
Pedir devolução
Nesta página
  • Como funciona
  • O ciclo da devolução
  • Devolução ou contestação?
  • Conceitos-chave
  • Resolução e destino do dinheiro
  • Uma devolução ativa por vez
  • Endpoints
  • Erros comuns
  • Próximos passos