A referência AWS Partner Central da API foi reestruturada. Para obter mais informações sobre as operações de API suportadas, consulte a Referência AWS Partner Central da API.
As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Referência de ferramentas
O Partner Central Agent MCP Server expõe duas ferramentas MCP: sendMessage para todas as interações do agente e getSession para recuperar o estado da sessão. Todas as operações do Partner Central — consultas de oportunidades, solicitações de financiamento, análise de documentos — são tratadas em linguagem natural por meio de. sendMessage
Visão geral das ferramentas
| Ferramenta | Description | Categoria |
|---|---|---|
sendMessage |
Envie mensagens para o agente de IA do Partner Central. Oferece suporte a texto, anexos de arquivos e respostas de aprovação humanas. | Leitura/Gravação |
getSession |
Recupere o estado da sessão, incluindo histórico de conversas, eventos e metadados. | Read-only |
Enviar mensagem
Ferramenta principal para todas as interações com agentes de IA do Partner Central. Use essa ferramenta para fazer perguntas, solicitar ações, anexar documentos para análise e responder às solicitações de aprovação para operações de gravação.
O agente mantém o contexto da conversa em uma sessão, para que você possa fazer perguntas complementares sem repetir o contexto anterior.
Parâmetros
content(obrigatório) — Matriz de blocos de conteúdo. Cada bloco deve incluir umtypecampo que determine a estrutura do bloco. Você pode incluir vários blocos em uma única mensagem (por exemplo, texto + anexo de documento).Tipos de blocos de conteúdo:
Tipo Campos Description texttype(obrigatório),text(obrigatório)Texto da mensagem do usuário enviado ao agente documenttype(obrigatório),filename(obrigatório),s3Uri(obrigatório)Anexo de arquivo para o agente analisar. s3UriÉ necessário incluir umversionIdparâmetro.tool_approval_responsetype(obrigatório),toolUseId(obrigatório),decision(obrigatório),message(opcional)Resposta a uma solicitação de aprovação feita por humanos catalog(obrigatório) — Ambiente de destino para a operação.Valores válidos:
"AWS"(produção),"Sandbox"(teste)sessionId(opcional) — UUID v4 identificando uma sessão existente para continuar. Omita a criação de uma nova sessão. Formato:session-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.Padrão: uma nova sessão é criada automaticamente.
stream(opcional) — Ative o streaming de Server-Sent eventos (SSE) para entrega de respostas em tempo real.Valores válidos:
true,falsePadrão:
false
Resposta
A resposta inclui:
| Campo | Description |
|---|---|
sessionId |
Identificador de sessão para mensagens de acompanhamento |
status |
Status da resposta:"complete","requires_approval", ou "error" |
content |
Conjunto de blocos de conteúdo de resposta do agente |
Exemplos
Mensagem de texto básica (nova sessão)
Solicitação:
{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "sendMessage", "arguments": { "content": [ { "type": "text", "text": "List my open opportunities with expected close date in Q1 2026" } ], "catalog": "AWS" } } }
Resposta:
{ "jsonrpc": "2.0", "id": 1, "result": { "content": [ { "type": "text", "text": "I found 12 open opportunities with expected close dates in Q1 2026. Here's a summary:\n\n1. **O1234567890** - Acme Corp Cloud Migration - $250,000 - Qualified stage\n2. **O1234567891** - GlobalTech Data Analytics - $180,000 - Prospect stage\n..." } ], "sessionId": "session-550e8400-e29b-41d4-a716-446655440000", "status": "complete" } }
Follow-up mensagem (sessão existente)
Solicitação:
{ "jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": { "name": "sendMessage", "arguments": { "sessionId": "session-550e8400-e29b-41d4-a716-446655440000", "content": [ { "type": "text", "text": "Tell me more about O1234567890. Is it ready for submission?" } ], "catalog": "AWS" } } }
Anexo de arquivo
Faça o upload de um documento para o S3 primeiro e, em seguida, faça referência a ele na mensagem:
{ "jsonrpc": "2.0", "id": 3, "method": "tools/call", "params": { "name": "sendMessage", "arguments": { "sessionId": "session-550e8400-e29b-41d4-a716-446655440000", "content": [ { "type": "text", "text": "Review this customer proposal and suggest which opportunity it aligns with" }, { "type": "document", "filename": "acme-proposal.pdf", "s3Uri": "s3://aws-partner-central-marketplace-ephemeral-writeonly-files/123456789012/acme-proposal.pdf?versionId=abc123def456" } ], "catalog": "AWS" } } }
Restrições de upload de arquivos:
Máximo de 3 arquivos por mensagem
Limite de tamanho da imagem: 3,75 MB
Limite de tamanho do documento: 4,5 MB
Extensões permitidas:
docdocx,pdf,png,,jpeg,xlsx,csv,txtOs arquivos devem ser enviados para
s3://{bucket}/{your-aws-account-id}/O URI do S3 deve incluir o parâmetro de
versionIdconsulta
Human-in-the-loop fluxo de trabalho de aprovação
Quando o agente precisa realizar uma operação de gravação (por exemplo, atualizar uma oportunidade, enviar uma solicitação de financiamento), ele retorna um "requires_approval" status com os detalhes da ação proposta. Você deve responder com um bloco tool_approval_response de conteúdo.
Etapa 1 — O agente solicita aprovação:
{ "jsonrpc": "2.0", "id": 4, "result": { "content": [ { "type": "text", "text": "I'd like to update opportunity O1234567890 with the following changes:\n- Target close date: 2026-03-31\n- Expected revenue: $300,000\n- Stage: Qualified\n\nPlease approve, reject, or override this action." }, { "type": "tool_approval_request", "toolUseId": "tool-use-98765", "toolName": "update_opportunity_enhanced", "parameters": { "opportunityId": "O1234567890", "targetCloseDate": "2026-03-31", "expectedRevenue": 300000, "stage": "Qualified" } } ], "sessionId": "session-550e8400-e29b-41d4-a716-446655440000", "status": "requires_approval" } }
Etapa 2 — Aprovar a ação:
{ "jsonrpc": "2.0", "id": 5, "method": "tools/call", "params": { "name": "sendMessage", "arguments": { "sessionId": "session-550e8400-e29b-41d4-a716-446655440000", "content": [ { "type": "tool_approval_response", "toolUseId": "tool-use-98765", "decision": "approve" } ], "catalog": "AWS" } } }
Etapa 2 (alternativa) — Rejeite a ação:
{ "jsonrpc": "2.0", "id": 5, "method": "tools/call", "params": { "name": "sendMessage", "arguments": { "sessionId": "session-550e8400-e29b-41d4-a716-446655440000", "content": [ { "type": "tool_approval_response", "toolUseId": "tool-use-98765", "decision": "reject", "message": "The expected revenue should be $250,000, not $300,000" } ], "catalog": "AWS" } } }
Etapa 2 (alternativa) — Substituir por uma resposta personalizada:
{ "jsonrpc": "2.0", "id": 5, "method": "tools/call", "params": { "name": "sendMessage", "arguments": { "sessionId": "session-550e8400-e29b-41d4-a716-446655440000", "content": [ { "type": "tool_approval_response", "toolUseId": "tool-use-98765", "decision": "override", "message": "Use expected revenue of $250,000 and keep the stage as Prospect instead" } ], "catalog": "AWS" } } }
Valores da decisão de aprovação:
| Decisão | Comportamento |
|---|---|
"approve" |
Execute a ferramenta com os parâmetros propostos |
"reject" |
Não execute a ferramenta. Opcional message explica o porquê. |
"override" |
Forneça uma resposta personalizada ou instruções modificadas via message |
Streaming com SSE
Ative o streaming para receber fragmentos de respostas incrementais à medida que o agente processa sua solicitação:
Solicitação:
{ "jsonrpc": "2.0", "id": 6, "method": "tools/call", "params": { "name": "sendMessage", "arguments": { "sessionId": "session-550e8400-e29b-41d4-a716-446655440000", "content": [ { "type": "text", "text": "Analyze my pipeline and identify opportunities at risk" } ], "catalog": "AWS", "stream": true } } }
O servidor responde com um fluxo de eventos SSE:
event: stream_start data: {"sessionId": "session-550e8400-e29b-41d4-a716-446655440000"} event: assistant-response.start data: {} event: server-tool-use data: {"toolName": "analyze_pipeline", "parameters": {}} event: server-tool-response data: {"toolName": "analyze_pipeline", "result": {"opportunitiesAnalyzed": 47, "atRisk": 5}} event: assistant-response.delta data: {"text": "I analyzed your pipeline of 47 opportunities and identified "} event: assistant-response.delta data: {"text": "5 that are at risk of slipping:\n\n"} event: assistant-response.delta data: {"text": "1. **O2345678901** - Close date is past due by 15 days\n"} event: assistant-response.completed data: {"status": "complete"} event: stream_end data: {}
Obter sessão
Recupere o estado atual de uma sessão de conversação, incluindo histórico completo de conversas, eventos e metadados. Use isso para inspecionar o estado da sessão, analisar interações passadas ou retomar uma conversa.
Parâmetros
sessionId(obrigatório) — UUID da sessão a ser recuperada. Formato:session-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.catalog(obrigatório) — Ambiente ao qual a sessão pertence.Valores válidos:
"AWS","Sandbox"
Resposta
| Campo | Tipo | Description |
|---|---|---|
sessionId |
string | Identificador da sessão |
createdAt |
string | Registro de data e hora ISO 8601 da criação da sessão |
lastActivity |
string | Registro de data e hora ISO 8601 da última atividade |
sequenceNumber |
integer | Número de sequência do evento atual |
stateType |
string | Estado atual da sessão |
events |
array | Histórico completo de conversas (mensagens de usuários, respostas de agentes, usos de ferramentas) |
variables |
objeto | Variáveis de sessão e metadados |
eventCount |
integer | Número total de eventos na sessão |
Exemplo
Solicitação:
{ "jsonrpc": "2.0", "id": 7, "method": "tools/call", "params": { "name": "getSession", "arguments": { "sessionId": "session-550e8400-e29b-41d4-a716-446655440000", "catalog": "AWS" } } }
Resposta:
{ "jsonrpc": "2.0", "id": 7, "result": { "content": [ { "type": "text", "text": "{\"sessionId\":\"session-550e8400-e29b-41d4-a716-446655440000\",\"createdAt\":\"2026-01-15T10:30:00Z\",\"lastActivity\":\"2026-01-15T11:45:00Z\",\"sequenceNumber\":8,\"stateType\":\"END_TURN\",\"eventCount\":8,\"events\":[...],\"variables\":{}}" } ] } }
Tratamento de erros
Todos os erros seguem o formato de erro JSON-RPC 2.0:
{ "jsonrpc": "2.0", "id": 1, "error": { "code": -32001, "message": "Authentication failed. Verify your SigV4 credentials and ensure they have not expired." } }
Consulte Códigos de erro a lista completa dos códigos de erro e seus significados.
Estratégia de nova tentativa recomendada
Para
-32004(LIMIT_EXCEEDED): tente novamente com recuo exponencial a partir de 1 segundoPara
-32603(INTERNAL_ERROR): tente novamente até 3 vezes com recuo exponencialPara
-32001(AUTHENTICATION_FAILURE): atualize as credenciais e tente novamentePara todos os outros erros: não tente novamente automaticamente — inspecione a mensagem de erro e corrija a solicitação