{"id":"3631286a-507e-4531-93ca-484f6fdb4052","entityType":"agent","slug":"clawhub-upkuajing-upkuajing-sms-tool","name":"Global bulk business SMS and commercial marketing text messaging built for cross-border B2B outreach. Access full two-way reply features, one-click massdispatch, live task tracking and detailed delivery reports to monitor real-time SMS delivery status. Ma","canonicalUrl":"https://www.xpersona.co/agent/clawhub-upkuajing-upkuajing-sms-tool","canonicalPath":"/agent/clawhub-upkuajing-upkuajing-sms-tool","generatedAt":"2026-10-10T10:45:05.765Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T08:39:56.748Z","emptyReason":null},"description":"Send global bulk SMS with two‑way replies. Monitor delivery status via real‑time reports, boost conversions and run outreach campaigns for cross‑border businesses and exporters. Trigger: global bulk SMS service, two‑way SMS replies, SMS delivery reports, cross‑border SMS marketing, customer re‑engagement, mass text for exporters","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.6K downloads reported by the source. Last updated 10/10/2026.","installCommand":"clawhub skill install s17304xrt0p2xssnmr7datqzks83gvsr:upkuajing-sms-tool","sourceUrl":"https://clawhub.ai/upkuajing/upkuajing-sms-tool","homepage":"https://clawhub.ai/upkuajing/skills/upkuajing-sms-tool","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/upkuajing/upkuajing-sms-tool","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/upkuajing/skills/upkuajing-sms-tool","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":64,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Global bulk business SMS and commercial marketing text messaging built for cross-border B2B outreach. Access full two-way reply features, one-click massdispatch"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-10T08:39:56.748Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T08:39:56.748Z","emptyReason":null},"stars":null,"forks":null,"downloads":1551,"packageName":null,"latestVersion":"1.0.4","tractionLabel":"1.6K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T08:39:56.748Z","emptyReason":null},"lastUpdatedAt":"2026-10-10T08:39:56.748Z","lastCrawledAt":"2026-10-10T08:39:56.748Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-11T08:39:56.748Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.4","createdAt":"2026-08-24T09:13:15.999Z","changelog":"updated","fileCount":15,"zipByteSize":23131},{"version":"1.0.3","createdAt":"2026-07-16T08:57:21.250Z","changelog":"updated","fileCount":13,"zipByteSize":19991},{"version":"1.0.2","createdAt":"2026-07-16T06:19:24.256Z","changelog":"updated","fileCount":13,"zipByteSize":20135},{"version":"1.0.1","createdAt":"2026-07-06T04:06:56.488Z","changelog":"updated","fileCount":13,"zipByteSize":19808},{"version":"1.0.0","createdAt":"2026-04-17T11:42:02.295Z","changelog":"updated","fileCount":13,"zipByteSize":19994}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17304xrt0p2xssnmr7datqzks83gvsr:upkuajing-sms-tool","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s17304xrt0p2xssnmr7datqzks83gvsr:upkuajing-sms-tool` in an isolated environment before connecting it to live workloads.","No published capability contract is available yet, so validate auth and request/response behavior manually.","Review the upstream CLAWHUB listing at https://clawhub.ai/upkuajing/upkuajing-sms-tool before using production credentials."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-upkuajing-upkuajing-sms-tool/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-upkuajing-upkuajing-sms-tool/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-upkuajing-upkuajing-sms-tool/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-upkuajing-upkuajing-sms-tool/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-upkuajing-upkuajing-sms-tool/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-upkuajing-upkuajing-sms-tool/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T10:45:05.763Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-upkuajing-upkuajing-sms-tool/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-upkuajing-upkuajing-sms-tool/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-upkuajing-upkuajing-sms-tool/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-upkuajing-upkuajing-sms-tool/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T08:39:56.748Z","emptyReason":null},"readme":"Skill: Global bulk business SMS and commercial marketing text messaging built for cross-border B2B outreach. Access full two-way reply features, one-click massdispatch, live task tracking and detailed delivery reports to monitor real-time SMS delivery status. Marketing, sales, operations and customer support teamsengage global audiences with seamless cross-border communication. Track full SMS campaign performance metrics to lift conversion rates and reactivate lapsedoverseas clients. Fully applicable for promotional blasts, logistics order notifications, B2B cold outreach and customer re-engagement. Perfectly matched forcross-border e-commerce operations, export business expansion and global overseas user management workflows.\n\nOwner: upkuajing\n\nSummary: Send global bulk SMS with two‑way replies. Monitor delivery status via real‑time reports, boost conversions and run outreach campaigns for cross‑border businesses and exporters. Trigger: global bulk SMS service, two‑way SMS replies, SMS delivery reports, cross‑border SMS marketing, customer re‑engagement, mass text for exporters\n\nTags: SMS campaign tracking:1.0.4, bulk-sms:1.0.4, cross-border outreach:1.0.4, global mass SMS:1.0.4, latest:1.0.4, messaging:1.0.4, notification:1.0.4, otp:1.0.4, sms:1.0.4, text-message:1.0.4, two-way SMS replies:1.0.4\n\nVersion history:\n\nv1.0.4 | 2026-08-24T09:13:15.999Z | user\n\nupdated\n\nv1.0.3 | 2026-07-16T08:57:21.250Z | user\n\nupdated\n\nv1.0.2 | 2026-07-16T06:19:24.256Z | user\n\nupdated\n\nv1.0.1 | 2026-07-06T04:06:56.488Z | user\n\nupdated\n\nv1.0.0 | 2026-04-17T11:42:02.295Z | user\n\nupdated\n\nArchive index:\n\nArchive v1.0.4: 15 files, 23131 bytes\n\nFiles: references/skill-error-report-api.md (2070b), references/sms-send-api.md (917b), references/sms-task-list-api.md (1098b), references/sms-task-record-list-api.md (847b), requirements.txt (13b), scripts/auth.py (5358b), scripts/common.py (14556b), scripts/error_report.py (1845b), scripts/sms_send.py (3594b), scripts/sms_task_list.py (3557b), scripts/sms_task_record_list.py (3844b), scripts/version_check.py (4933b), skill-card.md (2600b), SKILL.md (9437b), _meta.json (137b)\n\nFile v1.0.4:SKILL.md\n\n---\nname: upkuajing-sms-tool\ndescription: \"Send global bulk SMS with two‑way replies. Monitor delivery status via real‑time reports, boost conversions and run outreach campaigns for cross‑border businesses and exporters.\\n\\nTrigger: global bulk SMS service, two‑way SMS replies, SMS delivery reports, cross‑border SMS marketing, customer re‑engagement, mass text for exporters\"\nmetadata: {\"version\":\"1.0.4\",\"homepage\":\"https://www.upkuajing.com\",\"clawdbot\":{\"emoji\":\"📱\",\"requires\":{\"bins\":[\"python\"],\"env\":[\"UPKUAJING_API_KEY\"]},\"primaryEnv\":\"UPKUAJING_API_KEY\"}}\n---\n\n# UpKuaJing SMS Tool\n\nSend SMS and track SMS task status using the UpKuaJing Open Platform API.\n\n## Overview\n\nThis skill provides access to UpKuaJing's SMS service through:\n- **SMS Send** (`sms_send.py`): Send SMS to phone numbers\n- **SMS Task List** (`sms_task_list.py`): View SMS task list with time range filter\n- **SMS Task Record List** (`sms_task_record_list.py`): View detailed records for a specific task\n\n## Running Scripts\n\n### Environment Setup\n\n1. **Check Python**: `python --version`\n2. **Install dependencies**: `pip install -r requirements.txt`\n\nScript directory: `scripts/*.py`\nRun example: `python scripts/*.py`\n\n**Important**: Always use direct script invocation like `python scripts/sms_send.py`. **Do NOT use** shell compound commands like `cd scripts && python sms_send.py`.\n\n## Three Main APIs\n\n### SMS Send (`sms_send.py`)\n\nSend SMS to phone numbers.\n\n**Parameters**: See [SMS Send API](references/sms-send-api.md)\n\n**Examples**:\n```bash\n# Send a simple SMS\npython scripts/sms_send.py \\\n  --content \"This is SMS content\" \\\n  --phones '[\"13800138000\"]'\n\n# Send with two-way mode (supports receiving replies)\npython scripts/sms_send.py \\\n  --content \"This is SMS content\" \\\n  --phones '[\"13800138000\"]' \\\n  --channel_type 1\n\n# Send to multiple phone numbers\npython scripts/sms_send.py \\\n  --content \"This is SMS content\" \\\n  --phones '[\"13800138000\",\"13800138001\"]'\n```\n\n### SMS Task List (`sms_task_list.py`)\n\nView SMS task list with optional time range filter.\n\n**Parameters**: See [SMS Task List API](references/sms-task-list-api.md)\n\n**Examples**:\n```bash\n# Get task list (first page, 10 items)\npython scripts/sms_task_list.py --page_no 1 --page_size 10\n\n# Filter by time range\npython scripts/sms_task_list.py \\\n  --start_time 1775812273 \\\n  --end_time 1775900000 \\\n  --page_no 1 \\\n  --page_size 10\n\n# Filter by status (0-待发送 1-发送中 2-发送完成)\npython scripts/sms_task_list.py --status 2 --page_no 1 --page_size 10\n```\n\n### SMS Task Record List (`sms_task_record_list.py`)\n\nView detailed records for a specific SMS task.\n\n**Parameters**: See [SMS Task Record List API](references/sms-task-record-list-api.md)\n\n**Examples**:\n```bash\n# Get records for task ID 1496\npython scripts/sms_task_record_list.py --task_id 1496 --page_no 1 --page_size 10\n\n# Filter by time range and status\npython scripts/sms_task_record_list.py \\\n  --task_id 1496 \\\n  --start_time 1775812273 \\\n  --end_time 1775900000 \\\n  --status 2 \\\n  --page_no 1 \\\n  --page_size 10\n```\n\n## API Key and UpKuaJing Account\n\n- **API Key**: Stored in `~/.upkuajing/.env` file as `UPKUAJING_API_KEY`\n- **First check**: If not set, prompt user to provide or apply at [UpKuaJing Open Platform](https://developer.upkuajing.com/)\n\n### **API Key Not Set**\nFirst check if the `~/.upkuajing/.env` file has UPKUAJING_API_KEY;\nIf UPKUAJING_API_KEY is not set, prompt the user to choose:\n1. User has one: User provides it (manually add to ~/.upkuajing/.env file)\n2. User doesn't have one: You can apply using the API (`auth.py --new_key`), the new key will be automatically saved to ~/.upkuajing/.env\nWait for user selection;\n\n### **Account Top-up**\nWhen API response indicates insufficient balance, explain and guide user to top up:\n1. Create top-up order (`auth.py --new_rec_order`)\n2. Based on order response, send payment page URL to user, guide user to open URL and pay, user confirms after successful payment;\n\n### **Get Account Information**\nUse this script to get account information for UPKUAJING_API_KEY: `auth.py --account_info`\n\n### **Report Skill Call Errors**\nWhen 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:\n```bash\npython scripts/error_report.py --params '{\"requestPath\":\"/agent/sms/send\",\"requestId\":\"f47ac10b58cc4372a5670e02b2c3d479\",\"context\":\"SMS send failed with a server error\"}'\n```\n- Do not report normal business conditions (insufficient balance, invalid API key, parameter errors) — handle them via their own flows\n- Error reporting does not incur query fees\n- **Parameters**: See [Error Report API](references/skill-error-report-api.md)\n\n## Fees\n\n**SMS sending API calls incur fees**, different interfaces have different billing methods.\n**Latest pricing**: Users can visit [Detailed Price Description](https://www.upkuajing.com/web/openapi/price.html)\nOr use: `python scripts/auth.py --price_info` (returns complete pricing for all interfaces)\n\n### SMS Send Billing Rules\n\n**SMS sending is charged** — each send request incurs a fee based on the number of phone numbers.\n\n### Task List & Record List Billing Rules\n\n**Free of charge** — No fees for task list and task record list queries.\n\n### Fee Confirmation Principle\n\n**Any operation that incurs fees must first inform and wait for explicit user confirmation. Do not execute in the same message as the notification.**\n\n## Workflow\n\n### Decision Guide\n\n| User Intent | Use API |\n|-------------|---------|\n| \"Send an SMS\" | SMS Send |\n| \"View my SMS tasks\" | SMS Task List |\n| \"Check SMS delivery status\" | SMS Task Record List |\n| \"Find tasks in a time range\" | SMS Task List (with start_time/end_time) |\n\n### SMS Send Flow\n\n1. **Prepare SMS content**: content, phone number list\n2. **Execute send**: Use sms_send.py with appropriate parameters\n3. **Get response**: API returns task result synchronously\n\n### Task Check Flow\n\n1. **View task list**: Use sms_task_list.py with optional time filter\n2. **Get task ID**: From the task list response\n3. **View task records**: Use sms_task_record_list.py with task_id\n\n## Error Handling\n\n- **API key invalid/non-existent**: Check `UPKUAJING_API_KEY` in `~/.upkuajing/.env` file\n- **Insufficient balance**: Guide user to top up\n- **Invalid parameters**: **Must first check the corresponding API documentation in references/ directory**, get correct parameter names and formats from documentation, do not guess\n- **Skill call errors / abnormal responses**: Explain to the user and, with user confirmation, report to the platform via `python scripts/error_report.py` (see [Report Skill Call Errors](#report-skill-call-errors))\n\n### API Documentation Reference\n\n- SMS Send: Check [references/sms-send-api.md](references/sms-send-api.md)\n- SMS Task List: Check [references/sms-task-list-api.md](references/sms-task-list-api.md)\n- SMS Task Record List: Check [references/sms-task-record-list-api.md](references/sms-task-record-list-api.md)\n- Error Report: Check [references/skill-error-report-api.md](references/skill-error-report-api.md)\n\n## Notes\n\n- File paths use forward slashes on all platforms\n- **Do not guess parameter names**, get accurate parameter names and formats from documentation\n- **Prohibit outputting technical parameter format**: Do not display code-style parameters in responses, convert to natural language\n- **Do not estimate or guess fees** — use `python scripts/auth.py --price_info` to get accurate pricing information\n- **SMS sending is synchronous submission**: The API returns response immediately after submission, but the SMS server processes asynchronously; the `status` field in response indicates sending status (1-sending 2-completed 3-failed 4-partial success)\n\n## Related Skills\n\nOther UpKuaJing skills you might find useful:\n\n- linkedin-person-search — Search people from the LinkedIn source\n- global-company-person-search — Search people from the global company database\n- linkedin-company-search — Search companies from the LinkedIn source\n- global-company-search — Search companies from the global company database\n- global-company-shareholder — Query shareholder list from the global company database\n- global-company-employee — Query employee list from the global company database\n- global-company-person-colleague — Query colleague list from the global company database\n- global-company-person-alumni — Query alumni list from the global company database\n- global-company-person-experience — Query work experience list from the global company database\n- global-company-person-education — Query education history list from the global company database\n- global-company-person-school-detail — Query school detail from the global company database\n- upkuajing-global-company-people-search — Global company and people search\n- upkuajing-customs-trade-company-search — Search customs trade companies\n- upkuajing-email-tool — Send emails and manage email tasks\n- upkuajing-map-merchants-search — Map-based merchant search\n- upkuajing-contact-info-validity-check — Check contact info validity\n- phone-validity-check — Check phone number validity\n- email-validity-check — Check email address validity\n- domain-validity-check — Check domain validity and security\n\nFile v1.0.4:_meta.json\n\n{\n  \"ownerId\": \"kn76ywjzma121r2rh959ejsf49834c6x\",\n  \"slug\": \"upkuajing-sms-tool\",\n  \"version\": \"1.0.4\",\n  \"publishedAt\": 1787562795999\n}\n\nFile v1.0.4:references/skill-error-report-api.md\n\n# Agent调用Skill异常上报 API 参考\n\n> 上报 Agent 调用 Skill 异常，用于平台侧问题追踪与优化。异常上报不产生查询费用。\n> 接口路径：`POST /agent/skill/error/report`\n> 鉴权：需要 Bearer 令牌（UPKUAJING_API_KEY）\n\n## python脚本参数\n\n- `--params`：JSON格式的上报参数（必填）\n- 未传 `skillId`/`skillVersion` 时，脚本会自动从当前 Skill 目录名与 SKILL.md 读取并填充\n- 必填参数：`skillId`、`skillVersion`、`requestId`、`requestPath`、`context`；其中 `requestId` 从出问题的请求响应（ApiResp.requestId）中获取\n\n## API请求参数\n\n| 参数 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| skillId | string | 是 | Skill 标识（最大128字符），如\"customs-analysis-area\" |\n| skillVersion | string | 是 | Skill 版本（最大32字符） |\n| agentName | string | 否 | Agent 名称（最大128字符） |\n| modelName | string | 否 | 模型名称（最大128字符） |\n| requestPath | string | 是 | 出问题的站内接口路径，以 / 开头（最大255字符），如\"/agent/customs/analysis/area\" |\n| requestId | string | 是 | 全请求唯一关联号（最大128字符），取失败请求响应中的 requestId |\n| requestTime | long | 否 | 请求发起时间戳（毫秒，≥0） |\n| requestParams | object | 否 | 请求参数（原始入参，敏感字段会自动脱敏；序列化后≤64KB） |\n| responseData | object | 否 | 响应数据（异常发生时的返回内容，敏感字段会自动脱敏；序列化后≤64KB） |\n| durationMs | long | 否 | 本次调用耗时（毫秒，≥0） |\n| context | string | 是 | 异常上下文（堆栈/错误信息，用于定位根因，最大2000字符） |\n\n## 响应数据\n\n### 外层结构\n\n- code（integer）：状态码，0 表示成功\n- msg（string）：提示信息\n- requestId（string）：全请求唯一关联号（32位无横线，与 MDC traceId 同值）\n\n### data 字段\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| reportId | long | 上报记录 ID |\n\nFile v1.0.4:references/sms-send-api.md\n\n# 短信发送 API 参考\n\n## python脚本参数\n- `--content`：短信内容, 最少10个字符（必填）\n- `--phones`：手机号列表（必填，JSON数组格式，如 '[\"13800138000\",\"13800138001\"]'）\n- `--channel_type`：发送类型（非必填，0-单向发送 1-双向，支持接收回复消息）\n- `--api_key`：API密钥（可选，默认从环境变量获取）\n\n## 响应数据\n\n### 任务信息\n- id：任务ID\n- name：任务名称\n- channelType：渠道类型（0-普通 1-双向）\n- tos：收件人（JSON数组字符串）\n- numb：总数量\n- numbSend：发送数\n- numbSuccess：成功数\n- numbFail：失败数\n- status：状态（1发送中 2发送成功 3失败 4部分成功）\n- priceTotal：实际费用（单位：分）\n- priceRebate：退回费用（单位：分）\n- priceReal：预扣费用（单位：分）\n- content：短信内容\n- sendTime：发送时间（秒级时间戳）\n\nFile v1.0.4:references/sms-task-list-api.md\n\n# 短信任务列表 API 参考\n\n## python脚本参数\n- `--page_no`：页码（必填，默认1）\n- `--page_size`：页大小（必填，默认10）\n- `--start_time`：开始时间（非必填，秒级时间戳）\n- `--end_time`：结束时间（非必填，秒级时间戳）\n- `--status`：发送状态（非必填，0-待发送 1-发送中 2-发送完成）\n- `--api_key`：API密钥（可选，默认从环境变量获取）\n\n## 响应数据\n\n### 分页信息\n- total：总记录数\n- pageNo：当前页码\n- pageSize：页大小\n- list：任务列表\n\n### 任务信息\n- id：任务ID\n- name：任务名称\n- channelType：渠道类型（0普通，1双向）\n- tos：收件人（JSON数组字符串）\n- numb：数量\n- numbSend：发送数量\n- numbSuccess：成功数量\n- numbFail：失败数量\n- status：状态（0-待发送 1-发送中 2-发送完成）\n- priceTotal：实际扣费（单位：分钱(RMB)）\n- priceRebate：返回金额（单位：分钱(RMB)）\n- priceReal：预扣费（单位：分钱(RMB)）\n- content：短信内容\n- sendTime：发送时间（秒级时间戳）\n\nFile v1.0.4:references/sms-task-record-list-api.md\n\n# 短信任务明细列表 API 参考\n\n## python脚本参数\n- `--task_id`：任务ID（必填）\n- `--page_no`：页码（必填，默认1）\n- `--page_size`：页大小（必填，默认10）\n- `--start_time`：开始时间（非必填，秒级时间戳）\n- `--end_time`：结束时间（非必填，秒级时间戳）\n- `--status`：发送状态（非必填，0-待发送 1-发送中 2-成功 3-失败）\n- `--api_key`：API密钥（可选，默认从环境变量获取）\n\n## 响应数据\n\n### 分页信息\n- total：总记录数\n- pageNo：当前页码\n- pageSize：页大小\n- list：明细列表\n\n### 明细信息\n- id：明细ID\n- taskId：任务ID\n- phone：手机号\n- channelType：渠道类型（0-普通 1-双向）\n- status：发送状态（0-待发送 1-发送中 2-成功 3-失败）\n- sendTime：发送时间（秒级时间戳）\n\nFile v1.0.4:skill-card.md\n\n## Description:\n\nSend global bulk SMS with two-way replies and monitor delivery status for cross-border business outreach.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[upkuajing](https://clawhub.ai/user/upkuajing)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nMarketing, sales, operations, and customer support teams use this skill to send paid bulk SMS, enable two-way replies, and review delivery records for cross-border outreach.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill can send paid SMS messages and may incur charges.\n\nMitigation: Require explicit user confirmation before paid send operations and use current pricing or account balance information before execution.\n\nRisk: The API key may be exposed if passed on the command line or stored with broad filesystem permissions.\n\nMitigation: Prefer UPKUAJING_API_KEY in the environment or a restricted ~/.upkuajing/.env file and avoid echoing or logging secrets.\n\nRisk: SMS workflows can expose phone numbers, message bodies, or secrets in troubleshooting reports.\n\nMitigation: Use the error-reporting flow only after user confirmation and omit sensitive data unless needed.\n\nRisk: The skill can be misused for unwanted or unlawful messaging.\n\nMitigation: Use only for lawful, consent-based SMS workflows.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/upkuajing/skills/upkuajing-sms-tool)\n- [UpKuaJing homepage](https://www.upkuajing.com)\n- [UpKuaJing Open Platform](https://developer.upkuajing.com/)\n- [Detailed Price Description](https://www.upkuajing.com/web/openapi/price.html)\n- [SMS Send API](artifact/references/sms-send-api.md)\n- [SMS Task List API](artifact/references/sms-task-list-api.md)\n- [SMS Task Record List API](artifact/references/sms-task-record-list-api.md)\n- [Skill Error Report API](artifact/references/skill-error-report-api.md)\n\n## Skill Output:\n\n**Output Type(s):** [text, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown guidance with shell commands and JSON API responses]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May return SMS task identifiers, delivery counts, delivery statuses, pricing or balance details, and request IDs.]\n\n## Skill Version(s):\n\n1.0.4 (source: server release and skill metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.4:requirements.txt\n\nhttpx>=0.23.0\n\nArchive v1.0.3: 13 files, 19991 bytes\n\nFiles: references/sms-send-api.md (917b), references/sms-task-list-api.md (1098b), references/sms-task-record-list-api.md (847b), requirements.txt (13b), scripts/auth.py (5358b), scripts/common.py (14556b), scripts/sms_send.py (3210b), scripts/sms_task_list.py (3173b), scripts/sms_task_record_list.py (3460b), scripts/version_check.py (4933b), skill-card.md (2236b), SKILL.md (8384b), _meta.json (137b)\n\nFile v1.0.3:SKILL.md\n\n---\nname: upkuajing-sms-tool\ndescription: \"Send global bulk SMS with two‑way replies. Monitor delivery status via real‑time reports, boost conversions and run outreach campaigns for cross‑border businesses and exporters.\\n\\nTrigger: global bulk SMS service, two‑way SMS replies, SMS delivery reports, cross‑border SMS marketing, customer re‑engagement, mass text for exporters\"\nmetadata: {\"version\":\"1.0.3\",\"homepage\":\"https://www.upkuajing.com\",\"clawdbot\":{\"emoji\":\"📱\",\"requires\":{\"bins\":[\"python\"],\"env\":[\"UPKUAJING_API_KEY\"]},\"primaryEnv\":\"UPKUAJING_API_KEY\"}}\n---\n\n# UpKuaJing SMS Tool\n\nSend SMS and track SMS task status using the UpKuaJing Open Platform API.\n\n## Overview\n\nThis skill provides access to UpKuaJing's SMS service through:\n- **SMS Send** (`sms_send.py`): Send SMS to phone numbers\n- **SMS Task List** (`sms_task_list.py`): View SMS task list with time range filter\n- **SMS Task Record List** (`sms_task_record_list.py`): View detailed records for a specific task\n\n## Running Scripts\n\n### Environment Setup\n\n1. **Check Python**: `python --version`\n2. **Install dependencies**: `pip install -r requirements.txt`\n\nScript directory: `scripts/*.py`\nRun example: `python scripts/*.py`\n\n**Important**: Always use direct script invocation like `python scripts/sms_send.py`. **Do NOT use** shell compound commands like `cd scripts && python sms_send.py`.\n\n## Three Main APIs\n\n### SMS Send (`sms_send.py`)\n\nSend SMS to phone numbers.\n\n**Parameters**: See [SMS Send API](references/sms-send-api.md)\n\n**Examples**:\n```bash\n# Send a simple SMS\npython scripts/sms_send.py \\\n  --content \"This is SMS content\" \\\n  --phones '[\"13800138000\"]'\n\n# Send with two-way mode (supports receiving replies)\npython scripts/sms_send.py \\\n  --content \"This is SMS content\" \\\n  --phones '[\"13800138000\"]' \\\n  --channel_type 1\n\n# Send to multiple phone numbers\npython scripts/sms_send.py \\\n  --content \"This is SMS content\" \\\n  --phones '[\"13800138000\",\"13800138001\"]'\n```\n\n### SMS Task List (`sms_task_list.py`)\n\nView SMS task list with optional time range filter.\n\n**Parameters**: See [SMS Task List API](references/sms-task-list-api.md)\n\n**Examples**:\n```bash\n# Get task list (first page, 10 items)\npython scripts/sms_task_list.py --page_no 1 --page_size 10\n\n# Filter by time range\npython scripts/sms_task_list.py \\\n  --start_time 1775812273 \\\n  --end_time 1775900000 \\\n  --page_no 1 \\\n  --page_size 10\n\n# Filter by status (0-待发送 1-发送中 2-发送完成)\npython scripts/sms_task_list.py --status 2 --page_no 1 --page_size 10\n```\n\n### SMS Task Record List (`sms_task_record_list.py`)\n\nView detailed records for a specific SMS task.\n\n**Parameters**: See [SMS Task Record List API](references/sms-task-record-list-api.md)\n\n**Examples**:\n```bash\n# Get records for task ID 1496\npython scripts/sms_task_record_list.py --task_id 1496 --page_no 1 --page_size 10\n\n# Filter by time range and status\npython scripts/sms_task_record_list.py \\\n  --task_id 1496 \\\n  --start_time 1775812273 \\\n  --end_time 1775900000 \\\n  --status 2 \\\n  --page_no 1 \\\n  --page_size 10\n```\n\n## API Key and UpKuaJing Account\n\n- **API Key**: Stored in `~/.upkuajing/.env` file as `UPKUAJING_API_KEY`\n- **First check**: If not set, prompt user to provide or apply at [UpKuaJing Open Platform](https://developer.upkuajing.com/)\n\n### **API Key Not Set**\nFirst check if the `~/.upkuajing/.env` file has UPKUAJING_API_KEY;\nIf UPKUAJING_API_KEY is not set, prompt the user to choose:\n1. User has one: User provides it (manually add to ~/.upkuajing/.env file)\n2. User doesn't have one: You can apply using the API (`auth.py --new_key`), the new key will be automatically saved to ~/.upkuajing/.env\nWait for user selection;\n\n### **Account Top-up**\nWhen API response indicates insufficient balance, explain and guide user to top up:\n1. Create top-up order (`auth.py --new_rec_order`)\n2. Based on order response, send payment page URL to user, guide user to open URL and pay, user confirms after successful payment;\n\n### **Get Account Information**\nUse this script to get account information for UPKUAJING_API_KEY: `auth.py --account_info`\n\n## Fees\n\n**SMS sending API calls incur fees**, different interfaces have different billing methods.\n**Latest pricing**: Users can visit [Detailed Price Description](https://www.upkuajing.com/web/openapi/price.html)\nOr use: `python scripts/auth.py --price_info` (returns complete pricing for all interfaces)\n\n### SMS Send Billing Rules\n\n**SMS sending is charged** — each send request incurs a fee based on the number of phone numbers.\n\n### Task List & Record List Billing Rules\n\n**Free of charge** — No fees for task list and task record list queries.\n\n### Fee Confirmation Principle\n\n**Any operation that incurs fees must first inform and wait for explicit user confirmation. Do not execute in the same message as the notification.**\n\n## Workflow\n\n### Decision Guide\n\n| User Intent | Use API |\n|-------------|---------|\n| \"Send an SMS\" | SMS Send |\n| \"View my SMS tasks\" | SMS Task List |\n| \"Check SMS delivery status\" | SMS Task Record List |\n| \"Find tasks in a time range\" | SMS Task List (with start_time/end_time) |\n\n### SMS Send Flow\n\n1. **Prepare SMS content**: content, phone number list\n2. **Execute send**: Use sms_send.py with appropriate parameters\n3. **Get response**: API returns task result synchronously\n\n### Task Check Flow\n\n1. **View task list**: Use sms_task_list.py with optional time filter\n2. **Get task ID**: From the task list response\n3. **View task records**: Use sms_task_record_list.py with task_id\n\n## Error Handling\n\n- **API key invalid/non-existent**: Check `UPKUAJING_API_KEY` in `~/.upkuajing/.env` file\n- **Insufficient balance**: Guide user to top up\n- **Invalid parameters**: **Must first check the corresponding API documentation in references/ directory**, get correct parameter names and formats from documentation, do not guess\n\n### API Documentation Reference\n\n- SMS Send: Check [references/sms-send-api.md](references/sms-send-api.md)\n- SMS Task List: Check [references/sms-task-list-api.md](references/sms-task-list-api.md)\n- SMS Task Record List: Check [references/sms-task-record-list-api.md](references/sms-task-record-list-api.md)\n\n## Notes\n\n- File paths use forward slashes on all platforms\n- **Do not guess parameter names**, get accurate parameter names and formats from documentation\n- **Prohibit outputting technical parameter format**: Do not display code-style parameters in responses, convert to natural language\n- **Do not estimate or guess fees** — use `python scripts/auth.py --price_info` to get accurate pricing information\n- **SMS sending is synchronous submission**: The API returns response immediately after submission, but the SMS server processes asynchronously; the `status` field in response indicates sending status (1-sending 2-completed 3-failed 4-partial success)\n\n## Related Skills\n\nOther UpKuaJing skills you might find useful:\n\n- linkedin-person-search — Search people from the LinkedIn source\n- global-company-person-search — Search people from the global company database\n- linkedin-company-search — Search companies from the LinkedIn source\n- global-company-search — Search companies from the global company database\n- global-company-shareholder — Query shareholder list from the global company database\n- global-company-employee — Query employee list from the global company database\n- global-company-person-colleague — Query colleague list from the global company database\n- global-company-person-alumni — Query alumni list from the global company database\n- global-company-person-experience — Query work experience list from the global company database\n- global-company-person-education — Query education history list from the global company database\n- global-company-person-school-detail — Query school detail from the global company database\n- upkuajing-global-company-people-search — Global company and people search\n- upkuajing-customs-trade-company-search — Search customs trade companies\n- upkuajing-email-tool — Send emails and manage email tasks\n- upkuajing-map-merchants-search — Map-based merchant search\n- upkuajing-contact-info-validity-check — Check contact info validity\n- phone-validity-check — Check phone number validity\n- email-validity-check — Check email address validity\n- domain-validity-check — Check domain validity and security\n\nFile v1.0.3:_meta.json\n\n{\n  \"ownerId\": \"kn76ywjzma121r2rh959ejsf49834c6x\",\n  \"slug\": \"upkuajing-sms-tool\",\n  \"version\": \"1.0.3\",\n  \"publishedAt\": 1784192241250\n}\n\nFile v1.0.3:references/sms-send-api.md\n\n# 短信发送 API 参考\n\n## python脚本参数\n- `--content`：短信内容, 最少10个字符（必填）\n- `--phones`：手机号列表（必填，JSON数组格式，如 '[\"13800138000\",\"13800138001\"]'）\n- `--channel_type`：发送类型（非必填，0-单向发送 1-双向，支持接收回复消息）\n- `--api_key`：API密钥（可选，默认从环境变量获取）\n\n## 响应数据\n\n### 任务信息\n- id：任务ID\n- name：任务名称\n- channelType：渠道类型（0-普通 1-双向）\n- tos：收件人（JSON数组字符串）\n- numb：总数量\n- numbSend：发送数\n- numbSuccess：成功数\n- numbFail：失败数\n- status：状态（1发送中 2发送成功 3失败 4部分成功）\n- priceTotal：实际费用（单位：分）\n- priceRebate：退回费用（单位：分）\n- priceReal：预扣费用（单位：分）\n- content：短信内容\n- sendTime：发送时间（秒级时间戳）\n\nFile v1.0.3:references/sms-task-list-api.md\n\n# 短信任务列表 API 参考\n\n## python脚本参数\n- `--page_no`：页码（必填，默认1）\n- `--page_size`：页大小（必填，默认10）\n- `--start_time`：开始时间（非必填，秒级时间戳）\n- `--end_time`：结束时间（非必填，秒级时间戳）\n- `--status`：发送状态（非必填，0-待发送 1-发送中 2-发送完成）\n- `--api_key`：API密钥（可选，默认从环境变量获取）\n\n## 响应数据\n\n### 分页信息\n- total：总记录数\n- pageNo：当前页码\n- pageSize：页大小\n- list：任务列表\n\n### 任务信息\n- id：任务ID\n- name：任务名称\n- channelType：渠道类型（0普通，1双向）\n- tos：收件人（JSON数组字符串）\n- numb：数量\n- numbSend：发送数量\n- numbSuccess：成功数量\n- numbFail：失败数量\n- status：状态（0-待发送 1-发送中 2-发送完成）\n- priceTotal：实际扣费（单位：分钱(RMB)）\n- priceRebate：返回金额（单位：分钱(RMB)）\n- priceReal：预扣费（单位：分钱(RMB)）\n- content：短信内容\n- sendTime：发送时间（秒级时间戳）\n\nFile v1.0.3:references/sms-task-record-list-api.md\n\n# 短信任务明细列表 API 参考\n\n## python脚本参数\n- `--task_id`：任务ID（必填）\n- `--page_no`：页码（必填，默认1）\n- `--page_size`：页大小（必填，默认10）\n- `--start_time`：开始时间（非必填，秒级时间戳）\n- `--end_time`：结束时间（非必填，秒级时间戳）\n- `--status`：发送状态（非必填，0-待发送 1-发送中 2-成功 3-失败）\n- `--api_key`：API密钥（可选，默认从环境变量获取）\n\n## 响应数据\n\n### 分页信息\n- total：总记录数\n- pageNo：当前页码\n- pageSize：页大小\n- list：明细列表\n\n### 明细信息\n- id：明细ID\n- taskId：任务ID\n- phone：手机号\n- channelType：渠道类型（0-普通 1-双向）\n- status：发送状态（0-待发送 1-发送中 2-成功 3-失败）\n- sendTime：发送时间（秒级时间戳）\n\nFile v1.0.3:skill-card.md\n\n## Description: <br>\nSend global bulk SMS with two-way replies and monitor delivery status through UpKuaJing task reports. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[upkuajing](https://clawhub.ai/user/upkuajing) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nMarketing, sales, operations, and customer support teams use this skill to send paid cross-border SMS campaigns, enable two-way replies, and check delivery task status. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Paid SMS sending can incur charges. <br>\nMitigation: Confirm pricing and obtain explicit user approval before executing send operations. <br>\nRisk: Bulk messaging can create legal, consent, or abuse risk. <br>\nMitigation: Confirm recipient consent, applicable messaging rules, and message content before sending. <br>\nRisk: The skill handles phone numbers, message content, delivery records, and an API key. <br>\nMitigation: Limit exposure of recipient data and keep ~/.upkuajing/.env private with restrictive file permissions. <br>\n\n\n## Reference(s): <br>\n- [SMS Send API](references/sms-send-api.md) <br>\n- [SMS Task List API](references/sms-task-list-api.md) <br>\n- [SMS Task Record List API](references/sms-task-record-list-api.md) <br>\n- [UpKuaJing Homepage](https://www.upkuajing.com) <br>\n- [UpKuaJing Open Platform](https://developer.upkuajing.com/) <br>\n- [UpKuaJing OpenAPI Pricing](https://www.upkuajing.com/web/openapi/price.html) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Shell commands, JSON, Guidance] <br>\n**Output Format:** [Markdown guidance with shell commands and JSON API responses] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Requires Python, httpx, and UPKUAJING_API_KEY for authenticated API calls.] <br>\n\n## Skill Version(s): <br>\n1.0.3 (source: server release metadata and skill frontmatter) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.0.3:requirements.txt\n\nhttpx>=0.23.0\n\nArchive v1.0.2: 13 files, 20135 bytes\n\nFiles: references/sms-send-api.md (917b), references/sms-task-list-api.md (1098b), references/sms-task-record-list-api.md (847b), requirements.txt (13b), scripts/auth.py (5358b), scripts/common.py (14556b), scripts/sms_send.py (3210b), scripts/sms_task_list.py (3173b), scripts/sms_task_record_list.py (3460b), scripts/version_check.py (4933b), skill-card.md (2603b), SKILL.md (8384b), _meta.json (137b)\n\nFile v1.0.2:SKILL.md\n\n---\nname: upkuajing-sms-tool\ndescription: \"Send global bulk SMS with two‑way replies. Monitor delivery status via real‑time reports, boost conversions and run outreach campaigns for cross‑border businesses and exporters.\\n\\nTrigger: global bulk SMS service, two‑way SMS replies, SMS delivery reports, cross‑border SMS marketing, customer re‑engagement, mass text for exporters\"\nmetadata: {\"version\":\"1.0.2\",\"homepage\":\"https://www.upkuajing.com\",\"clawdbot\":{\"emoji\":\"📱\",\"requires\":{\"bins\":[\"python\"],\"env\":[\"UPKUAJING_API_KEY\"]},\"primaryEnv\":\"UPKUAJING_API_KEY\"}}\n---\n\n# UpKuaJing SMS Tool\n\nSend SMS and track SMS task status using the UpKuaJing Open Platform API.\n\n## Overview\n\nThis skill provides access to UpKuaJing's SMS service through:\n- **SMS Send** (`sms_send.py`): Send SMS to phone numbers\n- **SMS Task List** (`sms_task_list.py`): View SMS task list with time range filter\n- **SMS Task Record List** (`sms_task_record_list.py`): View detailed records for a specific task\n\n## Running Scripts\n\n### Environment Setup\n\n1. **Check Python**: `python --version`\n2. **Install dependencies**: `pip install -r requirements.txt`\n\nScript directory: `scripts/*.py`\nRun example: `python scripts/*.py`\n\n**Important**: Always use direct script invocation like `python scripts/sms_send.py`. **Do NOT use** shell compound commands like `cd scripts && python sms_send.py`.\n\n## Three Main APIs\n\n### SMS Send (`sms_send.py`)\n\nSend SMS to phone numbers.\n\n**Parameters**: See [SMS Send API](references/sms-send-api.md)\n\n**Examples**:\n```bash\n# Send a simple SMS\npython scripts/sms_send.py \\\n  --content \"This is SMS content\" \\\n  --phones '[\"13800138000\"]'\n\n# Send with two-way mode (supports receiving replies)\npython scripts/sms_send.py \\\n  --content \"This is SMS content\" \\\n  --phones '[\"13800138000\"]' \\\n  --channel_type 1\n\n# Send to multiple phone numbers\npython scripts/sms_send.py \\\n  --content \"This is SMS content\" \\\n  --phones '[\"13800138000\",\"13800138001\"]'\n```\n\n### SMS Task List (`sms_task_list.py`)\n\nView SMS task list with optional time range filter.\n\n**Parameters**: See [SMS Task List API](references/sms-task-list-api.md)\n\n**Examples**:\n```bash\n# Get task list (first page, 10 items)\npython scripts/sms_task_list.py --page_no 1 --page_size 10\n\n# Filter by time range\npython scripts/sms_task_list.py \\\n  --start_time 1775812273 \\\n  --end_time 1775900000 \\\n  --page_no 1 \\\n  --page_size 10\n\n# Filter by status (0-待发送 1-发送中 2-发送完成)\npython scripts/sms_task_list.py --status 2 --page_no 1 --page_size 10\n```\n\n### SMS Task Record List (`sms_task_record_list.py`)\n\nView detailed records for a specific SMS task.\n\n**Parameters**: See [SMS Task Record List API](references/sms-task-record-list-api.md)\n\n**Examples**:\n```bash\n# Get records for task ID 1496\npython scripts/sms_task_record_list.py --task_id 1496 --page_no 1 --page_size 10\n\n# Filter by time range and status\npython scripts/sms_task_record_list.py \\\n  --task_id 1496 \\\n  --start_time 1775812273 \\\n  --end_time 1775900000 \\\n  --status 2 \\\n  --page_no 1 \\\n  --page_size 10\n```\n\n## API Key and UpKuaJing Account\n\n- **API Key**: Stored in `~/.upkuajing/.env` file as `UPKUAJING_API_KEY`\n- **First check**: If not set, prompt user to provide or apply at [UpKuaJing Open Platform](https://developer.upkuajing.com/)\n\n### **API Key Not Set**\nFirst check if the `~/.upkuajing/.env` file has UPKUAJING_API_KEY;\nIf UPKUAJING_API_KEY is not set, prompt the user to choose:\n1. User has one: User provides it (manually add to ~/.upkuajing/.env file)\n2. User doesn't have one: You can apply using the API (`auth.py --new_key`), the new key will be automatically saved to ~/.upkuajing/.env\nWait for user selection;\n\n### **Account Top-up**\nWhen API response indicates insufficient balance, explain and guide user to top up:\n1. Create top-up order (`auth.py --new_rec_order`)\n2. Based on order response, send payment page URL to user, guide user to open URL and pay, user confirms after successful payment;\n\n### **Get Account Information**\nUse this script to get account information for UPKUAJING_API_KEY: `auth.py --account_info`\n\n## Fees\n\n**SMS sending API calls incur fees**, different interfaces have different billing methods.\n**Latest pricing**: Users can visit [Detailed Price Description](https://www.upkuajing.com/web/openapi/price.html)\nOr use: `python scripts/auth.py --price_info` (returns complete pricing for all interfaces)\n\n### SMS Send Billing Rules\n\n**SMS sending is charged** — each send request incurs a fee based on the number of phone numbers.\n\n### Task List & Record List Billing Rules\n\n**Free of charge** — No fees for task list and task record list queries.\n\n### Fee Confirmation Principle\n\n**Any operation that incurs fees must first inform and wait for explicit user confirmation. Do not execute in the same message as the notification.**\n\n## Workflow\n\n### Decision Guide\n\n| User Intent | Use API |\n|-------------|---------|\n| \"Send an SMS\" | SMS Send |\n| \"View my SMS tasks\" | SMS Task List |\n| \"Check SMS delivery status\" | SMS Task Record List |\n| \"Find tasks in a time range\" | SMS Task List (with start_time/end_time) |\n\n### SMS Send Flow\n\n1. **Prepare SMS content**: content, phone number list\n2. **Execute send**: Use sms_send.py with appropriate parameters\n3. **Get response**: API returns task result synchronously\n\n### Task Check Flow\n\n1. **View task list**: Use sms_task_list.py with optional time filter\n2. **Get task ID**: From the task list response\n3. **View task records**: Use sms_task_record_list.py with task_id\n\n## Error Handling\n\n- **API key invalid/non-existent**: Check `UPKUAJING_API_KEY` in `~/.upkuajing/.env` file\n- **Insufficient balance**: Guide user to top up\n- **Invalid parameters**: **Must first check the corresponding API documentation in references/ directory**, get correct parameter names and formats from documentation, do not guess\n\n### API Documentation Reference\n\n- SMS Send: Check [references/sms-send-api.md](references/sms-send-api.md)\n- SMS Task List: Check [references/sms-task-list-api.md](references/sms-task-list-api.md)\n- SMS Task Record List: Check [references/sms-task-record-list-api.md](references/sms-task-record-list-api.md)\n\n## Notes\n\n- File paths use forward slashes on all platforms\n- **Do not guess parameter names**, get accurate parameter names and formats from documentation\n- **Prohibit outputting technical parameter format**: Do not display code-style parameters in responses, convert to natural language\n- **Do not estimate or guess fees** — use `python scripts/auth.py --price_info` to get accurate pricing information\n- **SMS sending is synchronous submission**: The API returns response immediately after submission, but the SMS server processes asynchronously; the `status` field in response indicates sending status (1-sending 2-completed 3-failed 4-partial success)\n\n## Related Skills\n\nOther UpKuaJing skills you might find useful:\n\n- linkedin-person-search — Search people from the LinkedIn source\n- global-company-person-search — Search people from the global company database\n- linkedin-company-search — Search companies from the LinkedIn source\n- global-company-search — Search companies from the global company database\n- global-company-shareholder — Query shareholder list from the global company database\n- global-company-employee — Query employee list from the global company database\n- global-company-person-colleague — Query colleague list from the global company database\n- global-company-person-alumni — Query alumni list from the global company database\n- global-company-person-experience — Query work experience list from the global company database\n- global-company-person-education — Query education history list from the global company database\n- global-company-person-school-detail — Query school detail from the global company database\n- upkuajing-global-company-people-search — Global company and people search\n- upkuajing-customs-trade-company-search — Search customs trade companies\n- upkuajing-email-tool — Send emails and manage email tasks\n- upkuajing-map-merchants-search — Map-based merchant search\n- upkuajing-contact-info-validity-check — Check contact info validity\n- phone-validity-check — Check phone number validity\n- email-validity-check — Check email address validity\n- domain-validity-check — Check domain validity and security\n\nFile v1.0.2:_meta.json\n\n{\n  \"ownerId\": \"kn76ywjzma121r2rh959ejsf49834c6x\",\n  \"slug\": \"upkuajing-sms-tool\",\n  \"version\": \"1.0.2\",\n  \"publishedAt\": 1784182764256\n}\n\nFile v1.0.2:references/sms-send-api.md\n\n# 短信发送 API 参考\n\n## python脚本参数\n- `--content`：短信内容, 最少10个字符（必填）\n- `--phones`：手机号列表（必填，JSON数组格式，如 '[\"13800138000\",\"13800138001\"]'）\n- `--channel_type`：发送类型（非必填，0-单向发送 1-双向，支持接收回复消息）\n- `--api_key`：API密钥（可选，默认从环境变量获取）\n\n## 响应数据\n\n### 任务信息\n- id：任务ID\n- name：任务名称\n- channelType：渠道类型（0-普通 1-双向）\n- tos：收件人（JSON数组字符串）\n- numb：总数量\n- numbSend：发送数\n- numbSuccess：成功数\n- numbFail：失败数\n- status：状态（1发送中 2发送成功 3失败 4部分成功）\n- priceTotal：实际费用（单位：分）\n- priceRebate：退回费用（单位：分）\n- priceReal：预扣费用（单位：分）\n- content：短信内容\n- sendTime：发送时间（秒级时间戳）\n\nFile v1.0.2:references/sms-task-list-api.md\n\n# 短信任务列表 API 参考\n\n## python脚本参数\n- `--page_no`：页码（必填，默认1）\n- `--page_size`：页大小（必填，默认10）\n- `--start_time`：开始时间（非必填，秒级时间戳）\n- `--end_time`：结束时间（非必填，秒级时间戳）\n- `--status`：发送状态（非必填，0-待发送 1-发送中 2-发送完成）\n- `--api_key`：API密钥（可选，默认从环境变量获取）\n\n## 响应数据\n\n### 分页信息\n- total：总记录数\n- pageNo：当前页码\n- pageSize：页大小\n- list：任务列表\n\n### 任务信息\n- id：任务ID\n- name：任务名称\n- channelType：渠道类型（0普通，1双向）\n- tos：收件人（JSON数组字符串）\n- numb：数量\n- numbSend：发送数量\n- numbSuccess：成功数量\n- numbFail：失败数量\n- status：状态（0-待发送 1-发送中 2-发送完成）\n- priceTotal：实际扣费（单位：分钱(RMB)）\n- priceRebate：返回金额（单位：分钱(RMB)）\n- priceReal：预扣费（单位：分钱(RMB)）\n- content：短信内容\n- sendTime：发送时间（秒级时间戳）\n\nFile v1.0.2:references/sms-task-record-list-api.md\n\n# 短信任务明细列表 API 参考\n\n## python脚本参数\n- `--task_id`：任务ID（必填）\n- `--page_no`：页码（必填，默认1）\n- `--page_size`：页大小（必填，默认10）\n- `--start_time`：开始时间（非必填，秒级时间戳）\n- `--end_time`：结束时间（非必填，秒级时间戳）\n- `--status`：发送状态（非必填，0-待发送 1-发送中 2-成功 3-失败）\n- `--api_key`：API密钥（可选，默认从环境变量获取）\n\n## 响应数据\n\n### 分页信息\n- total：总记录数\n- pageNo：当前页码\n- pageSize：页大小\n- list：明细列表\n\n### 明细信息\n- id：明细ID\n- taskId：任务ID\n- phone：手机号\n- channelType：渠道类型（0-普通 1-双向）\n- status：发送状态（0-待发送 1-发送中 2-成功 3-失败）\n- sendTime：发送时间（秒级时间戳）\n\nFile v1.0.2:skill-card.md\n\n## Description: <br>\nSend global bulk SMS with two-way replies and monitor delivery status through UpKuaJing Open Platform APIs. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[upkuajing](https://clawhub.ai/user/upkuajing) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal business users, marketers, sales teams, operations staff, and customer-service teams use this skill to send paid SMS campaigns, logistics alerts, outreach messages, and customer re-engagement texts. Agents can also inspect SMS task lists and delivery records for campaign tracking. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill can send paid SMS messages through UpKuaJing. <br>\nMitigation: Require explicit user confirmation of recipient list, content, and cost before sending messages or creating top-up orders. <br>\nRisk: SMS outreach can create compliance, consent, or reputational risk. <br>\nMitigation: Use the skill only for recipients and campaigns where the user has confirmed appropriate consent and message purpose. <br>\nRisk: The UpKuaJing API key may be stored in ~/.upkuajing/.env. <br>\nMitigation: Treat the file as a secret, restrict access on shared machines, and avoid committing or backing up the key into public locations. <br>\n\n\n## Reference(s): <br>\n- [SMS Send API](references/sms-send-api.md) <br>\n- [SMS Task List API](references/sms-task-list-api.md) <br>\n- [SMS Task Record List API](references/sms-task-record-list-api.md) <br>\n- [UpKuaJing Homepage](https://www.upkuajing.com) <br>\n- [UpKuaJing Open Platform](https://developer.upkuajing.com/) <br>\n- [UpKuaJing OpenAPI Pricing](https://www.upkuajing.com/web/openapi/price.html) <br>\n- [ClawHub Skill Page](https://clawhub.ai/upkuajing/skills/upkuajing-sms-tool) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [shell commands, configuration, json, guidance] <br>\n**Output Format:** [Markdown guidance with shell command examples and JSON API responses] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Requires Python, httpx, and an UpKuaJing API key stored in the UPKUAJING_API_KEY environment variable or ~/.upkuajing/.env.] <br>\n\n## Skill Version(s): <br>\n1.0.2 (source: server evidence and frontmatter) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.0.2:requirements.txt\n\nhttpx>=0.23.0\n\nArchive v1.0.1: 13 files, 19808 bytes\n\nFiles: references/sms-send-api.md (917b), references/sms-task-list-api.md (1098b), references/sms-task-record-list-api.md (847b), requirements.txt (13b), scripts/auth.py (5358b), scripts/common.py (14556b), scripts/sms_send.py (3210b), scripts/sms_task_list.py (3173b), scripts/sms_task_record_list.py (3460b), scripts/version_check.py (4933b), skill-card.md (2602b), SKILL.md (7082b), _meta.json (137b)\n\nFile v1.0.1:SKILL.md\n\n---\nname: upkuajing-sms-tool\ndescription: Official skill for upkuajing (跨境魔方). SMS tool API for sending SMS and tracking SMS task status. Includes SMS sending, task list, and task record list APIs.\nmetadata: {\"version\":\"1.0.1\",\"homepage\":\"https://www.upkuajing.com\",\"clawdbot\":{\"emoji\":\"📱\",\"requires\":{\"bins\":[\"python\"],\"env\":[\"UPKUAJING_API_KEY\"]},\"primaryEnv\":\"UPKUAJING_API_KEY\"}}\n---\n\n# UpKuaJing SMS Tool\n\nSend SMS and track SMS task status using the UpKuaJing Open Platform API.\n\n## Overview\n\nThis skill provides access to UpKuaJing's SMS service through:\n- **SMS Send** (`sms_send.py`): Send SMS to phone numbers\n- **SMS Task List** (`sms_task_list.py`): View SMS task list with time range filter\n- **SMS Task Record List** (`sms_task_record_list.py`): View detailed records for a specific task\n\n## Running Scripts\n\n### Environment Setup\n\n1. **Check Python**: `python --version`\n2. **Install dependencies**: `pip install -r requirements.txt`\n\nScript directory: `scripts/*.py`\nRun example: `python scripts/*.py`\n\n**Important**: Always use direct script invocation like `python scripts/sms_send.py`. **Do NOT use** shell compound commands like `cd scripts && python sms_send.py`.\n\n## Three Main APIs\n\n### SMS Send (`sms_send.py`)\n\nSend SMS to phone numbers.\n\n**Parameters**: See [SMS Send API](references/sms-send-api.md)\n\n**Examples**:\n```bash\n# Send a simple SMS\npython scripts/sms_send.py \\\n  --content \"This is SMS content\" \\\n  --phones '[\"13800138000\"]'\n\n# Send with two-way mode (supports receiving replies)\npython scripts/sms_send.py \\\n  --content \"This is SMS content\" \\\n  --phones '[\"13800138000\"]' \\\n  --channel_type 1\n\n# Send to multiple phone numbers\npython scripts/sms_send.py \\\n  --content \"This is SMS content\" \\\n  --phones '[\"13800138000\",\"13800138001\"]'\n```\n\n### SMS Task List (`sms_task_list.py`)\n\nView SMS task list with optional time range filter.\n\n**Parameters**: See [SMS Task List API](references/sms-task-list-api.md)\n\n**Examples**:\n```bash\n# Get task list (first page, 10 items)\npython scripts/sms_task_list.py --page_no 1 --page_size 10\n\n# Filter by time range\npython scripts/sms_task_list.py \\\n  --start_time 1775812273 \\\n  --end_time 1775900000 \\\n  --page_no 1 \\\n  --page_size 10\n\n# Filter by status (0-待发送 1-发送中 2-发送完成)\npython scripts/sms_task_list.py --status 2 --page_no 1 --page_size 10\n```\n\n### SMS Task Record List (`sms_task_record_list.py`)\n\nView detailed records for a specific SMS task.\n\n**Parameters**: See [SMS Task Record List API](references/sms-task-record-list-api.md)\n\n**Examples**:\n```bash\n# Get records for task ID 1496\npython scripts/sms_task_record_list.py --task_id 1496 --page_no 1 --page_size 10\n\n# Filter by time range and status\npython scripts/sms_task_record_list.py \\\n  --task_id 1496 \\\n  --start_time 1775812273 \\\n  --end_time 1775900000 \\\n  --status 2 \\\n  --page_no 1 \\\n  --page_size 10\n```\n\n## API Key and UpKuaJing Account\n\n- **API Key**: Stored in `~/.upkuajing/.env` file as `UPKUAJING_API_KEY`\n- **First check**: If not set, prompt user to provide or apply at [UpKuaJing Open Platform](https://developer.upkuajing.com/)\n\n### **API Key Not Set**\nFirst check if the `~/.upkuajing/.env` file has UPKUAJING_API_KEY;\nIf UPKUAJING_API_KEY is not set, prompt the user to choose:\n1. User has one: User provides it (manually add to ~/.upkuajing/.env file)\n2. User doesn't have one: You can apply using the API (`auth.py --new_key`), the new key will be automatically saved to ~/.upkuajing/.env\nWait for user selection;\n\n### **Account Top-up**\nWhen API response indicates insufficient balance, explain and guide user to top up:\n1. Create top-up order (`auth.py --new_rec_order`)\n2. Based on order response, send payment page URL to user, guide user to open URL and pay, user confirms after successful payment;\n\n### **Get Account Information**\nUse this script to get account information for UPKUAJING_API_KEY: `auth.py --account_info`\n\n## Fees\n\n**SMS sending API calls incur fees**, different interfaces have different billing methods.\n**Latest pricing**: Users can visit [Detailed Price Description](https://www.upkuajing.com/web/openapi/price.html)\nOr use: `python scripts/auth.py --price_info` (returns complete pricing for all interfaces)\n\n### SMS Send Billing Rules\n\n**SMS sending is charged** — each send request incurs a fee based on the number of phone numbers.\n\n### Task List & Record List Billing Rules\n\n**Free of charge** — No fees for task list and task record list queries.\n\n### Fee Confirmation Principle\n\n**Any operation that incurs fees must first inform and wait for explicit user confirmation. Do not execute in the same message as the notification.**\n\n## Workflow\n\n### Decision Guide\n\n| User Intent | Use API |\n|-------------|---------|\n| \"Send an SMS\" | SMS Send |\n| \"View my SMS tasks\" | SMS Task List |\n| \"Check SMS delivery status\" | SMS Task Record List |\n| \"Find tasks in a time range\" | SMS Task List (with start_time/end_time) |\n\n### SMS Send Flow\n\n1. **Prepare SMS content**: content, phone number list\n2. **Execute send**: Use sms_send.py with appropriate parameters\n3. **Get response**: API returns task result synchronously\n\n### Task Check Flow\n\n1. **View task list**: Use sms_task_list.py with optional time filter\n2. **Get task ID**: From the task list response\n3. **View task records**: Use sms_task_record_list.py with task_id\n\n## Error Handling\n\n- **API key invalid/non-existent**: Check `UPKUAJING_API_KEY` in `~/.upkuajing/.env` file\n- **Insufficient balance**: Guide user to top up\n- **Invalid parameters**: **Must first check the corresponding API documentation in references/ directory**, get correct parameter names and formats from documentation, do not guess\n\n### API Documentation Reference\n\n- SMS Send: Check [references/sms-send-api.md](references/sms-send-api.md)\n- SMS Task List: Check [references/sms-task-list-api.md](references/sms-task-list-api.md)\n- SMS Task Record List: Check [references/sms-task-record-list-api.md](references/sms-task-record-list-api.md)\n\n## Notes\n\n- File paths use forward slashes on all platforms\n- **Do not guess parameter names**, get accurate parameter names and formats from documentation\n- **Prohibit outputting technical parameter format**: Do not display code-style parameters in responses, convert to natural language\n- **Do not estimate or guess fees** — use `python scripts/auth.py --price_info` to get accurate pricing information\n- **SMS sending is synchronous submission**: The API returns response immediately after submission, but the SMS server processes asynchronously; the `status` field in response indicates sending status (1-sending 2-completed 3-failed 4-partial success)\n\n## Related Skills\n\nOther UpKuaJing skills you might find useful:\n\n- upkuajing-global-company-people-search — Global company and people search\n- upkuajing-customs-trade-company-search — Search customs trade companies\n- upkuajing-email-tool — Send emails and manage email tasks\n- upkuajing-map-merchants-search — Map-based merchant search\n- upkuajing-contact-info-validity-check — Check contact info validity\n\nFile v1.0.1:_meta.json\n\n{\n  \"ownerId\": \"kn76ywjzma121r2rh959ejsf49834c6x\",\n  \"slug\": \"upkuajing-sms-tool\",\n  \"version\": \"1.0.1\",\n  \"publishedAt\": 1783310816488\n}\n\nFile v1.0.1:references/sms-send-api.md\n\n# 短信发送 API 参考\n\n## python脚本参数\n- `--content`：短信内容, 最少10个字符（必填）\n- `--phones`：手机号列表（必填，JSON数组格式，如 '[\"13800138000\",\"13800138001\"]'）\n- `--channel_type`：发送类型（非必填，0-单向发送 1-双向，支持接收回复消息）\n- `--api_key`：API密钥（可选，默认从环境变量获取）\n\n## 响应数据\n\n### 任务信息\n- id：任务ID\n- name：任务名称\n- channelType：渠道类型（0-普通 1-双向）\n- tos：收件人（JSON数组字符串）\n- numb：总数量\n- numbSend：发送数\n- numbSuccess：成功数\n- numbFail：失败数\n- status：状态（1发送中 2发送成功 3失败 4部分成功）\n- priceTotal：实际费用（单位：分）\n- priceRebate：退回费用（单位：分）\n- priceReal：预扣费用（单位：分）\n- content：短信内容\n- sendTime：发送时间（秒级时间戳）\n\nFile v1.0.1:references/sms-task-list-api.md\n\n# 短信任务列表 API 参考\n\n## python脚本参数\n- `--page_no`：页码（必填，默认1）\n- `--page_size`：页大小（必填，默认10）\n- `--start_time`：开始时间（非必填，秒级时间戳）\n- `--end_time`：结束时间（非必填，秒级时间戳）\n- `--status`：发送状态（非必填，0-待发送 1-发送中 2-发送完成）\n- `--api_key`：API密钥（可选，默认从环境变量获取）\n\n## 响应数据\n\n### 分页信息\n- total：总记录数\n- pageNo：当前页码\n- pageSize：页大小\n- list：任务列表\n\n### 任务信息\n- id：任务ID\n- name：任务名称\n- channelType：渠道类型（0普通，1双向）\n- tos：收件人（JSON数组字符串）\n- numb：数量\n- numbSend：发送数量\n- numbSuccess：成功数量\n- numbFail：失败数量\n- status：状态（0-待发送 1-发送中 2-发送完成）\n- priceTotal：实际扣费（单位：分钱(RMB)）\n- priceRebate：返回金额（单位：分钱(RMB)）\n- priceReal：预扣费（单位：分钱(RMB)）\n- content：短信内容\n- sendTime：发送时间（秒级时间戳）\n\nFile v1.0.1:references/sms-task-record-list-api.md\n\n# 短信任务明细列表 API 参考\n\n## python脚本参数\n- `--task_id`：任务ID（必填）\n- `--page_no`：页码（必填，默认1）\n- `--page_size`：页大小（必填，默认10）\n- `--start_time`：开始时间（非必填，秒级时间戳）\n- `--end_time`：结束时间（非必填，秒级时间戳）\n- `--status`：发送状态（非必填，0-待发送 1-发送中 2-成功 3-失败）\n- `--api_key`：API密钥（可选，默认从环境变量获取）\n\n## 响应数据\n\n### 分页信息\n- total：总记录数\n- pageNo：当前页码\n- pageSize：页大小\n- list：明细列表\n\n### 明细信息\n- id：明细ID\n- taskId：任务ID\n- phone：手机号\n- channelType：渠道类型（0-普通 1-双向）\n- status：发送状态（0-待发送 1-发送中 2-成功 3-失败）\n- sendTime：发送时间（秒级时间戳）\n\nFile v1.0.1:skill-card.md\n\n## Description: <br>\nUpKuaJing SMS Tool helps agents send SMS messages through the UpKuaJing Open Platform API and track SMS task and delivery status. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[upkuajing](https://clawhub.ai/user/upkuajing) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal marketers, sales teams, operations teams, and developers use this skill to send bulk SMS messages, monitor campaign tasks, and review delivery records for customer outreach, notifications, and verification workflows. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill sends destination phone numbers, SMS content, delivery data, and account or billing details to UpKuaJing. <br>\nMitigation: Use it only with approved recipient data and SMS content, and install it only when UpKuaJing is trusted for that information. <br>\nRisk: The skill stores UPKUAJING_API_KEY locally and uses that credential for API calls. <br>\nMitigation: Keep the local API key file private, restrict access to the account, and rotate the key if exposure is suspected. <br>\nRisk: SMS sending and recharge flows can incur fees or present payment URLs. <br>\nMitigation: Require explicit confirmation before paid SMS sends or recharge orders, and review payment URLs before completing payment. <br>\n\n\n## Reference(s): <br>\n- [SMS Send API Reference](references/sms-send-api.md) <br>\n- [SMS Task List API Reference](references/sms-task-list-api.md) <br>\n- [SMS Task Record List API Reference](references/sms-task-record-list-api.md) <br>\n- [UpKuaJing Homepage](https://www.upkuajing.com) <br>\n- [UpKuaJing Open Platform](https://developer.upkuajing.com/) <br>\n- [UpKuaJing OpenAPI Pricing](https://www.upkuajing.com/web/openapi/price.html) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Text, Shell commands, Configuration, API calls] <br>\n**Output Format:** [Markdown guidance with shell command examples and JSON API responses] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Requires Python and UPKUAJING_API_KEY; paid SMS sending and account recharge actions require explicit user confirmation.] <br>\n\n## Skill Version(s): <br>\n1.0.1 (source: frontmatter metadata and server release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.0.1:requirements.txt\n\nhttpx>=0.23.0\n\nArchive v1.0.0: 13 files, 19994 bytes\n\nFiles: references/sms-send-api.md (917b), references/sms-task-list-api.md (1098b), references/sms-task-record-list-api.md (847b), requirements.txt (13b), scripts/auth.py (5517b), scripts/common.py (14556b), scripts/sms_send.py (3204b), scripts/sms_task_list.py (3167b), scripts/sms_task_record_list.py (3454b), scripts/version_check.py (4927b), skill-card.md (2997b), SKILL.md (7082b), _meta.json (137b)\n\nFile v1.0.0:SKILL.md\n\n---\nname: upkuajing-sms-tool\ndescription: Official skill for upkuajing (跨境魔方). SMS tool API for sending SMS and tracking SMS task status. Includes SMS sending, task list, and task record list APIs.\nmetadata: {\"version\":\"1.0.0\",\"homepage\":\"https://www.upkuajing.com\",\"clawdbot\":{\"emoji\":\"📱\",\"requires\":{\"bins\":[\"python\"],\"env\":[\"UPKUAJING_API_KEY\"]},\"primaryEnv\":\"UPKUAJING_API_KEY\"}}\n---\n\n# UpKuaJing SMS Tool\n\nSend SMS and track SMS task status using the UpKuaJing Open Platform API.\n\n## Overview\n\nThis skill provides access to UpKuaJing's SMS service through:\n- **SMS Send** (`sms_send.py`): Send SMS to phone numbers\n- **SMS Task List** (`sms_task_list.py`): View SMS task list with time range filter\n- **SMS Task Record List** (`sms_task_record_list.py`): View detailed records for a specific task\n\n## Running Scripts\n\n### Environment Setup\n\n1. **Check Python**: `python --version`\n2. **Install dependencies**: `pip install -r requirements.txt`\n\nScript directory: `scripts/*.py`\nRun example: `python scripts/*.py`\n\n**Important**: Always use direct script invocation like `python scripts/sms_send.py`. **Do NOT use** shell compound commands like `cd scripts && python sms_send.py`.\n\n## Three Main APIs\n\n### SMS Send (`sms_send.py`)\n\nSend SMS to phone numbers.\n\n**Parameters**: See [SMS Send API](references/sms-send-api.md)\n\n**Examples**:\n```bash\n# Send a simple SMS\npython scripts/sms_send.py \\\n  --content \"This is SMS content\" \\\n  --phones '[\"13800138000\"]'\n\n# Send with two-way mode (supports receiving replies)\npython scripts/sms_send.py \\\n  --content \"This is SMS content\" \\\n  --phones '[\"13800138000\"]' \\\n  --channel_type 1\n\n# Send to multiple phone numbers\npython scripts/sms_send.py \\\n  --content \"This is SMS content\" \\\n  --phones '[\"13800138000\",\"13800138001\"]'\n```\n\n### SMS Task List (`sms_task_list.py`)\n\nView SMS task list with optional time range filter.\n\n**Parameters**: See [SMS Task List API](references/sms-task-list-api.md)\n\n**Examples**:\n```bash\n# Get task list (first page, 10 items)\npython scripts/sms_task_list.py --page_no 1 --page_size 10\n\n# Filter by time range\npython scripts/sms_task_list.py \\\n  --start_time 1775812273 \\\n  --end_time 1775900000 \\\n  --page_no 1 \\\n  --page_size 10\n\n# Filter by status (0-待发送 1-发送中 2-发送完成)\npython scripts/sms_task_list.py --status 2 --page_no 1 --page_size 10\n```\n\n### SMS Task Record List (`sms_task_record_list.py`)\n\nView detailed records for a specific SMS task.\n\n**Parameters**: See [SMS Task Record List API](references/sms-task-record-list-api.md)\n\n**Examples**:\n```bash\n# Get records for task ID 1496\npython scripts/sms_task_record_list.py --task_id 1496 --page_no 1 --page_size 10\n\n# Filter by time range and status\npython scripts/sms_task_record_list.py \\\n  --task_id 1496 \\\n  --start_time 1775812273 \\\n  --end_time 1775900000 \\\n  --status 2 \\\n  --page_no 1 \\\n  --page_size 10\n```\n\n## API Key and UpKuaJing Account\n\n- **API Key**: Stored in `~/.upkuajing/.env` file as `UPKUAJING_API_KEY`\n- **First check**: If not set, prompt user to provide or apply at [UpKuaJing Open Platform](https://developer.upkuajing.com/)\n\n### **API Key Not Set**\nFirst check if the `~/.upkuajing/.env` file has UPKUAJING_API_KEY;\nIf UPKUAJING_API_KEY is not set, prompt the user to choose:\n1. User has one: User provides it (manually add to ~/.upkuajing/.env file)\n2. User doesn't have one: You can apply using the API (`auth.py --new_key`), the new key will be automatically saved to ~/.upkuajing/.env\nWait for user selection;\n\n### **Account Top-up**\nWhen API response indicates insufficient balance, explain and guide user to top up:\n1. Create top-up order (`auth.py --new_rec_order`)\n2. Based on order response, send payment page URL to user, guide user to open URL and pay, user confirms after successful payment;\n\n### **Get Account Information**\nUse this script to get account information for UPKUAJING_API_KEY: `auth.py --account_info`\n\n## Fees\n\n**SMS sending API calls incur fees**, different interfaces have different billing methods.\n**Latest pricing**: Users can visit [Detailed Price Description](https://www.upkuajing.com/web/openapi/price.html)\nOr use: `python scripts/auth.py --price_info` (returns complete pricing for all interfaces)\n\n### SMS Send Billing Rules\n\n**SMS sending is charged** — each send request incurs a fee based on the number of phone numbers.\n\n### Task List & Record List Billing Rules\n\n**Free of charge** — No fees for task list and task record list queries.\n\n### Fee Confirmation Principle\n\n**Any operation that incurs fees must first inform and wait for explicit user confirmation. Do not execute in the same message as the notification.**\n\n## Workflow\n\n### Decision Guide\n\n| User Intent | Use API |\n|-------------|---------|\n| \"Send an SMS\" | SMS Send |\n| \"View my SMS tasks\" | SMS Task List |\n| \"Check SMS delivery status\" | SMS Task Record List |\n| \"Find tasks in a time range\" | SMS Task List (with start_time/end_time) |\n\n### SMS Send Flow\n\n1. **Prepare SMS content**: content, phone number list\n2. **Execute send**: Use sms_send.py with appropriate parameters\n3. **Get response**: API returns task result synchronously\n\n### Task Check Flow\n\n1. **View task list**: Use sms_task_list.py with optional time filter\n2. **Get task ID**: From the task list response\n3. **View task records**: Use sms_task_record_list.py with task_id\n\n## Error Handling\n\n- **API key invalid/non-existent**: Check `UPKUAJING_API_KEY` in `~/.upkuajing/.env` file\n- **Insufficient balance**: Guide user to top up\n- **Invalid parameters**: **Must first check the corresponding API documentation in references/ directory**, get correct parameter names and formats from documentation, do not guess\n\n### API Documentation Reference\n\n- SMS Send: Check [references/sms-send-api.md](references/sms-send-api.md)\n- SMS Task List: Check [references/sms-task-list-api.md](references/sms-task-list-api.md)\n- SMS Task Record List: Check [references/sms-task-record-list-api.md](references/sms-task-record-list-api.md)\n\n## Notes\n\n- File paths use forward slashes on all platforms\n- **Do not guess parameter names**, get accurate parameter names and formats from documentation\n- **Prohibit outputting technical parameter format**: Do not display code-style parameters in responses, convert to natural language\n- **Do not estimate or guess fees** — use `python scripts/auth.py --price_info` to get accurate pricing information\n- **SMS sending is synchronous submission**: The API returns response immediately after submission, but the SMS server processes asynchronously; the `status` field in response indicates sending status (1-sending 2-completed 3-failed 4-partial success)\n\n## Related Skills\n\nOther UpKuaJing skills you might find useful:\n\n- upkuajing-global-company-people-search — Global company and people search\n- upkuajing-customs-trade-company-search — Search customs trade companies\n- upkuajing-email-tool — Send emails and manage email tasks\n- upkuajing-map-merchants-search — Map-based merchant search\n- upkuajing-contact-info-validity-check — Check contact info validity\n\nFile v1.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn76ywjzma121r2rh959ejsf49834c6x\",\n  \"slug\": \"upkuajing-sms-tool\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1776426122295\n}\n\nFile v1.0.0:references/sms-send-api.md\n\n# 短信发送 API 参考\n\n## python脚本参数\n- `--content`：短信内容, 最少10个字符（必填）\n- `--phones`：手机号列表（必填，JSON数组格式，如 '[\"13800138000\",\"13800138001\"]'）\n- `--channel_type`：发送类型（非必填，0-单向发送 1-双向，支持接收回复消息）\n- `--api_key`：API密钥（可选，默认从环境变量获取）\n\n## 响应数据\n\n### 任务信息\n- id：任务ID\n- name：任务名称\n- channelType：渠道类型（0-普通 1-双向）\n- tos：收件人（JSON数组字符串）\n- numb：总数量\n- numbSend：发送数\n- numbSuccess：成功数\n- numbFail：失败数\n- status：状态（1发送中 2发送成功 3失败 4部分成功）\n- priceTotal：实际费用（单位：分）\n- priceRebate：退回费用（单位：分）\n- priceReal：预扣费用（单位：分）\n- content：短信内容\n- sendTime：发送时间（秒级时间戳）\n\nFile v1.0.0:references/sms-task-list-api.md\n\n# 短信任务列表 API 参考\n\n## python脚本参数\n- `--page_no`：页码（必填，默认1）\n- `--page_size`：页大小（必填，默认10）\n- `--start_time`：开始时间（非必填，秒级时间戳）\n- `--end_time`：结束时间（非必填，秒级时间戳）\n- `--status`：发送状态（非必填，0-待发送 1-发送中 2-发送完成）\n- `--api_key`：API密钥（可选，默认从环境变量获取）\n\n## 响应数据\n\n### 分页信息\n- total：总记录数\n- pageNo：当前页码\n- pageSize：页大小\n- list：任务列表\n\n### 任务信息\n- id：任务ID\n- name：任务名称\n- channelType：渠道类型（0普通，1双向）\n- tos：收件人（JSON数组字符串）\n- numb：数量\n- numbSend：发送数量\n- numbSuccess：成功数量\n- numbFail：失败数量\n- status：状态（0-待发送 1-发送中 2-发送完成）\n- priceTotal：实际扣费（单位：分钱(RMB)）\n- priceRebate：返回金额（单位：分钱(RMB)）\n- priceReal：预扣费（单位：分钱(RMB)）\n- content：短信内容\n- sendTime：发送时间（秒级时间戳）\n\nFile v1.0.0:references/sms-task-record-list-api.md\n\n# 短信任务明细列表 API 参考\n\n## python脚本参数\n- `--task_id`：任务ID（必填）\n- `--page_no`：页码（必填，默认1）\n- `--page_size`：页大小（必填，默认10）\n- `--start_time`：开始时间（非必填，秒级时间戳）\n- `--end_time`：结束时间（非必填，秒级时间戳）\n- `--status`：发送状态（非必填，0-待发送 1-发送中 2-成功 3-失败）\n- `--api_key`：API密钥（可选，默认从环境变量获取）\n\n## 响应数据\n\n### 分页信息\n- total：总记录数\n- pageNo：当前页码\n- pageSize：页大小\n- list：明细列表\n\n### 明细信息\n- id：明细ID\n- taskId：任务ID\n- phone：手机号\n- channelType：渠道类型（0-普通 1-双向）\n- status：发送状态（0-待发送 1-发送中 2-成功 3-失败）\n- sendTime：发送时间（秒级时间戳）\n\nFile v1.0.0:skill-card.md\n\n## Description: <br>\nOfficial skill for upkuajing (跨境魔方). SMS tool API for sending SMS and tracking SMS task status. Includes SMS sending, task list, and task record list APIs. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[upkuajing](https://clawhub.ai/user/upkuajing) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nMarketing, sales, and operations teams use this skill to send SMS messages, review SMS task lists, and inspect delivery records through UpKuaJing's SMS service. It supports promotional outreach, notifications, two-factor authentication, and client communication workflows that require explicit user review before paid sends or account top-ups. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill handles sensitive recipient phone numbers, SMS message bodies, delivery records, billing activity, and an UPKUAJING_API_KEY. <br>\nMitigation: Use environment variables or a managed secrets store for the API key, avoid committing local credential files, and share SMS content or delivery data only with trusted UpKuaJing accounts. <br>\nRisk: SMS sending and account top-up actions can incur charges. <br>\nMitigation: Review pricing through the documented price endpoint or pricing page and require explicit user confirmation before executing paid sends or creating top-up orders. <br>\nRisk: Normal operation sends request data to UpKuaJing's hosted API and may keep a small local version cache. <br>\nMitigation: Use the skill only where contacting openapi.upkuajing.com is acceptable and where local cache behavior is permitted by the user's environment. <br>\n\n\n## Reference(s): <br>\n- [ClawHub release page](https://clawhub.ai/upkuajing/upkuajing-sms-tool) <br>\n- [UpKuaJing homepage](https://www.upkuajing.com) <br>\n- [UpKuaJing developer portal](https://developer.upkuajing.com/) <br>\n- [UpKuaJing SMS pricing](https://www.upkuajing.com/web/openapi/price.html) <br>\n- [SMS Send API Reference](references/sms-send-api.md) <br>\n- [SMS Task List API Reference](references/sms-task-list-api.md) <br>\n- [SMS Task Record List API Reference](references/sms-task-record-list-api.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown guidance with shell command examples; invoked scripts return JSON API responses.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Requires Python, httpx, and UPKUAJING_API_KEY; normal use contacts openapi.upkuajing.com.] <br>\n\n## Skill Version(s): <br>\n1.0.0 (source: server evidence, release metadata, and skill frontmatter) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.0.0:requirements.txt\n\nhttpx>=0.23.0","readmeExcerpt":"Skill: Global bulk business SMS and commercial marketing text messaging built for cross-border B2B outreach. Access full two-way reply features, one-click massdispatch, live task tracking and detailed delivery reports to monitor real-time SMS delivery status. Marketing, sales, operations and customer support teamsengage global audiences with seamless cross-border communication. Track full SMS campaign performance met","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"# Send a simple SMS\npython scripts/sms_send.py \\\n  --content \"This is SMS content\" \\\n  --phones '[\"13800138000\"]'\n\n# Send with two-way mode (supports receiving replies)\npython scripts/sms_send.py \\\n  --content \"This is SMS content\" \\\n  --phones '[\"13800138000\"]' \\\n  --channel_type 1\n\n# Send to multiple phone numbers\npython scripts/sms_send.py \\\n  --content \"This is SMS content\" \\\n  --phones '[\"13800138000\",\"13800138001\"]'"},{"language":"bash","snippet":"# Get task list (first page, 10 items)\npython scripts/sms_task_list.py --page_no 1 --page_size 10\n\n# Filter by time range\npython scripts/sms_task_list.py \\\n  --start_time 1775812273 \\\n  --end_time 1775900000 \\\n  --page_no 1 \\\n  --page_size 10\n\n# Filter by status (0-待发送 1-发送中 2-发送完成)\npython scripts/sms_task_list.py --status 2 --page_no 1 --page_size 10"},{"language":"bash","snippet":"# Get records for task ID 1496\npython scripts/sms_task_record_list.py --task_id 1496 --page_no 1 --page_size 10\n\n# Filter by time range and status\npython scripts/sms_task_record_list.py \\\n  --task_id 1496 \\\n  --start_time 1775812273 \\\n  --end_time 1775900000 \\\n  --status 2 \\\n  --page_no 1 \\\n  --page_size 10"},{"language":"bash","snippet":"python scripts/error_report.py --params '{\"requestPath\":\"/agent/sms/send\",\"requestId\":\"f47ac10b58cc4372a5670e02b2c3d479\",\"context\":\"SMS send failed with a server error\"}'"},{"language":"bash","snippet":"# Send a simple SMS\npython scripts/sms_send.py \\\n  --content \"This is SMS content\" \\\n  --phones '[\"13800138000\"]'\n\n# Send with two-way mode (supports receiving replies)\npython scripts/sms_send.py \\\n  --content \"This is SMS content\" \\\n  --phones '[\"13800138000\"]' \\\n  --channel_type 1\n\n# Send to multiple phone numbers\npython scripts/sms_send.py \\\n  --content \"This is SMS content\" \\\n  --phones '[\"13800138000\",\"13800138001\"]'"},{"language":"bash","snippet":"# Get task list (first page, 10 items)\npython scripts/sms_task_list.py --page_no 1 --page_size 10\n\n# Filter by time range\npython scripts/sms_task_list.py \\\n  --start_time 1775812273 \\\n  --end_time 1775900000 \\\n  --page_no 1 \\\n  --page_size 10\n\n# Filter by status (0-待发送 1-发送中 2-发送完成)\npython scripts/sms_task_list.py --status 2 --page_no 1 --page_size 10"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: upkuajing-sms-tool\ndescription: \"Send global bulk SMS with two‑way replies. Monitor delivery status via real‑time reports, boost conversions and run outreach campaigns for cross‑border businesses and exporters.\\n\\nTrigger: global bulk SMS service, two‑way SMS replies, SMS delivery reports, cross‑border SMS marketing, customer re‑engagement, mass text for exporters\"\nmetadata: {\"version\":\"1.0.4\",\"homepage\":\"https://www.upkuajing.com\",\"clawdbot\":{\"emoji\":\"📱\",\"requires\":{\"bins\":[\"python\"],\"env\":[\"UPKUAJING_API_KEY\"]},\"primaryEnv\":\"UPKUAJING_API_KEY\"}}\n---\n\n# UpKuaJing SMS Tool\n\nSend SMS and track SMS task status using the UpKuaJing Open Platform API.\n\n## Overview\n\nThis skill provides access to UpKuaJing's SMS service through:\n- **SMS Send** (`sms_send.py`): Send SMS to phone numbers\n- **SMS Task List** (`sms_task_list.py`): View SMS task list with time range filter\n- **SMS Task Record List** (`sms_task_record_list.py`): View detailed records for a specific task\n\n## Running Scripts\n\n### Environment Setup\n\n1. **Check Python**: `python --version`\n2. **Install dependencies**: `pip install -r requirements.txt`\n\nScript directory: `scripts/*.py`\nRun example: `python scripts/*.py`\n\n**Important**: Always use direct script invocation like `python scripts/sms_send.py`. **Do NOT use** shell compound commands like `cd scripts && python sms_send.py`.\n\n## Three Main APIs\n\n### SMS Send (`sms_send.py`)\n\nSend SMS to phone numbers.\n\n**Parameters**: See [SMS Send API](references/sms-send-api.md)\n\n**Examples**:\n```bash\n# Send a simple SMS\npython scripts/sms_send.py \\\n  --content \"This is SMS content\" \\\n  --phones '[\"13800138000\"]'\n\n# Send with two-way mode (supports receiving replies)\npython scripts/sms_send.py \\\n  --content \"This is SMS content\" \\\n  --phones '[\"13800138000\"]' \\\n  --channel_type 1\n\n# Send to multiple phone numbers\npython scripts/sms_send.py \\\n  --content \"This is SMS content\" \\\n  --phones '[\"13800138000\",\"13800138001\"]'\n```\n\n### SMS Task List (`sms_task_list.py`)\n\nView SMS task list with optional time range filter.\n\n**Parameters**: See [SMS Task List API](references/sms-task-list-api.md)\n\n**Examples**:\n```bash\n# Get task list (first page, 10 items)\npython scripts/sms_task_list.py --page_no 1 --page_size 10\n\n# Filter by time range\npython scripts/sms_task_list.py \\\n  --start_time 1775812273 \\\n  --end_time 1775900000 \\\n  --page_no 1 \\\n  --page_size 10\n\n# Filter by status (0-待发送 1-发送中 2-发送完成)\npython scripts/sms_task_list.py --status 2 --page_no 1 --page_size 10\n```\n\n### SMS Task Record List (`sms_task_record_list.py`)\n\nView detailed records for a specific SMS task.\n\n**Parameters**: See [SMS Task Record List API](references/sms-task-record-list-api.md)\n\n**Examples**:\n```bash\n# Get records for task ID 1496\npython scripts/sms_task_record_list.py --task_id 1496 --page_no 1 --page_size 10\n\n# Filter by time range and status\npython scripts/sms_task_record_list.py \\\n  --task_id 1496 \\\n  --start_time 1775812273 \\\n  --end_time 1775900000 \\\n  --status 2 \\\n  "},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn76ywjzma121r2rh959ejsf49834c6x\",\n  \"slug\": \"upkuajing-sms-tool\",\n  \"version\": \"1.0.4\",\n  \"publishedAt\": 1787562795999\n}"},{"path":"references/skill-error-report-api.md","content":"# Agent调用Skill异常上报 API 参考\n\n> 上报 Agent 调用 Skill 异常，用于平台侧问题追踪与优化。异常上报不产生查询费用。\n> 接口路径：`POST /agent/skill/error/report`\n> 鉴权：需要 Bearer 令牌（UPKUAJING_API_KEY）\n\n## python脚本参数\n\n- `--params`：JSON格式的上报参数（必填）\n- 未传 `skillId`/`skillVersion` 时，脚本会自动从当前 Skill 目录名与 SKILL.md 读取并填充\n- 必填参数：`skillId`、`skillVersion`、`requestId`、`requestPath`、`context`；其中 `requestId` 从出问题的请求响应（ApiResp.requestId）中获取\n\n## API请求参数\n\n| 参数 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| skillId | string | 是 | Skill 标识（最大128字符），如\"customs-analysis-area\" |\n| skillVersion | string | 是 | Skill 版本（最大32字符） |\n| agentName | string | 否 | Agent 名称（最大128字符） |\n| modelName | string | 否 | 模型名称（最大128字符） |\n| requestPath | string | 是 | 出问题的站内接口路径，以 / 开头（最大255字符），如\"/agent/customs/analysis/area\" |\n| requestId | string | 是 | 全请求唯一关联号（最大128字符），取失败请求响应中的 requestId |\n| requestTime | long | 否 | 请求发起时间戳（毫秒，≥0） |\n| requestParams | object | 否 | 请求参数（原始入参，敏感字段会自动脱敏；序列化后≤64KB） |\n| responseData | object | 否 | 响应数据（异常发生时的返回内容，敏感字段会自动脱敏；序列化后≤64KB） |\n| durationMs | long | 否 | 本次调用耗时（毫秒，≥0） |\n| context | string | 是 | 异常上下文（堆栈/错误信息，用于定位根因，最大2000字符） |\n\n## 响应数据\n\n### 外层结构\n\n- code（integer）：状态码，0 表示成功\n- msg（string）：提示信息\n- requestId（string）：全请求唯一关联号（32位无横线，与 MDC traceId 同值）\n\n### data 字段\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| reportId | long | 上报记录 ID |"},{"path":"references/sms-send-api.md","content":"# 短信发送 API 参考\n\n## python脚本参数\n- `--content`：短信内容, 最少10个字符（必填）\n- `--phones`：手机号列表（必填，JSON数组格式，如 '[\"13800138000\",\"13800138001\"]'）\n- `--channel_type`：发送类型（非必填，0-单向发送 1-双向，支持接收回复消息）\n- `--api_key`：API密钥（可选，默认从环境变量获取）\n\n## 响应数据\n\n### 任务信息\n- id：任务ID\n- name：任务名称\n- channelType：渠道类型（0-普通 1-双向）\n- tos：收件人（JSON数组字符串）\n- numb：总数量\n- numbSend：发送数\n- numbSuccess：成功数\n- numbFail：失败数\n- status：状态（1发送中 2发送成功 3失败 4部分成功）\n- priceTotal：实际费用（单位：分）\n- priceRebate：退回费用（单位：分）\n- priceReal：预扣费用（单位：分）\n- content：短信内容\n- sendTime：发送时间（秒级时间戳）"},{"path":"references/sms-task-list-api.md","content":"# 短信任务列表 API 参考\n\n## python脚本参数\n- `--page_no`：页码（必填，默认1）\n- `--page_size`：页大小（必填，默认10）\n- `--start_time`：开始时间（非必填，秒级时间戳）\n- `--end_time`：结束时间（非必填，秒级时间戳）\n- `--status`：发送状态（非必填，0-待发送 1-发送中 2-发送完成）\n- `--api_key`：API密钥（可选，默认从环境变量获取）\n\n## 响应数据\n\n### 分页信息\n- total：总记录数\n- pageNo：当前页码\n- pageSize：页大小\n- list：任务列表\n\n### 任务信息\n- id：任务ID\n- name：任务名称\n- channelType：渠道类型（0普通，1双向）\n- tos：收件人（JSON数组字符串）\n- numb：数量\n- numbSend：发送数量\n- numbSuccess：成功数量\n- numbFail：失败数量\n- status：状态（0-待发送 1-发送中 2-发送完成）\n- priceTotal：实际扣费（单位：分钱(RMB)）\n- priceRebate：返回金额（单位：分钱(RMB)）\n- priceReal：预扣费（单位：分钱(RMB)）\n- content：短信内容\n- sendTime：发送时间（秒级时间戳）"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":1287,"uniquenessScore":33,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-10T08:39:56.748Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-10T08:39:56.748Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T10:45:05.765Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}