Devoluções
Lista e consulta devoluções (RMAs) e abre uma devolução em nome do cliente pela equipe da loja.
Uma devolução (RMA, "return merchandise authorization") é o pedido de um cliente para devolver um item comprado: por defeito, por arrependimento ou por erro de envio. Cada devolução passa por uma sequência de situações, do pedido do cliente até o reembolso, e a loja decide a resolução: reembolsar, trocar o produto ou dar crédito na loja.
Use estas operações para sincronizar devoluções com um sistema de logística reversa ou de atendimento. A criação pela v2 é uma ação da equipe (atendimento ou balcão), não do cliente: a devolução nasce ligada ao cliente do pedido.
/api/v2/returnsAdminListar devoluções
Da mais nova para a mais antiga. Cada item já traz o número do pedido, o nome e o e-mail do cliente e o nome do produto.
Parâmetros de consulta
pageintegerpadrão: 1per_pageintegerpadrão: 20statusstringrequestedapproveditem_receivedrefundedrejectedclosedcancelledrequested.customer_iduuidvendor_iduuiddate_fromstringYYYY-MM-DD).date_tostringYYYY-MM-DD, o dia entra inteiro).fieldsstring/api/v2/returns/{id}AdminLer uma devolução
Devolve uma devolução com os mesmos campos da lista.
Parâmetros de caminho
iduuidobrigatório/api/v2/returnsAdminAbrir uma devolução pela equipe
Cria uma devolução na situação requested para um pedido já pago ou entregue. O cliente é o dono do pedido. O pedido precisa estar pago ou entregue/concluído: pedidos cancelados ou reembolsados não aceitam devolução.
Corpo da requisição
order_iduuidobrigatórioorder_item_iduuidreason_iduuidreasonstringresolutionstringpadrão: refundrefundreplacementstore_creditquantityintegerpadrão: 1refund_amountintegerrestock_warehouse_iduuidbypass_windowbooleanpadrão: falseExemplo de requisição
Abrir uma devolução:
Resposta
Campos da resposta
data[].iduuiddata[].order_iduuiddata[].order_item_iduuid | nulldata[].customer_iduuiddata[].vendor_iduuid | nulldata[].reason_iduuid | nulldata[].reasonstringdata[].statusstringrequestedapproveditem_receivedrefundedrejectedclosedcancelleddata[].admin_notesstringdata[].customer_notesstringdata[].resolutionstringrefundreplacementstore_creditdata[].refund_amountintegerdata[].quantityintegerdata[].created_atstringdata[].updated_atstringdata[].processed_atstring | nulldata[].processed_byuuid | nulldata[].order_numberstringdata[].customer_namestringdata[].customer_emailstringdata[].product_namestringdata[].reason_namestringA criação responde 201 com { "data": { ... } }, o mesmo objeto sem os campos de apoio (order_number, customer_name, customer_email, product_name, reason_name) e com processed_by igual ao usuário que abriu.
Erros
| Status | Quando | Corpo |
|---|---|---|
| 400 | order_id ausente | {"error":{"code":"bad_request","message":"order_id is required"}} |
| 400 | Corpo que não é JSON | {"error":{"code":"bad_request","message":"invalid request body","details":"..."}} |
| 404 | Devolução inexistente (GET por id) | {"error":{"code":"not_found","message":"return not found"}} |
| 409 | Já existe devolução ativa para o pedido ou item | {"error":{"code":"active_return_exists","message":"an active return already exists for this order/item"}} |
| 500 | Falha inesperada | {"error":{"code":"internal_error","message":"an unexpected error occurred","details":"..."}} |