REFERENCE
Developer Reference
Authentication, APIs, SDKs, Flow Agent processors and parameter resolution, in full.
asgard.message.complete
asgard.message.complete marks the end of a message, carrying the complete text and the template format (options, buttons, images and so on).
Characteristics
- When it fires: as the AI finishes generating the message
- What it does: provides the complete text and the template, ending the current message
- How often: once per message
The fields that matter
Field Description messageComplete.message.text The complete text, already including every earlier fragment, so it can replace whatever has accumulated on screen messageComplete.message.idx Usually null, unlike in delta eventsmessageComplete.message.template The template, carrying interactive elements such as options, buttons and images. See the Message Template reference Full example
{
"eventType": "asgard.message.complete",
"requestId": "6939c5a6c590d90c401e3850a1ff44f3",
"namespace": "qa-7e301310-a594-4a7b-aa2a-xxxxxxxxxxxx",
"botProviderName": "bpapi-d97c512f-f8dc-46f6-82f0-xxxxxxxxxxxx",
"customChannelId": "ch-6xxxxxxxxxxxx",
"fact": {
"runInit": null,
"runDone": null,
"runError": null,
"messageStart": null,
"messageDelta": null,
"messageComplete": {
"message": {
"messageId": "1834828082242916352",
"replyToCustomMessageId": "",
"text": "目前台北xxx", // ← the complete text
"payload": {},
"isDebug": false,
"idx": null, // ← usually null
"template": { // ← the template
"type": "TEXT",
"text": "目前台北xxx"
}
}
}
}
}Notes
- The text is complete: it holds everything accumulated, so it can replace what is on screen outright
- The template: carries the final template. See the Message Template reference
- State: this marks the current message finished, ready for the next response