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:
- O protocolo referente à reversa deve existir previamente no sistema e deve estar aberto
- Apenas protocolos do tipo
cancellation
(cancelamento) podem receber reversas - Cada protocolo de cancelamento pode ter apenas uma reversa ativa por vez
- 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ário | Código de Resposta | Condições para emular o cenário |
---|---|---|
"Ticket '{ticket_id}' não encontrado." | 404 | Tente criar uma reversa utilizando um ticket_id que não existe no sistema. |
"Não é possível criar reversa em tickets fechados." | 400 | Tente 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}." | 400 | Tente criar uma reversa para um protocolo cujo tipo seja diferente de cancellation . |
"Unprocessable entity" | 422 | Tente 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ário | code | Condições para emular cenário |
---|---|---|
"Só é possível abrir uma reversa para pedidos que foram despachados..." | erro1 | Não é possível executar esse cenário sem utilizar o campo code |
"Só é possível abrir uma reversa para pedidos do tipo MLE." | erro2 | Nã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) |
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.