Você pode testar esta rota diretamente em nossa documentação interativa.

Endpoint

POST /api/externalAPIs/public/advisor/advisorIssuesUpsert

Parâmetros

id
string (UUID)

ID da issue a ser atualizada. Omitir para criar uma nova.

advisorReportId
string (UUID)

ID do relatório do advisor ao qual a issue pertence. Obrigatório na criação.

snippet
string

Trecho problemático identificado. Obrigatório na criação.

problemDescription
string

Descrição do problema. Obrigatório na criação.

recommendation
string

Recomendação de correção. Obrigatório na criação.

decisionChainId
string (UUID)

ID da decision chain associada.

decisionChainName
string

Nome da decision chain associada.

criticalityScore
number
required

Score de criticidade de 0 a 10. Escala sugerida: 0–3 (menores), 4–6 (moderados), 7–8 (sérios), 9–10 (críticos).

problematicAgents
array

Lista de agents problemáticos.

chainId
string (UUID)

ID da chain (mesmo valor de decisionChainId, usado para localização).

table
string

Nome da tabela relacionada (ex: "decision_chains").

tableId
string

ID do registro na tabela relacionada.

path
string

Caminho JSON para localizar o elemento exato que precisa de manutenção (ex: "chains[0].blocks[1]" ou "0").

isResolved
boolean
default: "false"

Marca a issue como resolvida.

isDeleted
boolean
default: "false"

Marca a issue como deletada.

Exemplos

curl -X POST {{BASE_URL}}/api/externalAPIs/public/advisor/advisorIssuesUpsert \
  -H "Authorization: Bearer {TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "advisorReportId": "uuid-do-relatorio",
    "snippet": "Trecho problemático do decision",
    "problemDescription": "Descrição do problema identificado",
    "recommendation": "Recomendação de correção",
    "decisionChainId": "uuid-da-chain",
    "decisionChainName": "Nome da Chain",
    "criticalityScore": 7,
    "problematicAgents": [
      {
        "agentName": "agent1",
        "schemaName": "schema1",
        "agentId": "uuid-do-agent",
        "frontName": "Nome Front do Agent"
      }
    ],
    "chainId": "uuid-da-chain",
    "table": "decision_chains",
    "tableId": "uuid-da-chain",
    "path": "chains[0].blocks[1]"
  }'

Resposta

{
  "id": "bf047297-ff98-4b4d-b6b7-07f8f50ca36c",
  "advisorReportId": "uuid-do-relatorio",
  "snippet": "Trecho problemático do decision",
  "problemDescription": "Descrição do problema identificado",
  "recommendation": "Recomendação de correção",
  "criticalityScore": 7,
  "isResolved": false,
  "isDeleted": false,
  "decisionChainId": "uuid-da-chain",
  "decisionChainName": "Nome da Chain",
  "chainId": "uuid-da-chain",
  "table": "decision_chains",
  "tableId": "uuid-da-chain",
  "path": "chains[0].blocks[1]",
  "problematicAgents": [
    {
      "agentName": "agent1",
      "schemaName": "schema1",
      "agentId": "uuid-do-agent",
      "frontName": "Nome Front do Agent"
    }
  ],
  "createdAt": "2024-01-15T10:30:00.000Z",
  "updatedAt": "2024-01-15T10:30:00.000Z"
}

Campos da Resposta

id
string
ID único da issue criada ou atualizada.
advisorReportId
string
ID do relatório ao qual esta issue pertence.
snippet
string
Trecho problemático identificado.
problemDescription
string
Descrição do problema.
recommendation
string
Recomendação de correção.
criticalityScore
number
Score de criticidade de 0 a 10.
isResolved
boolean
Indica se a issue está resolvida.
isDeleted
boolean
Indica se a issue está deletada.
decisionChainId
string
ID da decision chain associada (quando aplicável).
decisionChainName
string
Nome da decision chain associada (quando aplicável).
chainId
string
ID da chain (mesmo valor de decisionChainId, para localização).
table
string
Nome da tabela relacionada.
tableId
string
ID do registro na tabela relacionada.
path
string
Caminho JSON para o elemento problemático na decision chain.
problematicAgents
array

Lista de agents problemáticos.

createdAt
string
Data e hora de criação em ISO 8601.
updatedAt
string
Data e hora da última atualização em ISO 8601.

O sistema distribui criticalityScore de forma que haja um range mínimo de 3 pontos entre o menor e maior score quando houver múltiplas issues. O campo path permite navegar diretamente ao elemento problemático no JSON da decision chain.

Erros

CódigoDescrição
400Campos obrigatórios ausentes ou inválidos
401Token inválido ou ausente
404Issue não encontrada (ao tentar atualizar um id inexistente)
500Erro interno do servidor