View a markdown version of this page

Alat Referensi - AWS Pusat Partner

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 menyertakan type bidang yang menentukan struktur blok. Anda dapat menyertakan beberapa blok dalam satu pesan (mis., Teks+lampiran dokumen).

    Jenis blok konten:

    Tipe Bidang Deskripsi
    text type(diperlukan), text (wajib) Teks pesan pengguna dikirim ke agen
    document type(wajib), filename (wajib), s3Uri (wajib) Lampiran file untuk agen untuk dianalisis. s3UriHarus menyertakan versionId parameter.
    tool_approval_response type(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, false

    Default: 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, txt

  • File harus diunggah ke s3://{bucket}/{your-aws-account-id}/

  • URI S3 harus menyertakan versionId parameter 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 detik

  • Untuk -32603 (INTERNAL_ERROR): Coba lagi hingga 3 kali dengan backoff eksponensial

  • Untuk -32001 (AUTHENTICATION_FAILURE): Segarkan kredensi dan coba lagi

  • Untuk semua kesalahan lainnya: Jangan coba lagi secara otomatis - periksa pesan kesalahan dan perbaiki permintaan