La référence de AWS Partner Central l'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 sur les 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 la 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 Partner Central AI. 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 avec les agents 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, de sorte que vous pouvez poser des questions complémentaires sans répéter le contexte antérieur.
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 seul message (par exemple, texte + pièce jointe).Types de blocs de contenu :
Type Champs Description texttype(obligatoire),text(obligatoire)Texte du message utilisateur envoyé à l'agent documenttype(obligatoire),filename(obligatoire),s3Uri(obligatoire)Pièce jointe à analyser par l'agent. s3UriIl doit inclure unversionIdparamètre.tool_approval_responsetype(obligatoire),toolUseId(obligatoire),decision(obligatoire),message(facultatif)Réponse à une demande d'approbation axée sur l'intervention humaine catalog(obligatoire) — Environnement cible de l'opération.Valeurs valides :
"AWS"(production),"Sandbox"(test)sessionId(facultatif) — UUID v4 identifiant une session existante à poursuivre. Omettez 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 Server-Sent des événements (SSE) pour la fourniture de réponses 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 :
Maximum de 3 fichiers par message
Limite de taille d'image : 3,75 Mo
Limite de taille du document : 4,5 Mo
Extensions autorisées :
docdocx,pdf,png,jpeg,xlsx,csv,txtLes fichiers doivent être 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 une 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) — Remplacez 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 de décision d'approbation :
| Décision | Comportement |
|---|---|
"approve" |
Exécutez 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, revoir 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 la 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_EXCEEDED) : Réessayez avec un retard exponentiel à partir d'une secondePour
-32603(INTERNAL_ERROR) : réessayez jusqu'à 3 fois avec un retard exponentielPour
-32001(AUTHENTICATION_FAILURE) : actualisez les informations d'identification et réessayezPour toutes les autres erreurs : ne réessayez pas automatiquement : vérifiez le message d'erreur et corrigez la demande