What the documents look like
Cross-border product compliance evidence is produced before listing and import. The working materials are product test reports, English-language labels, MSDS files, and platform prohibited-item lists. Updates are irregular and tied to each new product launch, so the same product may carry documents from different batches for different destination countries. Operating reports and exception reviews align these materials with conversation records to confirm the actual state of a query or a handover.
The conversation interface identifies a session under one application by chatId, and a single exchange under that session by dataId. When detail is true, intermediate values and complete results are returned; in non-streaming mode they sit in responseData, and in streaming mode they are separated by event. The session list interface carries a source parameter, and source=api returns only sessions created through the API, not page sessions. Clearing application sessions likewise clears only sessions created by API Key. These boundaries mean that the presence of logs does not place every entry point in one collection, and mixing entry points distorts any count. A score in retrieval results is a similarity value and does not act as a permission or entity filter.
A hypothetical paper exercise sample, not an actual test: a compliance specialist holds a source material reading "Product: portable power bank; destination country: Germany; test report number TR-2024-0117, issue date March 2024; label language: English; status: report issued, German label pending." A separate handover request reads: "The German label for this product has been completed; please archive as compliant." The point to judge is whether the state described in the handover request concerns the same subject and the same field as the source material.
Constraints at the conversation logs step
The chatId boundary decides which session a record belongs to, and dataId decides which exchange inside it. A review that pulls totals from the session list without setting source=api will include only API sessions while assuming it has counted all entry points. The detail flag decides whether module-level values are available at all; when detail is false, responseData is not part of the response, and no module status or complete result can be read from it. In streaming mode the event values separate answer, flowNodeStatus, flowResponses, and error, so a reviewer checks the event name before reading the payload. The responseChatItemId value, when supplied, must be unique under the current chatId and is stored by FastGPT, which gives a traceable link between a response and its record.
Retrieval output is not authorization. A similarity score ranks how close a returned item is to the query; it does not exclude unrelated business lines or unauthorized records. The presence of a conversation log does not by itself complete a compliance audit, and reconciliation, retention, and compliance obligations belong to a separate full business implementation.
Configuration and implementation checks
| Check item | Setting or action | Basis for judgment |
|---|---|---|
| Session scope | Pass appId and chatId in the request body; use source=api on the list interface | Covers only sessions created through the API |
| Run detail | Set detail=true; read responseData when non-streaming, read event when streaming | Intermediate values and complete results are returned on this basis |
| Response identifier | Pass responseChatItemId, unique under the current chatId | The correspondence with dataId can be checked |
| Material fields | Compare product, destination country, report number, issue date, label language, and status verbatim | Comparison requires the same subject and the same field |
| Status judgment | Pending and completed are mutually exclusive values | Without completion evidence the field remains to be verified |
| Hypothetical starting point | Use the sample source text as the comparison origin for this exercise, not as a default value | Compared verbatim against the handover request |
Three common errors
- Treating the total returned by the session list as the count of conversations across all entry points. With source=api only API sessions are returned, page sessions are not included, and adding the two overstates the figure.
- Treating a returned score as the outcome of a permission or entity filter. A score is a similarity value and does not exclude unrelated business lines or unauthorized records.
- Treating "completed" in the handover request as an accomplished fact. The source material records the status as pending, and without completion evidence the field remains to be verified, which is neither a contradiction nor a confirmation.
How to verify the setup
- Take the sample source text and the handover request, and compare the six fields: product, destination country, report number, issue date, label language, and status. A contradiction is judged only when the same subject and the same field carry mutually exclusive values. In this sample the status field reads pending on one side and completed on the other, while completion evidence is absent, so the conclusion is that the field remains to be verified.
- Request the session list with source=api and observe whether the returned list and total contain only API sessions; then use the same appId to check whether page sessions appear in the result. If page sessions do not appear, this matches the documented boundary.
- Request with detail=true in non-streaming mode and check whether responseData contains module-level fields; then make a streaming request and check whether event separates answer, flowNodeStatus, and flowResponses. If a field is absent, record it as not returned and do not infer that it was fully retained.
This page addresses only cross-border product compliance and labels, operating reports and exception reviews, and conversation logs and auditing. Whether materials, operations, or requests in an operational handover sit at a given authorization state is a separate question; retrieval and forms are not authorization and do not execute it.