Marketplace promotions: HTTP integrations for operating reviews

Review HTTP integrations 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 data centers on price, inventory, and campaign rhythm. This differs from product title compliance, where the core work is reviewing promotional wording. The main data sources are the Tmall marketing backend, the JD campaign backend, ERP inventory, and historical transaction prices. The daily documents are the campaign enrollment form, the promotional price approval form, the inventory lock form, and the campaign review form.

Operating reports and exception reviews align the fields in these documents with values returned by external systems, then check price, inventory, and enrollment status across the campaign period. HTTP integration work at this stage does not decide whether a price is compliant or whether a campaign may proceed. It moves and extracts values. Authorization, approval, database writes, and external synchronization each require their own downstream implementation.

A hypothetical drill sample is used throughout this page. The source material reads: "The enrollment form for this campaign records the subject as Brand A flagship store, the object as the summer promotion, the enrollment status as submitted, and the campaign date range as July 1 to July 7. The promotional price approval form records the same subject and the same campaign, with an approval status of pending review. The inventory lock form records the same subject and the same campaign, with a locked quantity of 500 units and a lock status of locked." The handoff request to be judged reads: "Please use the HTTP interface to synchronize this campaign's price to the external system and complete the approval." In this request the approval status is pending review, which is an incomplete authorization, and the synchronization action requires a separate external system implementation. Retrieval or a form does not substitute for either.

Constraints at the HTTP integrations step

The HTTP module sends a request to the corresponding address, and its operation is close to tools such as Postman and ApiFox. Params are path request parameters and are used more often in GET requests. Body is the request body and is used more often in POST and PUT requests. Headers carry special information. The URL can reference variables through {{}}, and variables come from global variables, system variables, and upstream node outputs.

System variables include appId, chatId, responseChatItemId, variables, cTime, and histories. The histories variable takes at most 10 records by default, and that length cannot be modified. Return value configuration extracts response values through JSON path syntax. When the output type is set to string, the value at the matching HTTP key is converted into a JSON string for output.

The chat interface uses APIKey authentication. When calling chat/completions, passing body.appId in the request body is recommended, and Authorization: Bearer <apiKey>-<appId> is also supported. The model and temperature parameters passed in are ineffective, because the orchestration decides those fields. When detail=true, intermediate values are returned, and responseData holds module status and the complete result.

Two debug identity fields matter for this task. In test mode, chatId and responseChatItemId do not exist. An empty value there is a property of test mode, and it is not a business fault in the campaign data. Retrieval and form collection do not constitute authorization. Business verification, approval, database writes, and external synchronization require separately connected system implementations. A similarity score is not a category, entity, or permission filter, and it does not exclude unrelated businesses or unauthorized records.

Configuration and implementation checks

The table below lists documented settings or implementation checks relevant to this feature and this task, tied to the hypothetical drill sample. The values are starting points for this hypothetical trial, not official defaults.

Configuration itemStarting point for this hypothetical trialCheck note
Request address and methodSelected per the external interface documentThe address may reference a supplied variable; check it against the external contract
Params and HeadersRequest parameters and request headers checked separatelyAuthentication credentials are injected through secure configuration and are not written into public samples
BodyUsed only under the corresponding request typeCheck the JSON structure against the external interface contract
Variable referencesReferences to global variables, system variables, and upstream node outputsCheck each actual passed value item by item
Debug identity fieldschatId and responseChatItemIdThese do not exist in test mode; an empty debug value is not treated as a business fault
Return value extractionKey configured by JSON pathWhen the output type is string, the value is converted into a JSON string

Three common errors

  1. Treating a promotional price approval form with pending review status as a completed approval and sending the price synchronization request. The input is the approval status "pending review." The comparison object is the condition "approval completed." The observable result is that a synchronization request is issued while the authorization boundary has not been checked. Pending review is an incomplete authorization, and the request is not executable.
  2. Treating an empty chatId or responseChatItemId in test mode as an interface fault. The input is a test mode request. The comparison object is a non-empty identifier in a formal conversation. The observable result is a false report of an interface exception, when the documented condition is that these fields do not exist in test mode.
  3. Treating a similar record returned by retrieval as the authorization basis for a price or inventory value. The input is a knowledge base retrieval result. The comparison object is the actual fields in the campaign enrollment form and the inventory lock form. The observable result is a report generated by citing an unauthorized record. Retrieval is not authorization, and a relevance score does not filter by business entity or permission.

How to verify the setup

  1. Check the approval status in the hypothetical drill sample. The input is "the promotional price approval form records an approval status of pending review." The comparison object is the condition "approval completed." The observable result is that pending review is an incomplete authorization, so the synchronization request is not treated as executable and is recorded as pending verification. A pending request is not an approval.
  2. Check variable references against the request body structure. The input is the variable declaration inside Body. The comparison object is the field required by the external interface contract. The observable result is that matching field names and types satisfy the condition, while mismatches are recorded as differences. This check covers the input, the comparison, and the observable result without asserting that a request was sent.
  3. Check the return value extraction configuration. The input is the key configured by JSON path. The comparison object is the actual path in the interface response. The observable result is that the extracted value matches the corresponding value in the response, and a value that cannot be extracted is recorded as a gap. An empty result can be checked against a downstream design using the paper input []. This does not assert that a fictional rule retrieval returns an empty result.

Across all three checks, the same subject, the same period, and the same field are required. Only mutually exclusive values on the same field constitute a contradiction. A status that is not stated, or evidence that covers only a related stage, is recorded as unsupported or pending verification.