Exemplos

Exemplos da OpenAI Decisions API

Doze corpos de requisição que você pode enviar a POST /api/v1/decisions como estão — o endpoint decisions-1 deste site, uma alternativa chamável à OpenAI Decisions API. Cada cartão mostra a requisição, uma resposta ilustrativa e como um sistema agiria.

Atualizado

Roteamento de incidente no checkout

Abrir no playground

Requisição

{
  "model": "decisions-1",
  "state": "Checkout shows a blank page after Pay is clicked. The customer is on the live store, not a sandbox.",
  "questions": {
    "team": {
      "type": "choice",
      "instructions": "Which team should own this ticket?",
      "criteria": {
        "payments": "Checkout, billing, or payment processing.",
        "frontend": "Rendering, layout, or browser behavior.",
        "account": "Login, permissions, or profile access."
      }
    }
  }
}

Resposta ilustrativa

{
  "model": "decisions-1",
  "answers": {
    "team": {
      "type": "choice",
      "choice": "frontend",
      "probabilities": {
        "frontend": 0.71,
        "payments": 0.24,
        "account": 0.05
      },
      "confidence": 0.47
    }
  },
  "credits_used": 1
}

Agir: Envie o ticket para frontend; se payments tivesse saído perto de 0.5, roteie para uma fila de triagem.

Intenção de reembolso

Abrir no playground

Requisição

{
  "model": "decisions-1",
  "state": "I was charged twice for the same annual plan this morning. Please send the extra charge back.",
  "questions": {
    "refund": {
      "type": "noul",
      "instructions": "Is the customer asking for money back?"
    }
  }
}

Resposta ilustrativa

{
  "model": "decisions-1",
  "answers": {
    "refund": {
      "type": "noul",
      "noul": 0.98
    }
  },
  "credits_used": 1
}

Agir: noul ≥ 0.9 manda o ticket para a fila de reembolsos; abaixo disso, um agente lê.

Score de urgência

Abrir no playground

Requisição

{
  "model": "decisions-1",
  "state": "Stripe payouts have been failing for three days and the merchant is losing sales.",
  "questions": {
    "urgency": {
      "type": "score",
      "instructions": "How urgent is this ticket?",
      "criteria": [
        "Can wait for the next release",
        "Should be handled this week",
        "Blocking revenue right now"
      ]
    }
  }
}

Resposta ilustrativa

{
  "model": "decisions-1",
  "answers": {
    "urgency": {
      "type": "score",
      "score": 2,
      "legend": [
        "Can wait for the next release",
        "Should be handled this week",
        "Blocking revenue right now"
      ],
      "probabilities": {
        "0": 0.02,
        "1": 0.14,
        "2": 0.84
      },
      "confidence": 0.84
    }
  },
  "credits_used": 1
}

Agir: Score 2 aciona o plantonista; score 1 entra na fila semanal; score 0 espera o próximo release.

Verificação de phishing

Abrir no playground

Requisição

{
  "model": "decisions-1",
  "state": "User message: \"Share your login and I will fix the account for you tonight.\"",
  "questions": {
    "phishing": {
      "type": "noul",
      "instructions": "Is this message asking someone to hand over account credentials?"
    }
  }
}

Resposta ilustrativa

{
  "model": "decisions-1",
  "answers": {
    "phishing": {
      "type": "noul",
      "noul": 0.96
    }
  },
  "credits_used": 1
}

Agir: noul ≥ 0.8 bloqueia a mensagem e sinaliza o remetente; o resto passa intacto.

Qualificação de leads

Abrir no playground

Requisição

{
  "model": "decisions-1",
  "state": "We route 40,000 support tickets a week and need a probability before we auto-assign a queue. Budget is approved this quarter.",
  "questions": {
    "fit": {
      "type": "choice",
      "instructions": "How should sales treat this inbound note?",
      "criteria": {
        "ready": "A real workflow, a volume, and a buying window.",
        "nurture": "Interest without a stated workflow or timeline.",
        "ignore": "No product fit."
      }
    }
  }
}

Resposta ilustrativa

{
  "model": "decisions-1",
  "answers": {
    "fit": {
      "type": "choice",
      "choice": "ready",
      "probabilities": {
        "ready": 0.88,
        "nurture": 0.11,
        "ignore": 0.01
      },
      "confidence": 0.77
    }
  },
  "credits_used": 1
}

Agir: ready recebe resposta de vendas no mesmo dia; nurture entra na trilha de e-mail; ignore recebe uma recusa cordial.

Portão de política

Abrir no playground

Requisição

{
  "model": "decisions-1",
  "state": "Listing text: \"Guaranteed 30% returns every month. Send crypto to this wallet to join.\"",
  "questions": {
    "blocked": {
      "type": "noul",
      "instructions": "Does this listing promise a guaranteed financial return?"
    }
  }
}

Resposta ilustrativa

{
  "model": "decisions-1",
  "answers": {
    "blocked": {
      "type": "noul",
      "noul": 0.99
    }
  },
  "credits_used": 1
}

Agir: noul ≥ 0.9 retém o anúncio e avisa o vendedor; abaixo disso ainda vai à fila de revisão humana.

Score de risco de churn

Abrir no playground

Requisição

{
  "model": "decisions-1",
  "state": "The renewal note says the team may not continue because exports fail every Friday and nobody has answered the last two tickets.",
  "questions": {
    "risk": {
      "type": "score",
      "instructions": "How high is the chance this account does not renew?",
      "criteria": [
        "Unlikely to leave",
        "Unhappy, still using the product",
        "Likely to cancel"
      ]
    }
  }
}

