What the documents look like
Livestream violation appeals address penalties that have already taken effect, so the work is retrospective: assembling an evidence chain from the violation notice, the livestream recording, product qualification files and the appeal statement. Data arrives from the platform violation center, livestream replays, customer service records and the product qualification library. Updates are irregular and each violation triggers a fresh round of material collection. For conversation logs and audit, this means one appeal's sessions, run details and handover requests must be matched to the same subject, the same period and the same field. Sessions from different entry points and records from different rounds cannot be merged into one count.
Constraints at the conversation logs step
A session is identified by chatId, a conversation by dataId and an application by appId. When the session list is requested with source=api, only sessions created through the API are returned; sessions on the page are excluded. Clearing application sessions likewise clears only sessions created through the API Key. When run details are needed, detail is set per the official contract: non-streaming results are held in responseData, and streaming results are distinguished through event, whose values include flowResponses and error. Log fields reflect only what the interface actually returns; business data that is not returned cannot be assumed to have been retained in full. Reconciliation, retention and compliance requirements are implemented separately in the complete business plan, and the presence of logs does not by itself complete a compliance audit. Retrieval similarity carries no permission or entity-isolation function, and retrieval is not authorization.
Hypothetical drill sample: on 10 March 2026 a store compliance role receives a product livestream-ban violation notice whose number and product object are written in the notice body. During handling one session is created, with a drill chatId, and one conversation under it awaiting judgement has a drill dataId. The proposed handover request reads: "This session already contains the violation-clip location record; after handover the receiving person submits the appeal statement directly." The reference material reads: "The violation notice states the penalty object is a product and the penalty status is effective; the appeal statement document is currently a draft and has not been submitted." The proposed sentence and the request are both checked against this wording.
Configuration and implementation checks
| Configuration or check | Value and source | Purpose and boundary |
|---|---|---|
| appId | Passed in the request body, official parameter description | Locates the application; does not replace session and conversation identifiers |
| chatId | Passed in the request body, length under 250 | Locates the target session; uniqueness must be ensured by the caller |
| dataId | The ID of one conversation under a session | Locates the conversation awaiting judgement, checked together with chatId |
| detail | Official parameter; true returns intermediate values | Set when run details are needed; non-streaming results are read from responseData |
| source | Session-list parameter, source=api | Returns only API-created sessions; page sessions are excluded |
| authProxy | Must be enabled by the team owner; the proxy identity still needs target application and session permissions | Proxy does not create authorization beyond existing permissions |
Hypothetical trial starting point: pageSize is set to 20 because the sample session count is small and item-by-item checking is convenient; the comparison object is whether the returned total matches the length of list. This value is a drill starting point, not an official default.
Three common errors
- Treating retrieval or a form as authorization. In the sample the proposed handover request states the appeal statement can be submitted directly, while the reference material shows the appeal statement is a draft and has not been submitted. A retrieval hit or a filled form does not create submission permission; submission is a business action requiring separate system implementation.
- Merging sessions from different entry points. When source=api is used, page sessions are not returned; combining the two kinds of session in one count distorts the correspondence between chatId and dataId.
- Treating the presence of logs as a completed compliance audit. Run details reflect only fields the interface actually returns; business data that is not returned remains unknown, and reconciliation and retention are implemented by the complete business plan.
How to verify the setup
- Enter the sample appId and chatId, call the session list with source=api, and compare whether the returned list contains that chatId. The condition is met when the chatId appears and total matches the length of list; when it does not appear, record the result as unsupported.
- Enter the sample appId, chatId and dataId, set detail=true and stream=false, and compare whether responseData contains the run record for that conversation. The condition is met when a corresponding record exists and contains fields such as moduleName and moduleType; when responseData is empty or the corresponding dataId is absent, record the gap.
- Enter the proposed handover request wording and the reference material wording, and compare the request's claim that the violation-clip location record is already included with the material's statement that the appeal statement is a draft and has not been submitted. When the two point to the same subject, the same period and the same field with mutually exclusive values, the state described in the request does not match the material, and handover must not proceed to submission on that basis; parts not stated in the material remain to be verified.
Paper-based empty-result follow-through: check the downstream design against an explicit input of [] and observe whether the downstream handles it as an empty result, without claiming that a fictional retrieval necessarily returns empty. Libraries using different vector models cannot be associated together; verify identifiers first, exclude those that do not match, and record the actual observation.