What the documents look like
Low-price campaign operations at Pinduoduo revolve around campaign resource slots, campaign inventory, and refund-rate swings. The working materials are campaign registration forms, product cost calculation sheets, after-sales refund slips, and platform in-site messages. Supporting data arrives from the merchant backend, resource-slot data, ERP inventory, and logistics delivery records. Each document carries a different object and a different field meaning, so a quantity written in one document does not automatically describe the same thing as a quantity written in another. This page covers only the HTTP integration and external-system step inside operating reporting and exception review. Campaign registration approval and inventory deduction execution sit outside this page.
Constraints at the HTTP integrations step
The HTTP module sends a request to a corresponding address. Params carry path parameters and appear mostly in GET requests. Body carries the request body and appears mostly in POST and PUT requests. Headers carry special information such as authentication. Variables may come from global variables, system variables, and outputs of preceding nodes. All three data sections and the URL can reference variables through {{}}. Return values are extracted through JSON path syntax, and when the output type is set to string, the value at the corresponding key is converted into a JSON string.
The chat interface uses APIKey authentication. When calling chat/completions, passing body.appId in the request body is recommended, and the OpenAI SDK compatibility form Authorization: Bearer <apiKey>-<appId> is also supported. When chatId is a non-empty string, the system takes the conversation from the FastGPT database and uses the last item of the messages array as the user question. When detail=true, intermediate values are stored in responseData. The chatId and responseChatItemId fields do not exist in test mode, so an empty value there is an environment difference rather than a business fault. A retrieval similarity score describes how similar a match is. It does not act as a permission filter or an entity filter, and retrieval does not grant authorization.
Hypothetical paper exercise sample: a campaign operations staff member holds a batch of low-price campaign orders delivered on 12 October 2024. The logistics delivery record states a delivered quantity of 480 units. The ERP inventory sheet states that 500 units left the warehouse for the same batch. The sentence awaiting judgement is: "The delivery data and the outbound data agree, so the exception review can be closed." The two quantities belong to the same batch and the same period but carry different field meanings. Before any comparison, the subject, object, and period must be confirmed.
Configuration and implementation checks
| Configuration item | Hypothetical starting point for this exercise | Reason and comparison method |
|---|---|---|
| Request address and method | Address references an already provided variable, method follows the external interface document | Compare path and method word by word against the external interface contract |
| Headers authentication | Credential injected through secure configuration, not written into the sample | Check whether the credential source is an authorized configuration |
| Body structure | JSON fields declared according to the interface contract | Compare each field against the external interface document field table |
| Variable reference | Each actual passed value checked item by item | Compare against global variables, system variables, and preceding node outputs |
| Return value extraction | Key configured through JSON path | Compare against the interface response example structure |
| Debug identity fields | chatId does not exist in test mode | Separate a test-mode empty value from a business fault |
Three common errors
- Treating the delivered quantity of 480 and the outbound quantity of 500 as directly contradictory. The two fields carry different meanings, so the difference remains unsupported until it is confirmed whether returns or replacements are included.
- Treating a missing
chatIdin test mode as a lost conversation. The field does not exist in test mode, so the observation is recorded as an environment difference. - Treating a retrieval similarity score as a basis for permission or entity filtering. The score reflects similarity only and carries no authorization judgement.
Corresponding checks: input the two quantity fields, compare whether batch and period match, and observe whether the same subject and same period hold. Input a test-mode request, compare the returned state of chatId, and observe whether it is empty. Input a retrieval result, compare the score field, and observe whether it has been misused as a filter condition.
How to verify the setup
- Input the 480 and 500 quantities from the hypothetical sample, compare the batch identifier and the date range, and if subject, object, and period match while the field meanings differ, record the result as pending verification rather than contradiction.
- Input the draft sentence "The delivery data and the outbound data agree, so the exception review can be closed", compare it against the two original records, and if the source text states no agreement conclusion, record the sentence as unsupported.
- Input one test-mode request, compare the returned state of
chatIdandresponseChatItemId, and if both are empty, record the observation as a test environment difference without triggering business handling.
All three steps are paper comparisons. No request was executed, no interface was tested, and no business action was taken.