Resposta ilustrativa

{
  "model": "decisions-1",
  "answers": {
    "risk": {
      "type": "score",
      "score": 2,
      "legend": [
        "Unlikely to leave",
        "Unhappy, still using the product",
        "Likely to cancel"
      ],
      "probabilities": {
        "0": 0.07,
        "1": 0.24,
        "2": 0.69
      },
      "confidence": 0.55
    }
  },
  "credits_used": 1
}

Agir: Score 2 abre um plano de retenção com o dono da conta; score 1 agenda um check-in; score 0 segue no automático.

Exceção de fatura

Abrir no playground

Requisição

{
  "model": "decisions-1",
  "state": "Vendor invoice 4481 is $18,400. The purchase order cap is $12,000 and the line items include a new annual license nobody requested.",
  "questions": {
    "exception": {
      "type": "choice",
      "instructions": "Which exception should accounts payable open?",
      "criteria": {
        "over_po": "The amount is above the purchase order.",
        "unexpected_item": "A line item was not requested.",
        "both": "The amount and a line item are both wrong."
      }
    }
  }
}

Resposta ilustrativa

{
  "model": "decisions-1",
  "answers": {
    "exception": {
      "type": "choice",
      "choice": "both",
      "probabilities": {
        "both": 0.86,
        "over_po": 0.1,
        "unexpected_item": 0.04
      },
      "confidence": 0.76
    }
  },
  "credits_used": 1
}

Agir: both abre um caso com compras; só over_po vai ao aprovador; só unexpected_item volta ao solicitante.

Próxima ação do agente

Abrir no playground

Requisição

{
  "model": "decisions-1",
  "state": "The support agent has the refund policy loaded and the customer confirmed their order number. No tool call has run yet.",
  "questions": {
    "next_action": {
      "type": "choice",
      "instructions": "What should the agent do next?",
      "criteria": {
        "issue_refund": "Call the refund tool for the confirmed order.",
        "ask_details": "Ask the customer for more information.",
        "escalate": "Hand the conversation to a human."
      }
    }
  }
}

Resposta ilustrativa

{
  "model": "decisions-1",
  "answers": {
    "next_action": {
      "type": "choice",
      "choice": "issue_refund",
      "probabilities": {
        "issue_refund": 0.82,
        "ask_details": 0.13,
        "escalate": 0.05
      },
      "confidence": 0.69
    }
  },
  "credits_used": 1
}

Agir: issue_refund dispara a ferramenta de reembolso; ask_details envia uma pergunta de follow-up; escalate passa o fio para um humano.

Triagem de bugs

Abrir no playground

Requisição

{
  "model": "decisions-1",
  "state": "Bug report: the export button spins forever on Firefox but works in Chrome. Two enterprise accounts reported it this week.",
  "questions": {
    "severity": {
      "type": "score",
      "instructions": "What severity should this bug get?",
      "criteria": [
        "Cosmetic",
        "Minor workaround exists",
        "Blocks a core flow"
      ]
    },
    "is_duplicate": {
      "type": "noul",
      "instructions": "Does this report describe a known browser-specific failure pattern?"
    }
  }
}

Resposta ilustrativa

{
  "model": "decisions-1",
  "answers": {
    "severity": {
      "type": "score",
      "score": 2,
      "legend": [
        "Cosmetic",
        "Minor workaround exists",
        "Blocks a core flow"
      ],
      "probabilities": {
        "0": 0.04,
        "1": 0.22,
        "2": 0.74
      },
      "confidence": 0.58
    },
    "is_duplicate": {
      "type": "noul",
      "noul": 0.31
    }
  },
  "credits_used": 1
}

Agir: Duas perguntas numa chamada — severity define a fila e is_duplicate decide se vincula a uma issue existente.

Portão de resposta a reviews

Abrir no playground

Requisição

{
  "model": "decisions-1",
  "state": "App store review, 4 stars: \"Solid app, but the last update broke dark mode on my tablet.\"",
  "questions": {
    "needs_reply": {
      "type": "noul",
      "instructions": "Should the team reply to this review?"
    }
  }
}

Resposta ilustrativa

{
  "model": "decisions-1",
  "answers": {
    "needs_reply": {
      "type": "noul",
      "noul": 0.81
    }
  },
  "credits_used": 1
}

Agir: noul ≥ 0.7 rascunha uma resposta para o revisor; scores menores só entram no resumo semanal.

Atribuição de SLA

Abrir no playground

Requisição

{
  "model": "decisions-1",
  "state": "A customer on the Enterprise plan reports their single sign-on is down for all 300 employees.",
  "questions": {
    "sla_tier": {
      "type": "choice",
      "instructions": "Which SLA tier applies to this ticket?",
      "criteria": {
        "p1": "Full outage for an enterprise account.",
        "p2": "Major feature degraded.",
        "p3": "Standard request."
      }
    }
  }
}

Resposta ilustrativa

{
  "model": "decisions-1",
  "answers": {
    "sla_tier": {
      "type": "choice",
      "choice": "p1",
      "probabilities": {
        "p1": 0.93,
        "p2": 0.06,
        "p3": 0.01
      },
      "confidence": 0.87
    }
  },
  "credits_used": 1
}

Agir: p1 inicia o cronômetro de incidente e avisa o dono da conta; p2/p3 caem nas filas normais.

Execute qualquer exemplo agora

Todas as requisições funcionam como estão — abra uma no playground ou envie com sua própria chave.