Análises e revisão
Lista as análises de fraude, consulta uma, registra a decisão manual e vê os totais.
Estas rotas formam a fila de revisão do antifraude: a lista com os filtros, o detalhe de uma análise, a decisão do revisor e os totais do painel.
Listar análises
Lista as análises, da mais recente à mais antiga. Use o filtro status=manual_review para a fila de revisão.
/api/v1/admin/fraud/analysesAdminLista as análises de fraude
Autenticação: Authorization: Bearer <token> de um administrador com manage_fraud ou manage_orders. Requer o módulo clearsale ativo.
Parâmetros de consulta
statusstringpendingapprovedrejectedmanual_reviewcancellederrorblockedchallengereview_expiredpending em silêncio.risk_levelstringlowmediumhighlow, medium ou high.order_iduuidpageintegerpadrão: 1per_pageintegerpadrão: 20Exemplo de requisição
Resposta
Campos da resposta
analysesarray | nullnull quando não há nenhuma, não uma lista vazia.analyses[].idintegeranalyses[].order_iduuidanalyses[].scorenumber0 (menor risco) a 100 (maior risco).analyses[].statusstringpendingapprovedrejectedmanual_reviewcancellederrorblockedchallengereview_expiredanalyses[].risk_levelstringlowmediumhighlow (até 30), medium (até 60) ou high.analyses[].analysis_idstringanalyses[].clearsale_order_idstringanalyses[].reasonstringanalyses[].reviewed_bystringanalyses[].reviewed_atstringanalyses[].raw_responseobjectanalyses[].created_atstringanalyses[].updated_atstringtotalintegerpageintegerper_pageintegertotal_pagesintegerErros
| Status | Quando | Corpo |
|---|---|---|
| 401 | Sem token ou token inválido | {"error":"missing authorization header"} |
| 403 | Sem o privilégio exigido, ou módulo desligado | {"error":"module_disabled","module":"clearsale"} / {"error":"insufficient privileges","required":"manage_fraud"} |
| 500 | Falha na consulta | {"error":"Failed to list analyses"} |
Consultar uma análise
Devolve uma análise pelo identificador numérico, com a resposta bruta do ClearSale.
/api/v1/admin/fraud/{id}AdminConsulta uma análise de fraude
Autenticação: Authorization: Bearer <token> de um administrador com manage_fraud ou manage_orders. Requer o módulo clearsale ativo.
Parâmetros de caminho
idintegerobrigatórioExemplo de requisição
Resposta
Campos da resposta
idintegerorder_iduuidscorenumber0 (menor risco) a 100 (maior risco).statusstringpendingapprovedrejectedmanual_reviewcancellederrorblockedchallengereview_expiredrisk_levelstringlowmediumhighlow (até 30), medium (até 60) ou high.analysis_idstringclearsale_order_idstringreasonstringreviewed_bystringreviewed_atstringraw_responseobjectcreated_atstringupdated_atstringErros
| Status | Quando | Corpo |
|---|---|---|
| 401 | Sem token ou token inválido | {"error":"missing authorization header"} |
| 403 | Sem o privilégio exigido, ou módulo desligado | {"error":"module_disabled","module":"clearsale"} / {"error":"insufficient privileges","required":"manage_fraud"} |
| 400 | id que não é número | {"error":"Invalid analysis ID"} |
| 404 | Análise inexistente | {"error":"Analysis not found"} |
Decidir uma análise
O revisor registra a decisão: aprovar, reprovar ou cancelar. A plataforma grava o estado novo, quem decidiu e quando. É a saída da fila manual_review.
/api/v1/admin/fraud/{id}AdminRegistra a decisão manual sobre uma análise
Autenticação: Authorization: Bearer <token> de um administrador com manage_fraud ou manage_orders. Requer o módulo clearsale ativo.
Parâmetros de caminho
idintegerobrigatórioCorpo da requisição
statusstringobrigatórioapprovedrejectedcancelledreasonstringExemplo de requisição
Resposta
Campos da resposta
successbooleantrue.analysisobjectanalysis.idintegeranalysis.order_iduuidanalysis.scorenumber0 (menor risco) a 100 (maior risco).analysis.statusstringpendingapprovedrejectedmanual_reviewcancellederrorblockedchallengereview_expiredanalysis.risk_levelstringlowmediumhighlow (até 30), medium (até 60) ou high.analysis.analysis_idstringanalysis.clearsale_order_idstringanalysis.reasonstringanalysis.reviewed_bystringanalysis.reviewed_atstringanalysis.raw_responseobjectanalysis.created_atstringanalysis.updated_atstringErros
| Status | Quando | Corpo |
|---|---|---|
| 401 | Sem token ou token inválido | {"error":"missing authorization header"} |
| 403 | Sem o privilégio exigido, ou módulo desligado | {"error":"module_disabled","module":"clearsale"} / {"error":"insufficient privileges","required":"manage_fraud"} |
| 400 | id que não é número | {"error":"Invalid analysis ID"} |
| 400 | Corpo inválido ou status fora de approved/rejected/cancelled | {"error":"Status must be 'approved', 'rejected', or 'cancelled'"} |
| 500 | Análise inexistente ou falha ao gravar (a mensagem diz Failed to update analysis: ...) | {"error":"Failed to update analysis: clearsale: analysis 999 not found"} |
Estatísticas
Totais para o painel de antifraude: quantas análises existem em cada estado, a taxa de aprovação e a pontuação média.
/api/v1/admin/fraud/statsAdminTotais das análises de fraude
Autenticação: Authorization: Bearer <token> de um administrador com manage_fraud ou manage_orders. Requer o módulo clearsale ativo.
Sem parâmetros.
Exemplo de requisição
Resposta
Campos da resposta
total_analysesintegerapproved_countintegerrejected_countintegermanual_review_countintegerpending_countintegererror_countintegerapproval_rate_bpsinteger9230 = 92,30%).average_scorenumberhigh_risk_countintegerErros
| Status | Quando | Corpo |
|---|---|---|
| 401 | Sem token ou token inválido | {"error":"missing authorization header"} |
| 403 | Sem o privilégio exigido, ou módulo desligado | {"error":"module_disabled","module":"clearsale"} / {"error":"insufficient privileges","required":"manage_fraud"} |
| 500 | Falha na consulta | {"error":"Failed to get fraud statistics"} |