Todos os produtos
Search
Central de documentação

Database Autonomy Service:CreateYaoChiAgentConfirm

Última atualização: Nov 03, 2026

Confirma ou rejeita uma operação pendente em uma sessão do agente ApsaraDB do Alibaba Cloud.

Descrição da operação

Esta operação responde a solicitações de confirmação de operação iniciadas pelo assistente de IA do ApsaraDB durante uma sessão. Não é usada para criar sessões.

Fluxo de chamada

  1. Inicie um chat com o assistente de IA do ApsaraDB, salve o ID da sessão para a rodada atual e leia continuamente o fluxo de resposta do chat.

  2. Após receber um evento em que toolName é humanConfirm em ui_function_call, leia o ID de confirmação pendente em argsText.confirmation_id. Use o ID da sessão do evento para SessionId. Não use call_id ou query_id no lugar de ConfirmationId.

  3. Exiba a operação pendente e seus parâmetros para o usuário e envie esta solicitação dentro do limite de tempo de confirmação. Approved=true indica que você concorda em continuar a execução. Approved=false indica que a chamada de ferramenta atual é cancelada, mas a sessão inteira não é encerrada. Omita ToolArgs na versão atual.

  4. Mantenha o fluxo de resposta do chat original aberto e continue lendo as respostas ou erros subsequentes até que a resposta da rodada atual termine. Você também pode chamar DescribeYaoChiAgentChatRecords para consultar as mensagens da sessão salvas posteriormente.

Limites

  • Você deve usar a mesma identidade do chamador e o mesmo ID de sessão que foram usados para iniciar a solicitação de confirmação.

  • O tempo limite de confirmação padrão é de 120 segundos, sujeito à configuração do servidor. A chamada de ferramenta é cancelada automaticamente após um tempo limite. Uma aprovação tardia não pode ser usada para retomar a execução cancelada.

  • Não encerre o fluxo de chat original antes de enviar a confirmação e não inicie uma nova rodada de chat para retomar a chamada de ferramenta. A desconexão do fluxo de chat original pode fazer com que a tarefa atual seja cancelada.

  • Envie uma decisão para o mesmo ConfirmationId apenas uma vez. Não use cartões de confirmação históricos como solicitações reproduzíveis. Se o registro de confirmação for inválido ou limpo, a solicitação poderá retornar Forbidden.Confirm ao ser enviada.

  • Esta operação processa apenas identificadores de confirmação UUID em eventos humanConfirm e não é usada para recuperação de interrupção em outros protocolos de interação.

Experimente agora

Experimente esta API no OpenAPI Explorer, sem necessidade de assinatura manual. Chamadas bem-sucedidas geram automaticamente código SDK correspondente aos seus parâmetros. Faça o download com segurança de credenciais integrada para uso local.

Testar

Autorização RAM

A tabela abaixo descreve a autorização necessária para chamar esta API. Você pode defini-la em uma política do Resource Access Management (RAM). As colunas da tabela estão detalhadas abaixo:

  • Ação: As ações que podem ser usadas no elemento Action das instruções de política de permissão do RAM para conceder permissões para executar a operação.

  • API: A API que você pode chamar para executar a ação.

  • Nível de acesso: O nível de acesso predefinido concedido para cada API. Valores válidos: create, list, get, update e delete.

  • Tipo de recurso: O tipo de recurso que suporta autorização para executar a ação. Indica se a ação suporta permissão em nível de recurso. O recurso especificado deve ser compatível com a ação. Caso contrário, a política será ineficaz.

    • Para APIs com permissões em nível de recurso, os tipos de recursos obrigatórios são marcados com um asterisco (*). Especifique o Nome de Recurso Alibaba Cloud (ARN) correspondente no elemento Resource da política.

    • Para APIs sem permissões em nível de recurso, é exibido como Todos os Recursos. Use um asterisco (*) no elemento Resource da política.

  • Chave de condição: As chaves de condição definidas pelo serviço. A chave permite controle granular, aplicando-se somente a ações ou a ações associadas a recursos específicos. Além das chaves de condição específicas do serviço, o Alibaba Cloud fornece um conjunto de chaves de condição comuns aplicáveis a todos os serviços compatíveis com RAM.

  • Ação dependente: As ações dependentes necessárias para executar a ação. Para concluir a ação, o usuário RAM ou a função RAM deve ter permissões para executar todas as ações dependentes.

