What the documents look like
Refund-only disputes frequently proceed without any returned parcel entering a warehouse, so the evidence concentrates on dispatch, delivery confirmation and the value of the goods. Working material comes from the platform after-sales console, carrier tracking, customer service chat and warehouse outbound records. The daily documents are refund-only applications, dispatch proof, delivery confirmation and appeal material. These update per order and per day. Operating reporting and exception review need to align conversation logs with those business documents, checking whether the application, the proof and the communication records for one dispute point to the same object and the same period.
Conversation logs serve a recording and cross-checking function here. In the FastGPT chat interface, chatId identifies a conversation under one application, dataId identifies one exchange under a conversation, and responseChatItemId, when passed, becomes the ID of the response message for that exchange and is stored in the database. These identifiers let an after-sales supervisor or appeal specialist locate a specific service reply to a specific conversation and a specific exchange, then cite it during review. The existence of a log shows that a record was produced. It does not show that a business fact has been verified, and it does not show that a compliance audit has been completed.
Constraints at the conversation logs step
Three constraints matter. First, conversation identity needs to be checked against chatId together with the target exchange and the business record; conversations created through different entry points cannot be pooled. A history query with source=api returns only conversations created through the API, and conversations on the page fall outside that result. Second, when run detail is required, set detail=true per the official contract. In non-stream mode the result is held in responseData; in stream mode the distinction arrives through event; the complete node response appears in flowResponses. Third, compare the log against the fields the interface actually returns. Business data that was not returned cannot be assumed to have been retained in full. Reconciliation, retention and compliance requirements are carried out separately by a complete business solution.
Hypothetical paper exercise: on 10 March 2025 an after-sales specialist submits a handover request for one refund-only dispute. The source material reads: "Order A was dispatched on 2 March 2025; carrier tracking shows delivery confirmed on 5 March; the customer applied for a refund-only on 8 March, stating the goods were not received." The draft sentence to be assessed reads: "This order was delivered, the refund-only application does not hold, recommend rejection." On review, the source material supplies only the delivery status from carrier tracking. It does not supply the identity of the recipient, the delivery address, or the actual handover of the goods. The draft sentence treats tracked delivery as equivalent to the customer having received the goods, which is an unsupported inference. The request sits in a pending-review state. Pending review does not demonstrate that operating authority is absent, and it does not mean a rejection has been carried out.
Configuration and implementation checks
The table below covers the official documented settings or implementation checks relevant to this feature and primary task, around the exercise above. The numbers are starting points for this hypothetical exercise, used for comparison against actual returned values. They are not official defaults.
| Setting or check | Hypothetical starting point and reason | Comparison method |
|---|---|---|
appId | Use the ID of the application owning the exercise | Match against appId in the request body |
chatId | Use the exercise conversation ID, length under 250 | Match against chatId returned in the conversation list |
dataId | Use the exercise exchange ID | Match against dataId returned in the exchange list |
detail | Set to true, to obtain run detail | Check whether responseData appears |
source | Set to api, to take only API-created conversations | Match against the source scope of the returned conversation list |
pageSize | Set to 20, for paginated review | Compare against returned total and the actual count |
Three common errors
- Treating an identical
chatIdas the same business case. Input: two conversations created through different entry points. ComparechatIdagainstsource. Ifsourcediffers, the two cannot be combined in a count. Observable result: the two conversations are listed separately and are not merged. - Treating a
detail=falseresponse as complete run detail. Input: a request withdetail=false. Compare whetherresponseDatais present in the returned body. If it is absent, node execution cannot be reviewed from that response. Observable result:responseDatais missing and the record states that run detail was not obtained. - Treating a retrieval result or a form submission as authorized execution. Input: one retrieval request or one completed form. Compare whether a downstream business action record exists. If none exists, authorization or execution cannot be concluded. Observable result: only the retrieval or the form is present, with no business action.
How to verify the setup
- Using the exercise source material and the draft sentence, input "Order A was dispatched on 2 March 2025; carrier tracking shows delivery confirmed on 5 March" together with the draft sentence "This order was delivered, the refund-only application does not hold." Compare whether the draft sentence goes beyond the scope of the source material. If the draft sentence equates tracked delivery with the customer having received the goods, it is judged unsupported. Expected result: the draft sentence is returned for additional recipient identity and delivery address.
- Using the exercise handover request, input that the request sits in a pending-review state. Compare whether a rejection execution record exists. If only pending review is present and no execution record exists, a rejection cannot be concluded as carried out. Expected result: the record is marked pending verification, with the evidence gap retained.
- Using the exercise conversation, input
chatIdanddataId. Compare thedataIdreturned in the exchange list against thedataIdin the request. If they match, that exchange can be located. Expected result: located; if they do not match, the record states that no corresponding exchange was found. All of the above is paper review, with no interface actually called.