Skip to content

Avalia se um pedido pode abrir uma solicitação de troca ou devolução

Request

Aplica as regras de negócio configuradas na conta sobre um pedido e devolve o veredito: o consumidor pode ou não seguir com a troca/devolução dos itens escolhidos, e qual mensagem deve ser exibida a ele.

As regras avaliadas incluem, entre outras: prazo de arrependimento/garantia, status do pedido, categorias ou SKUs bloqueados, quantidade já devolvida anteriormente e necessidade de gerar autorização de logística reversa.

Para que serve

É o "posso prosseguir?" do fluxo. Em vez de replicar as regras da conta na sua aplicação (que mudam por configuração, sem aviso), você envia o pedido com os itens selecionados e recebe a decisão já pronta, junto do texto a ser exibido.

Como o front Genius usa

Na tela de seleção de itens, assim que o consumidor marca os produtos e os motivos, o front chama este endpoint e:

  • Se permitir for false, bloqueia o botão de continuar e exibe textoUsuario como mensagem de recusa (ex.: "O prazo para devolução deste pedido expirou");
  • Se permitir for true, segue para as etapas de reembolso e logística;
  • Guarda gerarAutorizacaoReversa para saber se, ao final, o processo exigirá autorização de logística reversa.

Observações

  • A Configuracao da conta não é enviada no corpo: ela é carregada no servidor a partir do token autenticado (e de lojaVirtualId, quando informado). Isso garante que as regras aplicadas sejam sempre as vigentes na conta.
  • O endpoint é consultivo: não cria processo nem reserva nada.
Security
BearerAuth
Query
lojaVirtualIdinteger or null, (int64)

Id da loja virtual (subconta). Informe apenas se a conta opera múltiplas lojas virtuais — determina qual conjunto de regras será aplicado.

adminboolean

true avalia as regras em contexto administrativo (SAC), em que parte das restrições aplicadas ao consumidor final é relaxada (ex.: atendente pode abrir solicitação fora do prazo). Use false (padrão) para o fluxo do consumidor.

Default:false
Bodyapplication/jsonrequired

Pedido a ser avaliado, contendo pelo menos os itens (Skus) selecionados com seus motivos e o tipo de processo (troca ou devolução). Use o mesmo objeto de pedido retornado pelos endpoints de consulta de pedido, preenchendo Motivo e Quantidade dos itens escolhidos.

PedidoIdstring

Id do pedido no ecommerce.

Datastring, (date-time)

Data Hora do pedido.

Numerostring

Número do pedido no e-commerce.

Valornumber, (double)

Valor total do Pedido.

ValorFretenumber, (double)

Valor do Frete.

ValorDescontonumber, (double)

Valor de desconto.

IdTransportadoraEcommstring

Id da transportadora.

NomeTransportadoraEcommstring

Nome da transportadora.

ClienteEcommIdstring

Id do cliente na loja virtual.

ClienteNomestring

Nome do cliente da loja virtual.

ClienteEmailstring

Email do cliente.

ClienteDocumentostring

Documento do cliente da loja virtual.

ClienteTelefonestring

Telefone do cliente da loja virtual.

ClienteCelularstring

Celular do cliente da loja virtual.

Parcelasinteger

Número de parcelas do pedido.

QuantidadeItensinteger

Quantidade total de itens de pedido.

EstornoAutomaticoAtestring or null, (date-time)

Data máxima para estorno automático.

TransacaoCartaoCreditoIdstring or null

Se for compra por cartão, id da transação.

TransacaoCartaoCreditoValornumber or null, (double)

Se for compra por cartão o valor da transação.

Statusstring

Status do pedido.

PossuiValeCompraboolean

Foi utilizado um vale compras no pedido?

ClienteEnderecoobject(EnderecoDTO)

Representa um endereço físico

SkusArray of objects(SkuInputDTO)

Itens do pedido.

DataEntregastring or null, (date-time)

Data em que os pacotes do pedido foram entregues.

SelectedSlastring or null

SLA de entrega praticado pela loja virtual no pedido.

CustomerAddressIdstring or null
TransacoesArray of objects(TransacaoEcommDTO)

Transações de pagamento do pedido.

NotaNumerostring or null

Número da nota fiscal.

NotaValornumber or null, (double)

Valor da nota fiscal.

NotaChavestring or null

Chave da nota fiscal.

NotaSeriestring or null

Série da nota fiscal.

NotaDatastring or null, (date-time)

Data da nota fiscal.

curl -i -X POST \
  'https://apidocs.geniusreturns.com.br/_mock/openapi/v1/pvt/processo/avaliar-regras-pedido?lojaVirtualId=0&admin=false' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "PedidoId": "1234567890-01",
    "Numero": "PED-0001",
    "Data": "2026-09-01T12:00:00Z",
    "Valor": 199.9,
    "ValorFrete": 19.9,
    "QuantidadeItens": 1,
    "ClienteEmail": "maria@email.com",
    "ClienteDocumento": "12345678901",
    "Skus": [
      {
        "SkuId": "SKU-1",
        "ProdutoId": "P-1",
        "SkuNome": "Camiseta Preta M",
        "Preco": 199.9,
        "Quantidade": 1,
        "QuantidadeTotal": 1,
        "TipoProcesso": 1,
        "Motivo": {
          "Descricao": "Desisti da compra"
        }
      }
    ]
  }'

Responses

Regras avaliadas com sucesso.

Bodyapplication/json
dataHoraRespostastring, (date-time)

Data e hora da resposta, em UTC.

registrosinteger, (int32)

Quantidade de registros retornados em entidade.

httpStatusstring

Código HTTP da resposta, em texto.

erroCodigostring or null

Código do erro, quando houver.

erroDescricaostring or null

Mensagem do erro, quando houver.

erroDetalhadostring or null

Detalhamento técnico do erro, quando houver.

erroTipostring or null

Classificação do erro. Útil para distinguir falha de integração com a plataforma de e-commerce (04) de erro de domínio ou erro comum (00).

entidadeobject(ResultadoRegraPedidoModel)

Veredito da avaliação das regras de negócio sobre um pedido.

Response
{ "dataHoraResposta": "2026-09-18T13:22:40.102Z", "registros": 1, "httpStatus": "200", "entidade": { "nome": "PrazoDevolucao", "descricao": "Pedido dentro do prazo de devolução", "permitir": true, "gerarAutorizacaoReversa": true, "textoUsuario": null } }