Ação

Nível de acesso

Tipo de recurso

Chave de condição

Ação dependente

hdm:CreateYaoChiAgentConfirm

get

*All Resource

*

Nenhuma Nenhuma

Parâmetros da solicitação

Parâmetro

Tipo

Obrigatório

Descrição

Exemplo

ConfirmationId

string

Sim

O identificador exclusivo da operação pendente. Use o confirmation_id retornado pelo evento de confirmação de operação na sessão do agente ApsaraDB. Não o gere você mesmo. O valor é um UUID de 36 caracteres com hifens, no formato xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.

123e4567-e89b-42d3-a456-426614174000

Approved

boolean

Sim

Especifica se a execução da operação pendente deve ser aprovada. Valores válidos:

  • true: Aprovar a execução.

  • false: Rejeitar a execução.

Este parâmetro é obrigatório. Uma rejeição também é uma resposta de confirmação válida e não indica uma falha na chamada de API.

true

SessionId

string

Sim

O ID da sessão do agente ApsaraDB à qual a operação pendente pertence. Deve ser o mesmo SessionId usado ao criar a sessão e iniciar o chat, e deve corresponder à sessão à qual o ConfirmationId pertence. O formato é um UUID de 36 caracteres com hifens.

a1b2c3d4-e5f6-4789-abcd-0123456789ab

ToolArgs

string

Não

Os parâmetros personalizados da ferramenta. O exemplo mostra a estrutura de parâmetros da ferramenta para modificar descrições de instâncias. O ID e a descrição da instância são dessensibilizados e fornecidos apenas para referência de formato. A versão atual não oferece suporte à modificação de parâmetros de ferramenta por meio desta operação. Omita este parâmetro nas chamadas reais e não passe uma string vazia ou uma string JSON. Ao aprovar a execução, os parâmetros originais da ferramenta gerados pelo assistente são usados.

{"db-instance-id":"rm-bp1xxxxxxxxxxxxxx","db-instance-description":"example-description","region":"cn-hangzhou"}

Restrições de parâmetros

  • ConfirmationId, SessionId e Approved são obrigatórios.

  • ConfirmationId e SessionId devem ser UUIDs de 36 caracteres com hifens. Os exemplos são fornecidos apenas para demonstrar o formato. Nas chamadas reais, use o ConfirmationId retornado pelo evento de confirmação e o SessionId real usado para a sessão correspondente.

  • A identidade do chamador é determinada pela autenticação da solicitação. Você não pode especificar outras identidades de usuário por meio de parâmetros de solicitação.

  • A versão atual não oferece suporte a ToolArgs. Omita este parâmetro. Passar uma string vazia ou uma string JSON pode fazer com que a solicitação falhe.

  • O campo approved no evento de confirmação é um status de exibição de string, não o parâmetro booleano Approved desta operação. Passe explicitamente true ou false.

Exemplo de aprovação

A seguir está um exemplo de parâmetros de negócios. Os parâmetros de solicitação comuns são passados de acordo com as especificações de chamada da OpenAPI.

{
  "ConfirmationId": "123e4567-e89b-42d3-a456-426614174000",
  "Approved": true,
  "SessionId": "a1b2c3d4-e5f6-4789-abcd-0123456789ab"
}

Para rejeitar a execução, defina Approved como false e ainda passe o ConfirmationId e o SessionId originais.

Elementos de resposta

