Pular para o conteúdo principal

Criar Reversas

Introdução

Esta seção detalha como criar e consultar uma reversa de protocolo no ambiente de sandbox, bem como testar diferentes cenários de erro.

Pré-requisitos para Criação de Reversa

Para criar uma reversa no ambiente de sandbox, é necessário observar as seguintes regras:

  1. O protocolo referente à reversa deve existir previamente no sistema e deve estar aberto
  2. Apenas protocolos do tipo cancellation (cancelamento) podem receber reversas
  3. Cada protocolo de cancelamento pode ter apenas uma reversa ativa por vez
  4. Reversas criadas no ambiente de sandbox têm validade de 1 hora. Após esse período, uma nova reversa pode ser criada no mesmo protocolo.

Cenários de Erros Imediatos

São erros retornados imediatamente como resposta à requisição.

CenárioCódigo de RespostaCondições para emular o cenário
"Ticket '{ticket_id}' não encontrado."404Tente criar uma reversa utilizando um ticket_id que não existe no sistema.
"Não é possível criar reversa em tickets fechados."400Tente criar uma reversa utilizando um ticket_id de um protocolo que já está fechado.
"Não é possível criar código de logística reversa para o ticket: '{ticket_id}'. Tipo de ticket inválido: {ticket_type}."400Tente criar uma reversa para um protocolo cujo tipo seja diferente de cancellation.
"Unprocessable entity"422Tente criar uma reversa informando um valor para o campo code que não seja do tipo string.

Tabela de Cenários de Erro Assíncronos

São erros assíncronos encontrados ao consultar a transação referente ao transaction_id retornado como resposta da requisição.

Abaixo estão descritos os possíveis cenários de erro que podem ser testados:

CenáriocodeCondições para emular cenário
"Só é possível abrir uma reversa para pedidos que foram despachados..."erro1Não é possível executar esse cenário sem utilizar o campo code
"Só é possível abrir uma reversa para pedidos do tipo MLE."erro2Não é possível executar esse cenário sem utilizar o campo code
"Só é possível abrir reversas para protocolos de cancelamento."Tente abrir uma reversa para um protcolo que não é do tipo cancellation
"Já existe uma reversa aberta e válida para este ticket."Tente abrir uma reversa para um protocolo que já possui uma reversa aberta não expirada (1h)
info

No ambiente de produção, o campo code é um identificador customizado opcional destinado ao uso do parceiro. Já no ambiente de sandbox, além de manter essa funcionalidade, o campo também pode ser utilizado para forçar a ocorrência de erros assíncronos específicos durante os testes.

Exemplo de Criação de Reversa

Abaixo está um exemplo de como criar uma reversa utilizando cURL: O exemplo em questão geraria o primeiro cenário descrito na Tabela de Cenários de Erro Assíncronos por ter definido o campo code como erro1.

curl -L -X POST 'https://api-sandbox.magalu.com/seller/v0/tickets/:ticket_id/returns' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <token>'
-d '{
"code": "erro1",
}'

Para mais detalhes, consulte a documentação do endpoint.

Consultar Reversas

Pré-requisitos para Consulta de Reversa

Os endpoints de consulta estão disponíveis no ambiente de sandbox e funcionam da mesma forma que no ambiente de produção:

  • Nenhum dado é pré-carregado no ambiente de sandbox
  • Os endpoints retornarão apenas os dados criados pelo próprio usuário durante os testes

Exemplo de Consulta de Reversas

curl -L 'https://api-sandbox.magalu.com/seller/v0/tickets/:ticket_id/returns' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <token>'

Para mais detalhes, consulte a documentação do endpoint.

Exemplo de Consulta de Reversa por ID

curl -L 'https://api-sandbox.magalu.com//seller/v0/tickets/:ticket_id/returns/:ticket_return_id' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <token>'

Para mais detalhes, consulte a documentação do endpoint.