Byted SMS Sender
Volcengine SMS Service API, Version 2026-01-01
When to Use
Use this skill when users have the following requirements:
SMS Sending Scenarios:
- Need to send verification code SMS
- Need to send notification SMS
- Need to send marketing SMS
- When users say "send SMS", "send verification code", "send notification"
Query Scenarios:
- Need to query available message groups (sub-accounts)
- Need to query approved SMS signatures
- Need to query approved SMS templates
- Need to query SMS delivery records
- Need to query delivery statistics (success rate, etc.)
Pre-use Check
Check if the following credentials have been configured:
These credentials are pre-configured in the terminal environment by
ArkClaw, configuration file path:
Check method:
bash
echo $ARK_SKILL_API_KEY
echo $ARK_SKILL_API_BASE
If credentials are missing:
- Check if the configuration file exists
- If you still cannot find it, contact oncall for help
6 API Descriptions
1. send_sms - Send SMS
Scenario: Users need to send verification codes, notifications, and marketing SMS
Usage:
bash
python3 scripts/volc_sms.py send_sms \
--sub-account "消息组ID" \
--signature "签名" \
--template-id "模板ID" \
--mobiles "手机号" \
--template-param '{"code":"123456"}'
Parameter Description:
- : Message group ID (required), obtained from list_sub_account
- : SMS signature (required), obtained from list_signature
- : Template ID (required), obtained from list_sms_template
- : Mobile phone number (required), separate multiple numbers with commas
- : Template parameters (optional), JSON format
2. list_sub_account - Query Message Groups
Scenario: Need to know which message group can be used to send SMS
Usage:
bash
python3 scripts/volc_sms.py list_sub_account
Parameter Description:
- : Optional, fuzzy search by name
3. list_signature - Query Signatures
Scenario: Need to know which signature can be used, or check if a signature has been approved
Usage:
bash
python3 scripts/volc_sms.py list_signature --signature "火山引擎"
Parameter Description:
- : Optional, fuzzy search by signature
- : Optional, filter by sub-account
- : Page number, default 1
- : Number of items per page, default 20
4. list_sms_template - Query Templates
Scenario: Need to know which template can be used, or query template parameters
Usage:
bash
python3 scripts/volc_sms.py list_sms_template --signatures "火山引擎"
Parameter Description:
- : Optional, fuzzy search by template ID
- : Optional, filter by signature
- : Optional, filter by sub-account
- : Page number, default 1
- : Number of items per page, default 20
5. list_sms_send_log - Query Delivery Records
Scenario: Need to check the delivery status of a specific SMS, or batch query delivery history
Usage:
bash
python3 scripts/volc_sms.py list_sms_send_log \
--sub-account "消息组ID" \
--from-time 1773113285 \
--to-time 1773213285
Parameter Description:
- : Required, message group ID
- : Start timestamp (seconds)
- : End timestamp (seconds)
- : Optional, filter by mobile phone number
- : Optional, filter by template ID
- : Optional, filter by signature
- : Optional, exact query by message ID
- : Page number, default 1
- : Number of items per page, default 100
6. list_total_send_count_stat - Query Delivery Statistics
Scenario: Need to view statistical information such as delivery success rate, receipt success rate, etc.
Usage:
bash
python3 scripts/volc_sms.py list_total_send_count_stat \
--start-time 1773113285 \
--end-time 1773213285
Parameter Description:
- : Required, start timestamp (seconds)
- : Required, end timestamp (seconds)
- : Optional, filter by message group
- : Optional, channel type
- : Optional, filter by signature
- : Optional, filter by template ID
Return Fields:
- TotalSendCount: Total number of sent messages
- TotalSendSuccessCount: Number of successfully sent messages
- TotalSendSuccessRate: Delivery success rate
- TotalReceiptSuccessCount: Number of successfully received messages
- TotalReceiptSuccessRate: Receipt success rate
Typical Usage Process
Sending SMS for the First Time
- Query available message groups
bash
python3 scripts/volc_sms.py list_sub_account
- Query available signatures
bash
python3 scripts/volc_sms.py list_signature
- Query available templates
bash
python3 scripts/volc_sms.py list_sms_template --signatures "火山引擎"
- Send SMS
bash
python3 scripts/volc_sms.py send_sms \
--sub-account "xxxx" \
--signature "xxx" \
--template-id "ST_xxxx" \
--mobiles "188xxxxxxx8" \
--template-param '{"code":"888888"}'
Query Delivery Status
bash
python3 scripts/volc_sms.py list_sms_send_log \
--sub-account "77da1acf" \
--from-time 1773113285 \
--to-time 1773213285
Common Error Codes
- : SMS service is not activated for the account
- : Sub-account does not exist (incorrect message group ID)
- : Signature error (signature does not exist or has not been approved)
- : Template error (template does not exist or has not been approved)
- : Incorrect mobile phone number format
- : Account is in arrears
- : Request parameter error
Notes
- Signatures and templates: Only approved signatures and templates can be used
- Mobile phone number format:
- Domestic SMS: 11-digit mobile number or starts with +86
- International SMS: Must include international area code, comply with E.164 standard
- Batch limit: Maximum 200 mobile numbers per single request
- Signature and sub-account matching: Signature and message group must match, you can confirm from the SubAccounts field of list_signature
- Template and signature matching: Template and signature must match, you can confirm from the Signature field of list_sms_template
Troubleshooting
- Missing credentials: Check the file, if you still cannot find it, contact oncall
- Sending failed: First use list_sub_account, list_signature, list_sms_template to confirm the parameters are correct
- Authentication failed: Check whether the configured AK/SK is activated correctly
- Permission error: Check whether the credentials are correct, if the problem persists, contact oncall
- Arrears error: Please contact oncall for handling