Referensi AWS Partner Central API direstrukturisasi. Untuk informasi selengkapnya tentang operasi API yang didukung, lihat Referensi AWS Partner Central API.
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Alat Referensi
Server MCP Agen Pusat Mitra mengekspos dua alat MCP: sendMessage untuk semua interaksi agen, dan getSession untuk mengambil status sesi. Semua operasi Partner Central - pertanyaan peluang, aplikasi pendanaan, analisis dokumen - ditangani melalui bahasa alami melalui. sendMessage
Ikhtisar alat
| Alat | Deskripsi | Kategori |
|---|---|---|
sendMessage |
Kirim pesan ke agen AI Pusat Mitra. Mendukung teks, lampiran file, dan tanggapan persetujuan manusia-in-the-loop. | Membaca/Menulis |
getSession |
Ambil status sesi termasuk riwayat percakapan, peristiwa, dan metadata. | Read-only |
SendMessage
Alat utama untuk semua interaksi agen AI Pusat Mitra. Gunakan alat ini untuk mengajukan pertanyaan, meminta tindakan, melampirkan dokumen untuk analisis, dan menanggapi permintaan persetujuan untuk operasi penulisan.
Agen mempertahankan konteks percakapan dalam sesi, sehingga Anda dapat mengajukan pertanyaan lanjutan tanpa mengulangi konteks sebelumnya.
Parameter
content(wajib) - Array blok konten. Setiap blok harus menyertakantypebidang yang menentukan struktur blok. Anda dapat menyertakan beberapa blok dalam satu pesan (mis., Teks+lampiran dokumen).Jenis blok konten:
Tipe Bidang Deskripsi texttype(diperlukan),text(wajib)Teks pesan pengguna dikirim ke agen documenttype(wajib),filename(wajib),s3Uri(wajib)Lampiran file untuk agen untuk dianalisis. s3UriHarus menyertakanversionIdparameter.tool_approval_responsetype(wajib),toolUseId(wajib),decision(wajib),message(opsional)Tanggapan terhadap permintaan persetujuan manusia-in-the-loop catalog(wajib) - Lingkungan target untuk operasi.Nilai yang valid:
"AWS"(produksi),"Sandbox"(pengujian)sessionId(opsional) - UUID v4 mengidentifikasi sesi yang ada untuk melanjutkan. Abaikan untuk membuat sesi baru. Format:session-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.Default: Sesi baru dibuat secara otomatis.
stream(opsional) - Aktifkan streaming Server-Sent Acara (SSE) untuk pengiriman respons waktu nyata.Nilai valid:
true,falseDefault:
false
Respons
Respons meliputi:
| Bidang | Deskripsi |
|---|---|
sessionId |
Pengenal sesi untuk pesan tindak lanjut |
status |
Status respons:"complete","requires_approval", atau "error" |
content |
Array blok konten respons dari agen |
Contoh
Pesan teks dasar (sesi baru)
Permintaan:
{ "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" } } }
Respons:
{ "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 pesan (sesi yang ada)
Permintaan:
{ "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" } } }
Lampiran file
Unggah dokumen ke S3 terlebih dahulu, lalu referensikan di pesan:
{ "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" } } }
Kendala unggahan file:
Maksimal 3 file per pesan
Batas ukuran gambar: 3,75 MB
Batas ukuran dokumen: 4,5 MB
Ekstensi yang diizinkan:
docdocx,pdf,png,,jpeg,xlsx,csv,txtFile harus diunggah ke
s3://{bucket}/{your-aws-account-id}/URI S3 harus menyertakan
versionIdparameter kueri
Human-in-the-loop alur kerja persetujuan
Ketika agen perlu melakukan operasi tulis (misalnya, memperbarui peluang, mengirimkan aplikasi pendanaan), ia mengembalikan "requires_approval" status dengan rincian tindakan yang diusulkan. Anda harus merespons dengan blok tool_approval_response konten.
Langkah 1 — Agen meminta persetujuan:
{ "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" } }
Langkah 2 — Menyetujui tindakan:
{ "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" } } }
Langkah 2 (alternatif) — Tolak tindakan:
{ "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" } } }
Langkah 2 (alternatif) - Ganti dengan respons khusus:
{ "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" } } }
Nilai keputusan persetujuan:
| Keputusan | Perilaku |
|---|---|
"approve" |
Jalankan alat dengan parameter yang diusulkan |
"reject" |
Jangan jalankan alat. Opsional message menjelaskan alasannya. |
"override" |
Berikan respons khusus atau instruksi yang dimodifikasi melalui message |
Streaming dengan SSE
Aktifkan streaming untuk menerima potongan respons tambahan saat agen memproses permintaan Anda:
Permintaan:
{ "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 } } }
Server merespons dengan aliran peristiwa 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: {}
GetSession
Ambil status sesi percakapan saat ini, termasuk riwayat percakapan lengkap, peristiwa, dan metadata. Gunakan ini untuk memeriksa status sesi, meninjau interaksi masa lalu, atau melanjutkan percakapan.
Parameter
sessionId(wajib) — UUID sesi untuk mengambil. Format:session-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.catalog(wajib) — Lingkungan tempat sesi tersebut dimiliki.Nilai valid:
"AWS","Sandbox"
Respons
| Bidang | Tipe | Deskripsi |
|---|---|---|
sessionId |
string | Pengidentifikasi sesi |
createdAt |
string | Stempel waktu pembuatan sesi ISO 8601 |
lastActivity |
string | Stempel waktu ISO 8601 dari aktivitas terakhir |
sequenceNumber |
integer | Nomor urutan peristiwa saat ini |
stateType |
string | Status sesi saat ini |
events |
array | Riwayat percakapan lengkap (pesan pengguna, tanggapan agen, penggunaan alat) |
variables |
object | Variabel sesi dan metadata |
eventCount |
integer | Jumlah total acara dalam sesi |
Contoh
Permintaan:
{ "jsonrpc": "2.0", "id": 7, "method": "tools/call", "params": { "name": "getSession", "arguments": { "sessionId": "session-550e8400-e29b-41d4-a716-446655440000", "catalog": "AWS" } } }
Respons:
{ "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\":{}}" } ] } }
Penanganan kesalahan
Semua kesalahan mengikuti format kesalahan 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." } }
Lihat Kode eror daftar lengkap kode kesalahan dan artinya.
Strategi coba lagi yang disarankan
Untuk
-32004(LIMIT_EXCEEDED): Coba lagi dengan backoff eksponensial mulai dari 1 detikUntuk
-32603(INTERNAL_ERROR): Coba lagi hingga 3 kali dengan backoff eksponensialUntuk
-32001(AUTHENTICATION_FAILURE): Segarkan kredensi dan coba lagiUntuk semua kesalahan lainnya: Jangan coba lagi secara otomatis - periksa pesan kesalahan dan perbaiki permintaan