Elemento

Tipo

Descrição

Exemplo

object

Esquema da resposta.

RequestId

string

O identificador exclusivo da solicitação, usado para solução de problemas e rastreamento de logs.

B6D17591-B48B-4D31-9CD6-9B9796B23456

Status

string

A string de status. O valor de exemplo success refere-se ao status de sucesso externo da resposta de callback de confirmação downstream e é fornecido apenas para demonstração de formato. Não significa que o campo Status da operação atual realmente retorne este valor. Na versão atual, este campo pode estar vazio ou não ser retornado. Não confie neste campo para determinar se a execução foi aprovada ou se a ferramenta foi executada com sucesso.

success

ConfirmationId

string

O identificador de operação para a confirmação enviada, que é o mesmo que o parâmetro de solicitação ConfirmationId.

123e4567-e89b-42d3-a456-426614174000

Approved

boolean

A decisão de confirmação enviada nesta solicitação, que é a mesma que o parâmetro de solicitação Approved. Um valor true indica que a execução foi aprovada, e false indica que a execução foi rejeitada. Não indica se a operação da ferramenta foi executada com sucesso.

true

ToolArgsReceived

boolean

Especifica se os parâmetros personalizados da ferramenta foram recebidos. Um valor true indica que parâmetros não nulos foram fornecidos, e false indica que nenhum parâmetro foi fornecido. Não indica se os parâmetros foram aplicados ou se a ferramenta foi executada com sucesso. Na versão atual, omita o parâmetro de solicitação ToolArgs, e este campo normalmente retorna false.

false

Uma chamada de API bem-sucedida indica apenas que o serviço processou o callback de confirmação. Não indica que a execução da ferramenta foi concluída ou bem-sucedida. Approved reflete a decisão da solicitação atual e não é o status de execução da ferramenta. O reflexo de uma solicitação repetida ou tardia não prova que a decisão realmente entrou em vigor. Continue lendo os resultados de processamento subsequentes no fluxo de chat original.

Atualmente, Status não possui valores de status válidos e pode estar vazio ou não ser retornado. Não há enumerações confiáveis de sucesso, aceito ou confirmado. Nas chamadas atuais, omita ToolArgs, e ToolArgsReceived normalmente é false.

Exemplo de resposta de sucesso

{
  "RequestId": "B6D17591-B48B-4D31-9CD6-9B9796B23456",
  "ConfirmationId": "123e4567-e89b-42d3-a456-426614174000",
  "Approved": true,
  "ToolArgsReceived": false
}

Rejeitar a execução também é um callback de confirmação bem-sucedido, que retorna Approved=false. O exemplo omite o Status não atribuído.

Erros comuns

Código de status HTTPCódigo de erroDescrição
400InvalidParameters.FormatUm parâmetro obrigatório está ausente, ou o formato do UUID ou o tipo de parâmetro é inválido. Verifique a mensagem retornada e os parâmetros da solicitação.
403Forbidden.ConfirmA identidade do chamador atual ou a sessão não corresponde à solicitação de confirmação, ou o registro de confirmação não existe, é inválido ou foi limpo.
503ServiceUnavailableO serviço está indisponível ou o processamento da solicitação falha. Passar uma string ToolArgs na versão atual também pode acionar este erro. Omita este parâmetro.

Um tempo limite de confirmação é refletido como um resultado de cancelamento no fluxo de chat original e não é um código de erro 408 independente para esta operação.

Exemplos

Resposta de sucesso

JSON formato

{
  "RequestId": "B6D17591-B48B-4D31-9CD6-9B9796B23456",
  "Status": "success",
  "ConfirmationId": "123e4567-e89b-42d3-a456-426614174000",
  "Approved": true,
  "ToolArgsReceived": false
}

Códigos de erro

Consulte Códigos de Erro para uma lista completa.

Notas de versão

Consulte Notas de Versão para uma lista completa.