Install
openclaw skills install @upkuajing/customs-company-product-listQuery paginated product trade data for a company — retrieve product names with trade counts, amounts, quantities, and associated HS codes for product-mix analysis. Trigger: customs product list, paginated product query, company product trade details, import-export product breakdown, trade product drill-down
openclaw skills install @upkuajing/customs-company-product-listQuery paginated product trade data for a company from customs data using the UpKuaJing Open Platform API.
This skill provides access to paginated product trade data from UpKuaJing's customs database. Given a company ID and company type, it returns a list of products with trade statistics including trade count, amount, quantity, weight, percentage, and associated HS codes.
python --versionpip install -r requirements.txtScript directory: scripts/*.py
Run example: python scripts/*.py
Important: Always use direct script invocation like python scripts/customs_company_product_list.py. Do NOT use shell compound commands like cd scripts && python customs_company_product_list.py
customs_company_product_list.py)This skill requires an API key. The API key is stored in the ~/.upkuajing/.env file:
cat ~/.upkuajing/.env
Example file content:
UPKUAJING_API_KEY=your_api_key_here
First check if the ~/.upkuajing/.env file has UPKUAJING_API_KEY;
If UPKUAJING_API_KEY is not set, prompt the user to choose:
auth.py --new_key), the new key will be automatically saved to ~/.upkuajing/.env
Wait for user selection;When API response indicates insufficient balance, explain and guide user to top up:
auth.py --new_rec_order)Use this script to get account information for UPKUAJING_API_KEY: auth.py --account_info
When an API call fails or returns abnormal data (server error, timeout, malformed response, etc.), explain the anomaly to the user in natural language and ask whether to report it to the platform for troubleshooting. Only run the report after user confirmation:
python scripts/error_report.py --params '{"requestPath":"/agent/customs/company/product/list","requestId":"f47ac10b58cc4372a5670e02b2c3d479","context":"Company product list query failed with a server error"}'
All API calls incur fees, different interfaces have different billing methods.
Latest pricing: Users can visit Detailed Price Description
Or use: python scripts/auth.py --price_info (returns complete pricing for all interfaces)
Billed by number of calls, each call returns a page of product list for one company:
Any operation that incurs fees must first inform and wait for explicit user confirmation. Do not execute in the same message as the notification.
| User Intent | Use API |
|---|---|
| "List products for company 100001 as a supplier" | Company Product List Query |
| "Show product trade breakdown for company 100001" | Company Product List Query |
User request: "List products for company 100001 as a supplier"
python scripts/customs_company_product_list.py --params '{"companyId":100001,"companyType":1}'
Query the next page:
python scripts/customs_company_product_list.py --params '{"companyId":100001,"companyType":1,"cursor":"eyJsYXN0X2lkIjogMTAwMX0="}'
Query with filters:
python scripts/customs_company_product_list.py --params '{"companyId":100001,"companyType":1,"dateStart":1700000000000,"dateEnd":1735689599999,"port":"BUSAN"}'
UPKUAJING_API_KEY in ~/.upkuajing/.env filepython scripts/error_report.py (see Report Skill Call Errors)Check API documentation:
Pagination:
cursor parameter from the response to fetch the next pagecursor is returned in the response, there are no more pagesData interpretation:
hscodes array — use this to understand which HS codes map to each productpercentTrade is the percentage of trade (as a decimal, e.g., 12.34 means 12.34%)Cross-skill usage:
companyType determines the company's role (1=supplier, 2=buyer)cursor for pagination — it's a base64-encoded stringproduct list supports hscodes filter, use it to find products associated with specific HS codespython scripts/auth.py --price_info to get accurate pricing informationOther UpKuaJing skills you might find useful: