🎁 Get the FREE AI Skills Starter GuideSubscribe →
BytesAgainBytesAgain
🦀 ClawHub

UpKuaJing SMS messaging tool, send bulk SMS and monitor delivery reports with instant task tracking. UpKuaJing helps marketers, sales teams, and operations reach customers globally, track SMS campaign

by @upkuajing

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.

TERMINAL
clawhub install upkuajing-sms-tool

📖 About This Skill


name: upkuajing-sms-tool description: 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. metadata: {"version":"1.0.0","homepage":"https://www.upkuajing.com","clawdbot":{"emoji":"📱","requires":{"bins":["python"],"env":["UPKUAJING_API_KEY"]},"primaryEnv":"UPKUAJING_API_KEY"}}

UpKuaJing SMS Tool

Send SMS and track SMS task status using the UpKuaJing Open Platform API.

Overview

This skill provides access to UpKuaJing's SMS service through:

  • SMS Send (sms_send.py): Send SMS to phone numbers
  • SMS Task List (sms_task_list.py): View SMS task list with time range filter
  • SMS Task Record List (sms_task_record_list.py): View detailed records for a specific task
  • Running Scripts

    Environment Setup

    1. Check Python: python --version 2. Install dependencies: pip install -r requirements.txt

    Script directory: scripts/*.py Run example: python scripts/*.py

    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.

    Three Main APIs

    SMS Send (sms_send.py)

    Send SMS to phone numbers.

    Parameters: See SMS Send API

    Examples:

    # Send a simple SMS
    python scripts/sms_send.py \
      --content "This is SMS content" \
      --phones '["13800138000"]'

    Send with two-way mode (supports receiving replies)

    python scripts/sms_send.py \ --content "This is SMS content" \ --phones '["13800138000"]' \ --channel_type 1

    Send to multiple phone numbers

    python scripts/sms_send.py \ --content "This is SMS content" \ --phones '["13800138000","13800138001"]'

    SMS Task List (sms_task_list.py)

    View SMS task list with optional time range filter.

    Parameters: See SMS Task List API

    Examples:

    # Get task list (first page, 10 items)
    python scripts/sms_task_list.py --page_no 1 --page_size 10

    Filter by time range

    python scripts/sms_task_list.py \ --start_time 1775812273 \ --end_time 1775900000 \ --page_no 1 \ --page_size 10

    Filter by status (0-待发送 1-发送中 2-发送完成)

    python scripts/sms_task_list.py --status 2 --page_no 1 --page_size 10

    SMS Task Record List (sms_task_record_list.py)

    View detailed records for a specific SMS task.

    Parameters: See SMS Task Record List API

    Examples:

    # Get records for task ID 1496
    python scripts/sms_task_record_list.py --task_id 1496 --page_no 1 --page_size 10

    Filter by time range and status

    python scripts/sms_task_record_list.py \ --task_id 1496 \ --start_time 1775812273 \ --end_time 1775900000 \ --status 2 \ --page_no 1 \ --page_size 10

    API Key and UpKuaJing Account

  • API Key: Stored in ~/.upkuajing/.env file as UPKUAJING_API_KEY
  • First check: If not set, prompt user to provide or apply at UpKuaJing Open Platform
  • API Key Not Set

    First check if the ~/.upkuajing/.env file has UPKUAJING_API_KEY; If UPKUAJING_API_KEY is not set, prompt the user to choose: 1. User has one: User provides it (manually add to ~/.upkuajing/.env file) 2. 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 Wait for user selection;

    Account Top-up

    When API response indicates insufficient balance, explain and guide user to top up: 1. Create top-up order (auth.py --new_rec_order) 2. Based on order response, send payment page URL to user, guide user to open URL and pay, user confirms after successful payment;

    Get Account Information

    Use this script to get account information for UPKUAJING_API_KEY: auth.py --account_info

    Fees

    SMS sending 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)

    SMS Send Billing Rules

    SMS sending is charged — each send request incurs a fee based on the number of phone numbers.

    Task List & Record List Billing Rules

    Free of charge — No fees for task list and task record list queries.

    Fee Confirmation Principle

    Any operation that incurs fees must first inform and wait for explicit user confirmation. Do not execute in the same message as the notification.

    Workflow

    Decision Guide

    | User Intent | Use API | |-------------|---------| | "Send an SMS" | SMS Send | | "View my SMS tasks" | SMS Task List | | "Check SMS delivery status" | SMS Task Record List | | "Find tasks in a time range" | SMS Task List (with start_time/end_time) |

    SMS Send Flow

    1. Prepare SMS content: content, phone number list 2. Execute send: Use sms_send.py with appropriate parameters 3. Get response: API returns task result synchronously

    Task Check Flow

    1. View task list: Use sms_task_list.py with optional time filter 2. Get task ID: From the task list response 3. View task records: Use sms_task_record_list.py with task_id

    Error Handling

  • API key invalid/non-existent: Check UPKUAJING_API_KEY in ~/.upkuajing/.env file
  • Insufficient balance: Guide user to top up
  • Invalid parameters: Must first check the corresponding API documentation in references/ directory, get correct parameter names and formats from documentation, do not guess
  • API Documentation Reference

  • SMS Send: Check references/sms-send-api.md
  • SMS Task List: Check references/sms-task-list-api.md
  • SMS Task Record List: Check references/sms-task-record-list-api.md
  • Notes

  • File paths use forward slashes on all platforms
  • Do not guess parameter names, get accurate parameter names and formats from documentation
  • Prohibit outputting technical parameter format: Do not display code-style parameters in responses, convert to natural language
  • Do not estimate or guess fees — use python scripts/auth.py --price_info to get accurate pricing information
  • 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)
  • Related Skills

    Other UpKuaJing skills you might find useful:

  • upkuajing-global-company-people-search — Global company and people search
  • upkuajing-customs-trade-company-search — Search customs trade companies
  • upkuajing-email-tool — Send emails and manage email tasks
  • upkuajing-map-merchants-search — Map-based merchant search
  • upkuajing-contact-info-validity-check — Check contact info validity
  • 📋 Tips & Best Practices

  • File paths use forward slashes on all platforms
  • Do not guess parameter names, get accurate parameter names and formats from documentation
  • Prohibit outputting technical parameter format: Do not display code-style parameters in responses, convert to natural language
  • Do not estimate or guess fees — use python scripts/auth.py --price_info to get accurate pricing information
  • 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)