← 返回
沟通协作 Key 中文

EngageLab SMS

Call EngageLab SMS REST APIs to send SMS messages and manage SMS templates and signatures (sender IDs). Use this skill whenever the user wants to send an SMS...
调用 EngageLab SMS REST API 发送短信,管理和短信模板及签名(发送者ID)。当用户想要发送短信时使用此技能。
devengagelab
沟通协作 clawhub v1.0.1 2 版本 100000 Key: 需要
★ 0
Stars
📥 569
下载
💾 4
安装
2
版本
#latest

概述

EngageLab SMS API Skill

This skill enables you to interact with the EngageLab SMS REST API. It covers three areas:

  1. Send SMS — Send notification or marketing SMS to one or more recipients
  2. Template Management — Create, read, update, and delete SMS templates
  3. Signature (Sender ID) Management — Create, read, update, and delete sender ID signatures

Resources

scripts/

  • sms_client.py — Python client class (EngageLabSMS) wrapping all API endpoints: send_sms() (immediate and scheduled), template CRUD (list_templates(), get_template(), create_template(), update_template(), delete_template()), and signature CRUD (list_signatures(), get_signature(), create_signature(), update_signature(), delete_signature()). Handles authentication, request construction, and typed error handling. Use as a ready-to-run helper or import into the user's project.

references/

  • template-and-signature-api.md — Full request/response field specs for all template and signature endpoints
  • error-codes.md — Complete error code tables for SMS sending and template/signature operations

Authentication

All EngageLab SMS API calls use HTTP Basic Authentication.

  • Base URL: https://smsapi.engagelab.com
  • Header: Authorization: Basic
  • Content-Type: application/json

The user must provide their dev_key and dev_secret (also called apikey and apisecret). Encode them as base64("dev_key:dev_secret") and set the Authorization header.

Example (using curl):

curl -X POST https://smsapi.engagelab.com/v1/messages \
  -H "Content-Type: application/json" \
  -H "Authorization: Basic $(echo -n 'YOUR_DEV_KEY:YOUR_DEV_SECRET' | base64)" \
  -d '{ ... }'

If the user hasn't provided credentials, ask them for their dev_key and dev_secret before generating API calls.

Quick Reference — All Endpoints

OperationMethodPath
-------------------------
Send SMSPOST/v1/messages
List templatesGET/v1/template-configs
Get templateGET/v1/template-configs/:templateId
Create templatePOST/v1/template-configs
Update templatePUT/v1/template-configs/:templateId
Delete templateDELETE/v1/template-configs/:templateId
List signaturesGET/v1/sign-configs
Get signatureGET/v1/sign-configs/:signId
Create signaturePOST/v1/sign-configs
Update signaturePUT/v1/sign-configs/:signId
Delete signatureDELETE/v1/sign-configs/:signId

Sending SMS

Endpoint: POST /v1/messages

Request Body

{
  "to": ["+6591234567"],
  "template": {
    "id": "TEMPLATE_ID",
    "params": {
      "var_name": "value"
    }
  },
  "plan_name": "Optional plan name",
  "schedule_time": 1700000000,
  "custom_args": {}
}

Parameters

FieldTypeRequiredDescription
------------------------------------
tostring[]YesTarget phone numbers (include country code)
template.idstringYesID of an approved SMS template
template.paramsobjectYesKey-value pairs matching template variables (e.g., {{name}}{"name": "Bob"})
plan_namestringNoPlan name, defaults to "-"
schedule_timeintegerNoUnix timestamp for scheduled sends; omit for immediate
custom_argsobjectNoCustom parameters for tracking

Template Variables

If the template contains {{var}} placeholders, populate them via params. For example, for template content "Hi {{name}}, your code is {{code}}", pass:

"params": { "name": "Alice", "code": "123456" }

Unpopulated variables are sent literally as {{var}}.

Response

Success (single target):

{
  "plan_id": "1972488990548348928",
  "total_count": 1,
  "accepted_count": 1,
  "message_id": "1972488990804201472"
}

