La référence AWS Partner Central d'API a été restructurée. Pour plus d'informations sur les opérations d'API prises en charge, consultez la référence des AWS Partner Central API.
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Référence des outils
Le serveur MCP Partner Central Agent propose deux outils MCP : sendMessage pour toutes les interactions avec les agents et getSession pour récupérer l'état de session. Toutes les opérations de Partner Central (demandes d'opportunités, demandes de financement, analyse de documents) sont gérées en langage naturel viasendMessage.
Vue d'ensemble des outils
| Outil | Description | Catégorie |
|---|---|---|
sendMessage |
Envoyez des messages à l'agent AI de Partner Central. Prend en charge le texte, les pièces jointes et les réponses d'approbation personnalisées. | Lire/Écrire |
getSession |
Récupérez l'état de la session, y compris l'historique des conversations, les événements et les métadonnées. | Read-only |
Envoyer un message
Outil principal pour toutes les interactions entre les agents de Partner Central AI. Utilisez cet outil pour poser des questions, demander des actions, joindre des documents à des fins d'analyse et répondre aux demandes d'approbation pour les opérations d'écriture.
L'agent gère le contexte de la conversation au cours d'une session, ce qui vous permet de poser des questions de suivi sans répéter le contexte précédent.
Parameters
content(obligatoire) — Tableau de blocs de contenu. Chaque bloc doit inclure untypechamp qui détermine la structure du bloc. Vous pouvez inclure plusieurs blocs dans un même message (par exemple, texte et pièce jointe).Types de blocs de contenu :
Type Champs Description texttype(obligatoire),text(obligatoire)Texte du message de l'utilisateur envoyé à l'agent documenttype(obligatoire),filename(obligatoire),s3Uri(obligatoire)Pièce jointe à analyser par l'agent. Ils s3Uridoivent inclure unversionIdparamètre.tool_approval_responsetype(obligatoire),toolUseId(obligatoire),decision(obligatoire),message(facultatif)Réponse à une demande d'approbation émanant d'un interlocuteur catalog(obligatoire) — Environnement cible pour l'opération.Valeurs valides :
"AWS"(production),"Sandbox"(test)sessionId(facultatif) — UUID v4 identifiant une session existante à poursuivre. Omettre de créer une nouvelle session. Format :session-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.Par défaut : une nouvelle session est créée automatiquement.
stream(facultatif) — Activez le streaming d' Server-Sent événements (SSE) pour une réponse en temps réel.Valeurs valides :
true,falseValeur par défaut :
false
Réponse
La réponse inclut :
| Champ | Description |
|---|---|
sessionId |
Identifiant de session pour les messages de suivi |
status |
État de la réponse : "complete""requires_approval", ou "error" |
content |
Tableau de blocs de contenu de réponse provenant de l'agent |
Exemples
SMS de base (nouvelle session)
Requête :
{ "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" } } }
Réponse :
{ "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 message (session existante)
Requête :
{ "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" } } }
Pièce jointe
Téléchargez d'abord un document sur S3, puis référencez-le dans le message :
{ "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" } } }
Contraintes relatives au téléchargement de fichiers :
3 fichiers maximum par message
Limite de taille d'image : 3,75 Mo
Limite de taille du document : 4,5 Mo
Extensions autorisées :
docdocx,pdf,pngjpeg,xlsx,csv,txtLes fichiers doivent être téléchargés sur
s3://{bucket}/{your-aws-account-id}/L'URI S3 doit inclure le paramètre de
versionIdrequête
Human-in-the-loop flux de travail d'approbation
Lorsque l'agent doit effectuer une opération d'écriture (par exemple, mettre à jour une opportunité, soumettre une demande de financement), il renvoie un "requires_approval" statut avec les détails de l'action proposée. Vous devez répondre par un bloc de tool_approval_response contenu.
Étape 1 — L'agent demande l'approbation :
{ "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" } }
Étape 2 — Approuver l'action :
{ "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" } } }
Étape 2 (alternative) — Rejeter l'action :
{ "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" } } }
Étape 2 (alternative) — Remplacer par une réponse personnalisée :
{ "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" } } }
Valeurs des décisions d'approbation :
| Décision | Comportement |
|---|---|
"approve" |
Exécuter l'outil avec les paramètres proposés |
"reject" |
N'exécutez pas l'outil. Facultatif : message explique pourquoi. |
"override" |
Fournissez une réponse personnalisée ou des instructions modifiées via message |
Streaming avec SSE
Activez le streaming pour recevoir des segments de réponse incrémentiels au fur et à mesure que l'agent traite votre demande :
Requête :
{ "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 } } }
Le serveur répond par un flux d'événements 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: {}
Obtenir une session
Récupérez l'état actuel d'une session de conversation, y compris l'historique complet des conversations, les événements et les métadonnées. Utilisez-le pour inspecter l'état de la session, passer en revue les interactions passées ou reprendre une conversation.
Parameters
sessionId(obligatoire) — UUID de la session à récupérer. Format :session-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.catalog(obligatoire) — Environnement auquel appartient la session.Valeurs valides :
"AWS","Sandbox"
Réponse
| Champ | Type | Description |
|---|---|---|
sessionId |
chaîne | Identifiant de session |
createdAt |
chaîne | Horodatage ISO 8601 de la création de session |
lastActivity |
chaîne | Horodatage ISO 8601 de la dernière activité |
sequenceNumber |
entier | Numéro de séquence de l'événement en cours |
stateType |
chaîne | État de la session en cours |
events |
array | Historique complet des conversations (messages des utilisateurs, réponses des agents, utilisation des outils) |
variables |
objet | Variables de session et métadonnées |
eventCount |
entier | Nombre total d'événements au cours de la session |
Exemple
Requête :
{ "jsonrpc": "2.0", "id": 7, "method": "tools/call", "params": { "name": "getSession", "arguments": { "sessionId": "session-550e8400-e29b-41d4-a716-446655440000", "catalog": "AWS" } } }
Réponse :
{ "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\":{}}" } ] } }
Gestion des erreurs
Toutes les erreurs suivent le format d'erreur 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." } }
Consultez Codes d’erreur la liste complète des codes d'erreur et leur signification.
Stratégie de nouvelle tentative recommandée
Pour
-32004(LIMIT_EXCEDED) : réessayez avec un recul exponentiel commençant à 1 secondePour
-32603(INTERNAL_ERROR) : Réessayez jusqu'à 3 fois avec un recul exponentielPour
-32001(AUTHENTICATION_FAILURE) : actualisez les informations d'identification et réessayezPour toutes les autres erreurs : ne réessayez pas automatiquement, examinez le message d'erreur et corrigez la demande