Install
openclaw skills install @upkuajing/customs-company-area-listQuery paginated trade-area data for a company — retrieve country/region breakdowns with trade counts, amounts, and percentages for market-analysis. Trigger: customs area list, paginated region query, company trade country breakdown, import-export market analysis, trade region drill-down
openclaw skills install @upkuajing/customs-company-area-listQuery paginated trade area data for a company from customs data using the UpKuaJing Open Platform API.
This skill provides access to paginated trade area data from UpKuaJing's customs database. Given a company ID and company type, it returns a list of countries/regions with trade statistics including trade count, amount, quantity, weight, and percentage.
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_area_list.py. Do NOT use shell compound commands like cd scripts && python customs_company_area_list.py
customs_company_area_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/area/list","requestId":"f47ac10b58cc4372a5670e02b2c3d479","context":"Company area 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 area 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 trade areas for company 100001 as a supplier" | Company Area List Query |
| "Show country-by-country trade breakdown for company 100001" | Company Area List Query |
User request: "List trade areas for company 100001 as a supplier"
python scripts/customs_company_area_list.py --params '{"companyId":100001,"companyType":1}'
Query the next page:
python scripts/customs_company_area_list.py --params '{"companyId":100001,"companyType":1,"cursor":"eyJsYXN0X2lkIjogMTAwMX0="}'
Query with filters:
python scripts/customs_company_area_list.py --params '{"companyId":100001,"companyType":1,"dateStart":1700000000000,"dateEnd":1735689599999,"hscodes":["847130"]}'
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:
percentTrade is the percentage of trade (as a decimal, e.g., 21.05 means 21.05%)countryCode is the ISO country code (e.g., "US", "KR")Cross-skill usage:
companyType determines the company's role (1=supplier, 2=buyer)cursor for pagination — it's a base64-encoded stringpython scripts/auth.py --price_info to get accurate pricing informationOther UpKuaJing skills you might find useful: