What the documents look like
Letter-of-credit document examination and presentation serves bank payment conditions, and the review focus is document consistency rather than tax matching. The working materials are the issuing bank's advice, UCP600 clauses, the freight forwarder's bill of lading, and bank presentation records. The documents handled each time are the letter of credit, commercial invoice, bill of lading, insurance policy, and draft, and the data refresh cadence is per transaction.
For an HTTP integration step inside order fulfilment and after-sales question answering, those materials determine what travels in a request. Field values in the request body come from the documents, and the returned values carry presentation status or answer content back to the caller. A document field that has not been supplied stays unknown; the integration does not supply it.
Constraints at the HTTP integrations step
The HTTP module sends a request to a given address. Params carry path request parameters and appear mostly in GET requests. Body carries the request body and appears mostly in POST and PUT requests. Headers carry request headers used to pass special information. All three can reference variables through {{}}, and the URL can also reference variables. Variables come from global variables, system variables, and preceding node outputs.
System variables include appId, chatId, responseChatItemId, variables, cTime, and histories. The histories entry takes at most 10 records by default and its length cannot be changed. chatId and responseChatItemId do not exist in test mode. Return values are extracted with JSON path syntax, and when the output type is set to string the value for 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. For OpenAI SDK compatibility, Authorization: Bearer <apiKey>-<appId> is also supported, and in that case body.appId is not required. Some SDKs need v1 added to the BaseUrl and some do not; if a 404 appears, adding v1 and retrying is the documented step. The appId priority order is body.appId, then <apiKey>-<appId>, then the appId associated with the apikey under the older adaptation. Passing model, temperature, and similar parameter fields has no effect because orchestration decides those values. Actual consumed Token values are not returned; setting detail=true and manually calculating the tokens values inside responseData is the documented route.
Hypothetical paper exercise sample: under one letter of credit, the issuing bank's advice states a latest shipment date of 30 June 2025, the freight forwarder's bill of lading states a loading date of 28 June 2025, and the commercial invoice amount agrees with the letter of credit. A draft sentence reads, "This presentation constitutes a complying presentation and the bank payment condition has been satisfied." The sentence names a subject, an object, and a status, but the materials do not record a bank examination conclusion, so the sentence is a pending item for verification and cannot serve as a completed confirmation of the payment condition.
Configuration and implementation checks
| Configuration item | Value or check on this page | Note |
|---|---|---|
| Request address and method | Chosen from the external interface documentation; the address can reference variables | No specific address is preset |
| Params and Headers | Check request parameters and request headers separately | Authentication credentials are injected through secure configuration |
| Body | Used only under the relevant request types | Check the JSON structure against the external interface contract |
| Variable reference | Check each value actually passed in | Sources are global variables, system variables, and preceding node outputs |
| Return value extraction | Configure key and output type by JSON path | A string output type is converted into a JSON string |
| Debug identity fields | chatId and responseChatItemId do not exist in test mode | A debug empty value is not treated as a business fault |
Three common errors
- Treating "constitutes a complying presentation" in the draft sentence as a bank examination conclusion. The input is the sample draft sentence; the comparison object is the issuing bank's advice together with the bill of lading date; the observable result is that the materials do not record a bank conclusion, so the sentence remains pending verification.
- Treating a missing chatId in test mode as an interface fault. The input is a request in test mode; the comparison object is the documented statement that the field does not exist in test mode; the observable result is that the field was never present, and the check should move to a non-test environment.
- Treating an HTTP return value as authorization or payment execution. The input is a status field in the return value; the comparison object is the presentation record and the bank advice; the observable result is that the return value reflects only the interface response, while the business action requires downstream implementation.
How to verify the setup
- Input the sample draft sentence together with the source wording of the materials, compare "constitutes a complying presentation" against a bank examination conclusion, and observe whether a conclusion the materials do not record appears. If the materials do not record one, log the item as pending verification.
- Input a request in test mode, compare whether chatId exists against the documented statement, and observe whether a debug empty value is being treated as a business fault. If an empty value appears, move the check to a non-test environment.
- Input the return value extraction configuration, compare the key against JSON path syntax, and observe whether a string output type is converted into a JSON string. If extraction fails, record the actual response and keep the gap open.