Referensi Pusat Partner AWS API direstrukturisasi. Untuk informasi selengkapnya tentang operasi API yang didukung, lihat Refer Pusat Partner AWS ensi API.
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Referensi Alat
Server MCP Agen Pusat Partner mengekspos dua alat MCP: sendMessage untuk semua interaksi agen, dan getSession untuk mengambil status sesi. Semua operasi Pusat Mitra — pertanyaan peluang, aplikasi pendanaan, analisis dokumen — ditangani melalui bahasa alami melaluisendMessage.
Ikhtisar alat
| Alat | Deskripsi | Kategori |
|---|---|---|
sendMessage |
Kirim pesan ke agen Partner Central AI. Mendukung teks, lampiran file, dan respons persetujuan manusia-in-the-loop. | Baca/Tulis |
getSession |
Ambil status sesi termasuk riwayat percakapan, peristiwa, dan metadata. | Read-only |
KirimPesan
Alat utama untuk semua interaksi agen AI Mitra Pusat. 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 (misalnya, teks + lampiran dokumen).Jenis blok konten:
Tipe Bidang Deskripsi texttype(wajib),text(wajib)Teks pesan pengguna dikirim ke agen documenttype(wajib),filename(wajib),s3Uri(wajib)Lampiran file untuk dianalisis oleh agen. Harus s3UrimenyertakanversionIdparameter.tool_approval_responsetype(wajib),toolUseId(wajib),decision(wajib),message(opsional)Menanggapi 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. Hilangkan untuk membuat sesi baru. Format:session-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.Default: Sesi baru dibuat secara otomatis.
stream(opsional) — Aktif Server-Sent kan streaming Acara (SSE) untuk pengiriman respons real-time.Nilai valid:
true,falseDefault:
false
Respons
Respons meliputi:
| Bidang | Deskripsi |
|---|---|
sessionId |
Pengidentifikasi 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 dalam 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:
docdocxpdf,png,,jpeg,xlsx,csv,txtFile harus diunggah ke
s3://{bucket}/{your-aws-account-id}/URI S3 harus menyertakan parameter
versionIdquery
Human-in-the-loop alur kerja persetujuan
Ketika agen perlu melakukan operasi penulisan (misalnya, memperbarui peluang, mengirimkan aplikasi pendanaan), ia mengembalikan "requires_approval" status dengan detail 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 - Setujui 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 mengeksekusi alat. Opsional message menjelaskan alasannya. |
"override" |
Berikan respons khusus atau instruksi yang dimodifikasi melalui message |
Streaming dengan SSE
Aktifkan streaming untuk menerima potongan respons inkremental 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: {}
Dapatkan Sesi
Ambil status sesi percakapan saat ini, termasuk riwayat percakapan lengkap, peristiwa, dan metadata. Gunakan ini untuk memeriksa status sesi, meninjau interaksi sebelumnya, atau melanjutkan percakapan.
Parameter
sessionId(wajib) — UUID sesi yang akan diambil. Format:session-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.catalog(wajib) — Lingkungan tempat sesi berada.Nilai valid:
"AWS","Sandbox"
Respons
| Bidang | Tipe | Deskripsi |
|---|---|---|
sessionId |
string | Pengidentifikasi sesi |
createdAt |
string | Stempel waktu ISO 8601 pembuatan sesi |
lastActivity |
string | Stempel waktu ISO 8601 aktivitas terakhir |
sequenceNumber |
integer | Nomor urutan acara 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 ulang yang disarankan
Untuk
-32004(LIMIT_EXCEEDED): Coba lagi dengan mundur eksponensial mulai dari 1 detikUntuk
-32603(INTERNAL_ERROR): Coba lagi hingga 3 kali dengan mundur eksponensialUntuk
-32001(AUTHENTICATION_FAILURE): Segarkan kredenSIAL dan coba lagiUntuk semua kesalahan lainnya: Jangan coba lagi secara otomatis - periksa pesan kesalahan dan perbaiki permintaan