Success (scheduled):

{
  "plan_id": "1972492618659033088",
  "total_count": 1,
  "accepted_count": 1,
  "schedule_info": { "task_id": 1972492621368553472 }
}

Error: Contains code (non-zero) and message fields alongside plan_id.

For the full error code table, read references/error-codes.md.

Template Management

Templates define the SMS content. Each template must pass review before it can be used for sending.

For full request/response details and field descriptions, read references/template-and-signature-api.md.

Key Rules

  • Template content cannot contain: , , , 测试, test, [, ]
  • After creation or update, templates enter Pending Review status (status=1) and cannot be used until Approved (status=2)
  • Templates in Pending Review cannot be updated
  • Templates tied to pending/running message plans cannot be updated or deleted
  • Template types: utility (notification), marketing (marketing)

CRUD Summary

CreatePOST /v1/template-configs

{
  "template_name": "Order Notification",
  "template_type": "utility",
  "template_content": "Your order {order_no} has shipped, arriving by {delivery_time}.",
  "country_codes": "CN,US",
  "add_signature": true,
  "sign_id": "SIGNATURE_ID",
  "sign_position": 2
}

List allGET /v1/template-configs (returns array)

Get oneGET /v1/template-configs/:templateId

UpdatePUT /v1/template-configs/:templateId (same body as create, all fields required)

DeleteDELETE /v1/template-configs/:templateId

Signature (Sender ID) Management

Signatures identify the sender and are attached to templates. They also go through a review process.

For full request/response details and field descriptions, read references/template-and-signature-api.md.

Key Rules

  • Signature name: 2–60 characters, cannot contain , , [, ]
  • Names must be unique within the same business
  • After creation or update, signatures enter Pending Review (status=1)
  • Signatures in Pending Review cannot be updated
  • Signatures tied to pending/running plans cannot be updated or deleted

CRUD Summary

CreatePOST /v1/sign-configs

{ "sign_name": "MyCompany" }

List allGET /v1/sign-configs (returns array)

Get oneGET /v1/sign-configs/:signId

UpdatePUT /v1/sign-configs/:signId (same body as create)

DeleteDELETE /v1/sign-configs/:signId

Generating Code

When the user asks to send SMS or manage templates/signatures, generate working code. Default to curl unless the user specifies a language. Supported patterns:

  • curl — Shell commands with proper auth header
  • Python — Using requests library
  • Node.js — Using fetch or axios
  • Java — Using HttpClient
  • Go — Using net/http

Always include the authentication header and proper error handling. Use placeholder values like YOUR_DEV_KEY and YOUR_DEV_SECRET if the user hasn't provided credentials.

Status Codes Reference

ValueTemplate/Signature Status
---------------------------------
1Pending Review
2Approved
3Rejected
ValueSignature Position
--------------------------
0No Signature
1Prefix
2Suffix
ValueTemplate Type
---------------------
utilityNotification
marketingMarketing

版本历史

共 2 个版本

  • v1.0.1 当前
    2026-05-01 14:00 安全 安全
  • v1.0.0
    2026-03-30 01:01 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

communication-collaboration

Himalaya

lamelas
{"answer":"通过IMAP/SMTP管理邮件的CLI。可在终端使用 `himalaya` 收发、回复、转发、搜索及整理邮件。支持多账户与MML(MIME元语言)编写邮件。"}
★ 68 📥 45,585
security-compliance

EngageLab OTP

devengagelab
调用 EngageLab OTP REST API 发送一次性密码(OTP)、验证码、发送自定义消息,并管理跨 SMS、WhatsApp、Email 等渠道的 OTP 模板。
★ 0 📥 602
communication-collaboration

imap-smtp-email

gzlicanyi
使用IMAP/SMTP读取和发送邮件;检查新/未读邮件、获取内容、搜索邮箱、标记已读/未读、发送带附件的邮件。支持...
★ 114 📥 52,408