A2A串流訊息發送。
調試
您可以在OpenAPI Explorer中直接運行該介面,免去您計算簽名的困擾。運行成功後,OpenAPI Explorer可以自動產生SDK程式碼範例。
調試
授權資訊
|
操作 |
存取層級 |
資源類型 |
條件關鍵字 |
關聯操作 |
|
nis:SendNapalStreamMessage |
create |
*全部資源。
|
無 | 無 |
請求文法
POST /open/a2a/message/stream HTTP/1.1
請求參數
|
名稱 |
類型 |
必填 |
描述 |
樣本值 |
| Message |
object |
否 |
訊息主體物件,包含使用者輸入內容及對話上下文資訊。 |
|
| ContextId |
string |
否 |
對話上下文 ID。首次對話不傳,伺服器端會建立新對話;多輪對話需傳入上一次回應中的 contextId 以保持上下文連續。 |
context-xxx |
| Extensions |
array |
否 |
擴充資訊列表。 |
|
|
string |
否 |
擴充資訊。 |
trace |
|
| MessageId |
string |
否 |
訊息 ID,未傳則伺服器端自動產生。 |
m_msijl2sv_pcfge8r7l |
| Metadata |
object |
否 |
擴充中繼資料,用於傳遞額外上下文資訊。 |
{} |
| Parts |
array<object> |
否 |
訊息內容分片列表,支援多個 Part。 |
|
|
object |
否 |
訊息內容分片物件。 |
||
| Data |
any |
否 |
結構化資料,用於傳遞 JSON 格式的結構化內容。 |
{"key":"value"} |
| Filename |
string |
否 |
檔案名稱。 |
report.txt |
| MediaType |
string |
否 |
媒體類型。 |
application/json |
| Raw |
string |
否 |
原始內容,用於傳遞非文字資料。 |
cmVzZXJ2ZWQ= |
| Text |
string |
否 |
文字內容。使用者輸入的自然語言指令,如診斷請求、問題諮詢等。 |
診斷一下這個執行個體ngw-xxx |
| Url |
string |
否 |
檔案 URL,用於傳遞檔案類內容。 |
https://example.com/file.txt |
| ReferenceTaskIds |
array |
否 |
引用的歷史任務 ID 列表,用於上下文關聯。 |
|
|
string |
否 |
保留欄位,目前介面暫不回傳。 |
task-reserved |
|
| Role |
string |
否 |
訊息角色。 |
user |
| TaskId |
string |
否 |
任務 ID。續聊情境傳入上一次任務的 ID。 |
task-xxx |
| Metadata |
object |
否 |
請求附加資訊。 |
|
|
string |
否 |
節點中繼資料。 |
{"tenantId":"t-10001"} |
|
| Configuration |
object |
否 |
請求組態物件。 |
|
| AcceptedOutputModes |
array |
否 |
接受的輸出模式。預設 ["text/event-stream"],表示接受 SSE 串流回應。 |
|
|
string |
否 |
輸出模式。 |
text/event-stream |
|
| HistoryLength |
integer |
否 |
歷史訊息長度。控制多輪對話時攜帶的歷史訊息數量,預設 20。 |
20 |
| ReturnImmediately |
boolean |
否 |
是否立即回傳。false(預設)表示串流回傳,true 表示立即回傳任務 ID 後非同步處理。 |
false |
返回參數
|
名稱 |
類型 |
描述 |
樣本值 |
|
object |
|||
| Message |
object |
該欄位與 Task、TaskStatusUpdate、TaskArtifactUpdate 互斥;回傳該欄位時不建立任務,串流在傳送一則 Message 後關閉。當前介面暫不回傳該類型,僅用於預留以協定相容。 |
|
| ContextId |
string |
會話上下文 ID。 |
context-07b0**bcc2 |
| Extensions |
array |
保留欄位,目前介面暫不回傳。 |
|
|
string |
保留欄位,目前介面暫不回傳。 |
reserved |
|
| MessageId |
string |
訊息 ID。 |
message-fd6e**9949 |
| Metadata |
object |
保留欄位,目前介面暫不回傳。 |
{} |
| Parts |
array<object> |
訊息內容分片清單。 |
|
|
object |
訊息內容分片物件。 |
||
| Data |
any |
保留欄位,目前介面暫不回傳。 |
{} |
| Filename |
string |
保留欄位,目前介面暫不回傳。 |
reserved.bin |
| MediaType |
string |
保留欄位,目前介面暫不回傳。 |
application/octet-stream |
| Raw |
string |
保留欄位,目前介面暫不回傳。 |
cmVzZXJ2ZWQ= |
| Text |
string |
文字內容。 |
當前執行個體運行正常 |
| Url |
string |
保留欄位,目前介面暫不回傳。 |
https://example.com/reserved.bin |
| ReferenceTaskIds |
array |
保留欄位,目前介面暫不回傳。 |
|
|
string |
保留欄位,目前介面暫不回傳。 |
task-reserved |
|
| Role |
string |
訊息角色。 |
agent |
| TaskId |
string |
保留欄位。直接回傳 Message 不建立任務,因此該欄位為空;當前介面暫不回傳頂層 Message。 |
task-reserved |
| RequestId |
string |
請求 ID。 |
A7F0D6EC-E19E-58AC-AC9F-08036763960F |
| Task |
object |
任務資訊。 |
|
| Artifacts |
array<object> |
任務產出物清單。 |
|
|
array<object> |
任務產出物物件。 |
||
| ArtifactId |
string |
產出物唯一識別碼。 |
output |
| Description |
string |
產出物描述。 |
執行個體健康巡檢結果 |
| Extensions |
array |
保留欄位,目前介面暫不回傳。 |
|
|
string |
保留欄位,目前介面暫不回傳。 |
reserved |
|
| Metadata |
object |
保留欄位,目前介面暫不回傳。 |
{} |
| Name |
string |
產出物名稱。 |
巡檢報告 |
| Parts |
array<object> |
內容分片清單。 |
|
|
object |
內容分片物件。 |
||
| Data |
any |
保留欄位,目前介面暫不回傳。 |
{} |
| Filename |
string |
保留欄位,目前介面暫不回傳。 |
reserved.bin |
| MediaType |
string |
保留欄位,目前介面暫不回傳。 |
application/octet-stream |
| Raw |
string |
保留欄位,目前介面暫不回傳。 |
cmVzZXJ2ZWQ= |
| Text |
string |
報告文字片段。 |
診斷結果 |
| Url |
string |
保留欄位,目前介面暫不回傳。 |
https://example.com/reserved.bin |
| ContextId |
string |
會話上下文 ID。用於多輪對話保持上下文連續。 |
context-07b0**bcc2 |
| History |
array<object> |
歷史訊息清單。 |
|
|
array<object> |
歷史訊息。 |
||
| ContextId |
string |
會話上下文 ID。 |
context-07b0**bcc2 |
| Extensions |
array |
保留欄位,目前介面暫不回傳。 |
|
|
string |
保留欄位,目前介面暫不回傳。 |
reserved |
|
| MessageId |
string |
訊息 ID。 |
message-fd6e**9949 |
| Metadata |
object |
保留欄位,目前介面暫不回傳。 |
{} |
| Parts |
array<object> |
訊息內容分片清單。 |
|
|
object |
訊息內容分片物件。 |
||
| Data |
any |
保留欄位,目前介面暫不回傳。 |
{} |
| Filename |
string |
保留欄位,目前介面暫不回傳。 |
reserved.bin |
| MediaType |
string |
保留欄位,目前介面暫不回傳。 |
application/octet-stream |
| Raw |
string |
保留欄位,目前介面暫不回傳。 |
cmVzZXJ2ZWQ= |
| Text |
string |
文字內容。 |
診斷一下這個執行個體ngw-xxx |
| Url |
string |
保留欄位,目前介面暫不回傳。 |
https://example.com/reserved.bin |
| ReferenceTaskIds |
array |
保留欄位,目前介面暫不回傳。 |
|
|
string |
保留欄位,目前介面暫不回傳。 |
task-reserved |
|
| Role |
string |
訊息角色。 |
user |
| TaskId |
string |
任務 ID。 |
task-38cZ**MAVKu |
| Id |
string |
任務 ID。 |
task-38cZ**MAVKu |
| Metadata |
object |
擴充中繼資料,用於傳遞額外上下文資訊。 |
{"usage":"{totalTokens=327672}"} |
| Status |
object |
任務狀態物件。 |
|
| Message |
object |
A2A 協定定義的訊息物件,包含傳送方角色、一或多個內容分片,以及可選的會話和任務上下文。作為頂層回傳欄位時,表示智能體直接回覆,與 Task、TaskStatusUpdate、TaskArtifactUpdate 互斥;回傳後串流立即關閉。作為 Status.Message 時,表示與任務狀態關聯的說明訊息。當前介面暫不回傳頂層 Message,僅用於協定相容。 |
|
| MessageId |
string |
訊息 ID。 |
message-fd6e**9949 |
| Parts |
array<object> |
訊息內容分片清單。 |
|
|
object |
訊息內容分片物件。 |
||
| Data |
any |
保留欄位,目前介面暫不回傳。 |
{} |
| Filename |
string |
保留欄位,目前介面暫不回傳。 |
reserved.bin |
| MediaType |
string |
保留欄位,目前介面暫不回傳。 |
application/octet-stream |
| Raw |
string |
保留欄位,目前介面暫不回傳。 |
cmVzZXJ2ZWQ= |
| Text |
string |
文字內容。使用者輸入的自然語言指令,如診斷請求、問題諮詢等。 |
當前執行個體運行正常 |
| Url |
string |
保留欄位,目前介面暫不回傳。 |
https://example.com/reserved.bin |
| Role |
string |
訊息角色。 |
agent |
| State |
string |
任務狀態。可選值:TASK_STATE_SUBMITTED(已提交)、TASK_STATE_WORKING(執行中)、TASK_STATE_COMPLETED(已完成)、TASK_STATE_FAILED(已失敗)。 |
TASK_STATE_SUBMITTED |
| Timestamp |
string |
狀態時間戳記(ISO 8601 格式)。 |
2026-08-07T06:08:10Z |
| TaskArtifactUpdate |
object |
任務產出更新物件。 |
|
| Append |
boolean |
是否為追加內容。 |
true |
| Artifact |
object |
產出物物件。 |
|
| ArtifactId |
string |
產出物唯一識別碼。 |
output |
| Description |
string |
產出物描述。 |
巡檢詳細報告 |
| Extensions |
array |
保留欄位,目前介面暫不回傳。 |
|
|
string |
保留欄位,目前介面暫不回傳。 |
reserved |
|
| Metadata |
object |
保留欄位,目前介面暫不回傳。 |
{} |
| Name |
string |
產出物名稱。 |
巡檢報告 |
| Parts |
array<object> |
內容分片清單。 |
|
|
array<object> |
內容分片物件。 |
||
| Data |
any |
保留欄位,目前介面暫不回傳。 |
{} |
| Filename |
string |
保留欄位,目前介面暫不回傳。 |
reserved.bin |
| MediaType |
string |
保留欄位,目前介面暫不回傳。 |
application/octet-stream |
| Metadata |
object |
Metadata |
|
| Thought |
boolean |
是否為思考過程。 |
|
| Raw |
string |
保留欄位,目前介面暫不回傳。 |
cmVzZXJ2ZWQ= |
| Text |
string |
報告文字片段。 |
執行個體狀態正常 |
| Url |
string |
保留欄位,目前介面暫不回傳。 |
https://example.com/reserved.bin |
| ContextId |
string |
會話上下文 ID。 |
context-07b0**bcc2 |
| LastChunk |
boolean |
是否為最後一塊。 |
false |
| TaskId |
string |
任務 ID。 |
task-38cZ**MAVKu |
| TaskStatusUpdate |
object |
任務狀態更新物件。 |
|
| ContextId |
string |
會話上下文 ID。 |
context-07b0**bcc2 |
| Final |
boolean |
是否為終態事件。true 表示任務已結束(完成或失敗),此後不再推送事件。 |
false |
| Metadata |
object |
中繼資料物件,包含步驟執行資訊。 |
|
| Step |
object |
步驟執行資訊。 |
|
| CostTime |
integer |
步驟執行耗時,單位毫秒 ms。 |
203 |
| Id |
string |
步驟唯一識別碼。 |
30688 |
| IsError |
boolean |
步驟是否執行出錯。 |
false |
| Name |
string |
步驟名稱。 |
load_skill |
| Params |
any |
步驟輸入參數。 |
{"skill_id":"239"} |
| Result |
any |
步驟執行結果。 |
success |
| RetryCount |
integer |
重試次數。 |
1 |
| UiContent |
string |
前端展示內容。 |
load_skill |
| Status |
object |
任務狀態物件。 |
|
| Message |
object |
訊息主體物件。 |
|
| MessageId |
string |
訊息 ID。 |
message-fd6e**9949 |
| Parts |
array<object> |
訊息內容分片清單。 |
|
|
object |
訊息內容分片物件。 |
||
| Data |
any |
保留欄位,目前介面暫不回傳。 |
{} |
| Filename |
string |
保留欄位,目前介面暫不回傳。 |
reserved.bin |
| MediaType |
string |
保留欄位,目前介面暫不回傳。 |
application/octet-stream |
| Raw |
string |
保留欄位,目前介面暫不回傳。 |
cmVzZXJ2ZWQ= |
| Text |
string |
文字內容。 |
查詢流量 |
| Url |
string |
保留欄位,目前介面暫不回傳。 |
https://example.com/reserved.bin |
| Role |
string |
訊息角色。 |
user |
| State |
string |
任務狀態。可選值:TASK_STATE_WORKING(執行中)、TASK_STATE_COMPLETED(已完成)、TASK_STATE_FAILED(已失敗)、TASK_STATE_CANCELED(已取消)。 |
TASK_STATE_WORKING |
| Timestamp |
string |
狀態時間戳記(ISO 8601 格式)。 |
2026-08-07T06:08:30Z |
| TaskId |
string |
任務 ID。 |
task-38cZ**MAVKu |
樣本
正常返回樣本
JSON格式
{
"Message": {
"ContextId": "context-07b0**bcc2",
"Extensions": [
"reserved"
],
"MessageId": "message-fd6e**9949",
"Metadata": {},
"Parts": [
{
"Data": "{}",
"Filename": "reserved.bin",
"MediaType": "application/octet-stream",
"Raw": "cmVzZXJ2ZWQ=",
"Text": "當前執行個體運行正常",
"Url": "https://example.com/reserved.bin"
}
],
"ReferenceTaskIds": [
"task-reserved"
],
"Role": "agent",
"TaskId": "task-reserved"
},
"RequestId": "A7F0D6EC-E19E-58AC-AC9F-08036763960F",
"Task": {
"Artifacts": [
{
"ArtifactId": "output",
"Description": "執行個體健康巡檢結果",
"Extensions": [
"reserved"
],
"Metadata": {},
"Name": "巡檢報告",
"Parts": [
{
"Data": "{}",
"Filename": "reserved.bin",
"MediaType": "application/octet-stream",
"Raw": "cmVzZXJ2ZWQ=",
"Text": "診斷結果",
"Url": "https://example.com/reserved.bin"
}
]
}
],
"ContextId": "context-07b0**bcc2",
"History": [
{
"ContextId": "context-07b0**bcc2",
"Extensions": [
"reserved"
],
"MessageId": "message-fd6e**9949",
"Metadata": {},
"Parts": [
{
"Data": "{}",
"Filename": "reserved.bin",
"MediaType": "application/octet-stream",
"Raw": "cmVzZXJ2ZWQ=",
"Text": "診斷一下這個執行個體 ngw-xxx",
"Url": "https://example.com/reserved.bin"
}
],
"ReferenceTaskIds": [
"task-reserved"
],
"Role": "user",
"TaskId": "task-38cZ**MAVKu"
}
],
"Id": "task-38cZ**MAVKu",
"Metadata": {
"usage": "{totalTokens=327672}"
},
"Status": {
"Message": {
"MessageId": "message-fd6e**9949",
"Parts": [
{
"Data": "{}",
"Filename": "reserved.bin",
"MediaType": "application/octet-stream",
"Raw": "cmVzZXJ2ZWQ=",
"Text": "當前執行個體運行正常",
"Url": "https://example.com/reserved.bin"
}
],
"Role": "agent"
},
"State": "TASK_STATE_SUBMITTED",
"Timestamp": "2026-08-07T06:08:10Z"
}
},
"TaskArtifactUpdate": {
"Append": true,
"Artifact": {
"ArtifactId": "output",
"Description": "巡檢詳細報告",
"Extensions": [
"reserved"
],
"Metadata": {},
"Name": "巡檢報告",
"Parts": [
{
"Data": "{}",
"Filename": "reserved.bin",
"MediaType": "application/octet-stream",
"Metadata": {
"Thought": false
},
"Raw": "cmVzZXJ2ZWQ=",
"Text": "執行個體狀態正常",
"Url": "https://example.com/reserved.bin"
}
]
},
"ContextId": "context-07b0**bcc2",
"LastChunk": false,
"TaskId": "task-38cZ**MAVKu"
},
"TaskStatusUpdate": {
"ContextId": "context-07b0**bcc2",
"Final": true,
"Metadata": {
"Step": {
"CostTime": 203,
"Id": "30688",
"IsError": false,
"Name": "load_skill",
"Params": "{\"skill_id\":\"239\"}",
"Result": "success",
"RetryCount": 1,
"UiContent": "load_skill"
}
},
"Status": {
"Message": {
"MessageId": "message-fd6e**9949",
"Parts": [
{
"Data": "{}",
"Filename": "reserved.bin",
"MediaType": "application/octet-stream",
"Raw": "cmVzZXJ2ZWQ=",
"Text": "查詢流量",
"Url": "https://example.com/reserved.bin"
}
],
"Role": "user"
},
"State": "TASK_STATE_WORKING",
"Timestamp": "2026-08-07T06:08:30Z"
},
"TaskId": "task-38cZ**MAVKu"
}
}
錯誤碼
|
HTTP status code |
錯誤碼 |
錯誤資訊 |
描述 |
|---|---|---|---|
| 400 | IllegalParam.IllegalParameter | The parameter is illegal. | |
| 400 | Forbidden.NoPermission | The authentication result is successful but the verification fails. | 權限驗證結果成功但驗證未通過。 |
| 402 | IllegalParam.CreditInsufficient | Credit has been exhausted in the current cycle. | 目前週期內Credit已耗盡。 |
| 403 | OperationDenied.AliUid | The specified AliUid is not authorized to operate this resource. | 該使用者(%s)無權限操作。 |
| 403 | Forbidden.ServiceNotActivated | The NAPal service has not been activated for this account (%s). | 該帳號(%s)尚未開通NAPal服務。 |
| 403 | Forbidden.GenerateAccessToken | The user does not have permission to access the (GenerateAccessToken) service. |
訪問錯誤中心查看更多錯誤碼。
變更歷史
更多資訊,參考變更詳情。