Todos os produtos
Search
Central de documentação

Qoder CN Series:Enviar eventos de sessão

Última atualização: Jul 15, 2026

Grave eventos de entrada do usuário ou do sistema em uma Forward Session.

Cabeçalhos da requisição

Cabeçalho

Obrigatório

Descrição

Authorization

Sim

Bearer <PAT>

Content-Type

Sim

application/json

Idempotency-Key

Não

Chave de idempotência opcional para requisições com efeitos colaterais.

Parâmetros de caminho

Parâmetro

Tipo

Obrigatório

Descrição

session_id

string

Sim

ID da sessão.

Corpo da requisição

Campo

Tipo

Obrigatório

Descrição

events

array

Sim

Array de objetos de evento

events[].type

string

Sim

Tipo do evento

events[].content

string \

array

Depende do tipo

events[].content[].type

string

Sim

Tipo do bloco de conteúdo, por exemplo, text

events[].content[].text

string

Sim

Conteúdo de texto

O campo content aceita dois formatos:

  • Abreviado: string simples "content": "conteúdo de texto"

  • Completo: array de blocos de conteúdo "content": [{"type": "text", "text": "conteúdo de texto"}]

Use o formato abreviado para mensagens de texto simples. Use o formato completo ao enviar conteúdo multimídia, como imagens.

Tipos de evento compatíveis

type

Descrição

Campos obrigatórios

user.message

Envio de mensagem pelo usuário

content

user.interrupt

Interrupção da execução do Agent pelo usuário

-

user.tool_confirmation

Autorização de chamada de ferramenta pelo Agent

tool_use_id, decision (approve ou deny)

user.custom_tool_result

Retorno do resultado de execução de ferramenta personalizada

tool_use_id, content

user.define_outcome

Definição do resultado esperado pelo usuário

content

Exemplo de requisição

curl -s -X POST 'https://api.qoder.com.cn/api/v1/forward/sessions/sess_xxx/events' \
  -H "Authorization: Bearer $QODER_PAT" \
  -H "Content-Type: application/json" \
  -d '{
  "events": [
    {
      "type": "user.message",
      "content": [
        {
          "type": "text",
          "text": "Continue the analysis."
        }
      ],
      "file_attachments": []
    }
  ]
}'

Exemplo de resposta

HTTP 200 OK

{
  "data": [
    {
      "id": "evt_xxx",
      "type": "user.message",
      "session_id": "sess_xxx",
      "content": [
        {
          "type": "text",
          "text": "Continue the analysis."
        }
      ],
      "processed_at": "2026-06-22T11:00:00Z"
    }
  ]
}

Campos da resposta

Campo

Tipo

Descrição

data

array

Array de objetos Event criados, filtrados conforme as regras de Forward.

Erros

HTTP

Tipo

Código

Condição

400

invalid_request_error

invalid_event

Tipo ou campos do evento inválidos.

404

not_found_error

session_not_found

Sessão inexistente.

409

conflict_error

session_archived

Sessão arquivada.

409

conflict_error

turn_already_running

Estado atual do turno impede início de novo turno.

404

not_found_error

pending_action_not_found

Nenhuma ação pendente correspondente à confirmação ou resultado da ferramenta.

409

conflict_error

pending_action_already_resolved

Ação pendente já resolvida.

401

authentication_error

authentication_required

PAT inválido ou expirado.

Observações

  • Os tipos permitidos incluem user.message, user.interrupt, user.tool_confirmation, user.tool_result, user.custom_tool_result, user.define_outcome e system.message.

  • Apenas um evento system.message é permitido por requisição, e deve ser o último evento.

  • A resposta não retorna o JSON bruto do evento de runtime.

Veja também