Marketplace promotions: conversation logs for operating reviews

Review conversation logs for operating reviews in Marketplace promotions. Check document scope, failure paths and source evidence through controlled tests.

What the documents look like

Promotion enrollment and price management in this category runs on four document types: the campaign enrollment form, the promotional price approval sheet, the inventory lock sheet, and the campaign retrospective sheet. The governing data is price, inventory, and campaign rhythm rather than advertising copy. Operating reports and exception reviews ask whether quotation, approval, and inventory-lock records for one campaign over one period agree with the business ledger. Data sources named in the brief are the Tmall marketing back end, the JD campaign back end, ERP inventory, and historical transaction prices; the stated update frequency is weekly or per campaign. This means review material is organized at campaign granularity, and any reconciliation must first fix the campaign scope, the platform, and the period.

Conversation logs and audit work in this category means tying session records to that business ledger. The official chat interface document states that when chatId is a non-empty string, the system reads the session from the FastGPT database and uses the last item of the messages array as the user question, ignoring the remaining messages. The same document asks the caller to ensure chatId is unique and shorter than 250 characters. dataId identifies one dialogue within a session. Run detail requires detail=true on the chat interface; in non-stream mode the result is held in responseData, and in stream mode it is distinguished by event. The document also notes that response values for different modules may differ between versions and suggests logging the latest values first. Log existence does not equal a completed compliance audit; reconciliation, retention, and compliance requirements belong to a complete business plan implemented separately.

Constraints at the conversation logs step

The chat interface document defines the request and response contract that any review step depends on. appId identifies the application, chatId identifies one session under that application, and dataId identifies one dialogue under that session. The key priority for appId is body.appId, then the apiKey-appId form, then the legacy appId associated with the apiKey. The model and temperature fields passed in a request are ineffective because orchestration decides them. Actual token consumption is not returned; setting detail=true and manually computing the tokens values inside responseData is the documented route.

Session history is readable through getHistories with appId, offset, pageSize, and source, where source=api returns sessions created through the API and not sessions created on the page. A single dialogue run is readable through getResData with appId, chatId, and dataId. Record pagination through getPaginationRecords accepts loadCustomFeedbacks. Feedback updates go through updateUserFeedback with userGoodFeedback or userBadFeedback. Clearing an application's sessions through clearHistories affects only API-key-created sessions, not sessions from online use or share links. Interactive nodes return display configuration containing type and params; internal runtime fields such as entryNodeIds, memoryEdges, nodeOutputs, and nodeResponseId are not returned. When an interactive node is reached, the workflow returns at that point, and continuing requires another call with a consistent chatId.

Hypothetical exercise sample, used only for paper comparison and not drawn from real records: on 3 June 2025 a brand operator submits a campaign retrospective handover request. The supplied material text reads: "The 1 June to 3 June Tmall channel campaign enrollment form has been submitted; the promotional price approval sheet status is pending review; the inventory lock sheet has been filled according to the enrolled quantity." The sentence proposed for judgment reads: "The price and inventory for this campaign have been approved and can be executed." The subject is the brand operator, the object is the 1 June to 3 June Tmall channel campaign, and the states are enrollment form submitted, approval sheet pending review, lock sheet filled. The proposed sentence converts pending review into approved and converts filled into executable.

Configuration and implementation checks

The table below lists documented settings or implementation checks tied to this page's sample. The starting value column describes a hypothetical exercise starting point and its reason; it is not an official default.

Configuration itemHypothetical exercise starting point and reasonComparison method
appIdUse the appId corresponding to the sample applicationCheck whether the request body appId matches the target application
chatIdUse the sample session ID, shorter than 250 charactersCheck whether records under the same chatId belong to one session
detailSet to true to obtain intermediate valuesCompare whether responseData contains module status and complete results
streamThe sample starts with falseCompare whether non-stream results sit in responseData
dataIdRecord the dataId of the sample dialogueCheck whether getResData returns the same dialogue
loadCustomFeedbacksThe sample sets this to trueCompare whether the record list returns custom feedback fields

Three common errors

  1. Treating pending review as approved. In the sample, the promotional price approval sheet status is pending review, while the proposed sentence states approved and executable. The input is the sample material text and the proposed sentence; the comparison point is the approval sheet status field; the observable result is that the proposed sentence does not match the stated status.
  2. Treating filled as executed. In the sample, the inventory lock sheet has been filled according to the enrolled quantity, while the proposed sentence states executable. The input is the sample material text and the proposed sentence; the comparison point is the lock sheet state description; the observable result is that the material states completion of filling and does not state execution.
  3. Treating log existence as a completed audit. The sample supplies only the material text and the handover request, with no reconciliation, retention, or compliance material. The input is the sample material text; the comparison point is the stated division of audit work; the observable result is that the material required for a compliance audit remains missing.

How to verify the setup

  1. Check session attribution. Input the sample appId and chatId, compare the chatId and appId returned by getHistories against the sample, and treat the condition as satisfied when records of the same session can be located.
  2. Check run detail fields. Input the sample dataId, compare fields such as moduleType and runningTime returned by getResData against the documented contract, and treat the condition as satisfied when run detail is readable; if the return is empty, record the gap.
  3. Check the proposed sentence against the material text. Input the sample material text and the proposed sentence, compare the approval sheet status and the lock sheet state, and treat the condition as satisfied when the approval and execution asserted in the proposed sentence are not supported by the material text, keeping the conclusion pending verification.