# @alicloud/sms-sdk 中文文档

规范地址：https://npmcn.com/package/%40alicloud/sms-sdk/

版本：1\.1\.6
npm 元数据更新时间：2022-06-12T14:30:43.102Z
中文译文更新时间：2026-11-06T15:02:30.053Z
软件包许可：ISC

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40alicloud/sms-sdk
原文对照：https://npmcn.com/package/%40alicloud/sms-sdk/?lang=original
源码仓库：https://gitlab.alibaba-inc.com/alidayu/aliyun-dysms-sdk

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：110 kB，9 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- 运行依赖：4 个
- 首次发布：2017-08-07T11:30:37.721Z
- 最新版本发布：2018-10-17T11:05:47.068Z
- 近 30 天下载量：2970（2026-10-06 至 2026-11-04，npm 官方下载统计）
- 已发布版本数：17（近 12 个月 0 个）

## 中文简介

阿里云-云通信-短信产品SDK

## 安装

```sh
npm install @alicloud/sms-sdk
```

也可以使用：`pnpm add @alicloud/sms-sdk`、`yarn add @alicloud/sms-sdk`、`bun add @alicloud/sms-sdk`

## README

### 安装

```javascript
 $ npm install @alicloud/sms-sdk --save
```

### 使用方法

1.  安装@alicloud/sms-sdk,请需要根据官方文档做一些配置
2.  产品文档: [https://dysms.console.aliyun.com/dysms.htm](https://dysms.console.aliyun.com/dysms.htm)
3.  Node.js版本 >= v7.6.0

### DEMO

```javascript
/**
 * 云通信基础能力业务短信发送、查询详情以及消费消息示例，供参考。
 * Created on 2017-07-31
 */

const SMSClient = require('@alicloud/sms-sdk')

// ACCESS_KEY_ID/ACCESS_KEY_SECRET 根据实际申请的账号信息进行替换
const accessKeyId = 'yourAccessKeyId'
const secretAccessKey = 'yourAccessKeySecret'

//在云通信页面开通相应业务消息后，就能在页面上获得对应的queueName,不用填最后面一段
const queueName = 'Alicom-Queue-1092397003988387-'

// vpc需要配置,华东1示例：请查看 https://help.aliyun.com/document_detail/68360.html
const smsApiEndpoint = 'http://dysmsapi-vpc.cn-hangzhou.aliyuncs.com'
const baseApiEndpoint = 'http://dybaseapi-vpc.cn-hangzhou.aliyuncs.com'
const regionId = 'cn-hangzhou' 
const mnsVpc = {
    secure: false, // use https or http
    internal: true, // use internal endpoint
    vpc: true
}



//初始化sms_client, 后面4个参数vpc需要配置
let smsClient = new SMSClient({accessKeyId, secretAccessKey, smsApiEndpoint, baseApiEndpoint, regionId, mnsVpc})

smsClient.sendBatchSMS({
    PhoneNumberJson: JSON.stringify(['18040580000', '15088650000']),
    SignNameJson: JSON.stringify(['短信迁移测试签名','短信迁移测试签名']),
    TemplateCode: 'SMS_71175823',
    TemplateParamJson: JSON.stringify([{code: "1234", product: "ytx1"}, {code: "5678", product: "ytx2"}]),
}).then(function (res) {
    let {Code}=res
    if (Code === 'OK') {
       //处理返回参数
       console.log(res)
    }
}, function (err) {
    console.log('err', err)
})


//短信回执报告，5表示5s=>未被删除的消息再次推送等待时间，true表示消费完进行删除（默认为false）
smsClient.receiveMsg(0, queueName, 5, true).then(function (res) {
    //消息体需要base64解码
    let {code, body}=res
    if (code === 200) {
        //处理消息体,messagebody
        console.log(body)
    }
}, function (err) {
    console.log(err)
})

//短信上行报告，5表示5s=>未被删除的消息再次推送等待时间,true表示消费完进行删除（默认为false）
smsClient.receiveMsg(1, queueName, 5, true).then(function (res) {
    //消息体需要base64解码
    let {code, body}=res
    if (code === 200) {
        //处理消息体,messagebody
        console.log(body)
    }
}, function (err) {
    console.log(err)
})


//查询短信发送详情
smsClient.queryDetail({
    PhoneNumber: '1500000000',
    SendDate: '20170731',
    PageSize: '10',
    CurrentPage: "1"
}).then(function (res) {
    let {Code, SmsSendDetailDTOs}=res
    if (Code === 'OK') {
        //处理发送详情内容
        console.log(SmsSendDetailDTOs)
    }
}, function (err) {
    //处理错误
    console.log(err)
})

//发送短信, vpc配置options={method:'POST'}，改为POST请求
smsClient.sendSMS({
    PhoneNumbers: '1500000000',
    SignName: '云通信产品',
    TemplateCode: 'SMS_000000',
    TemplateParam: '{"code":"12345","product":"云通信"}'
},options).then(function (res) {
    let {Code}=res
    if (Code === 'OK') {
        //处理返回参数
        console.log(res)
    }
}, function (err) {
    console.log(err)
})
```

## 常见问题

### @alicloud/sms-sdk 是什么？

阿里云-云通信-短信产品SDK

### 如何安装 @alicloud/sms-sdk？

在项目目录运行 npm install @alicloud/sms-sdk，或使用 pnpm add / yarn add / bun add。

### @alicloud/sms-sdk 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/alicloud\_\_sms-sdk 是否存在。

### @alicloud/sms-sdk 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @alicloud/sms-sdk 可以商用吗？

@alicloud/sms-sdk 使用 ISC 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @alicloud/sms-sdk 的下载量有多少？

根据 npm 官方下载统计，@alicloud/sms-sdk 在 2026/10/06 – 2026/11/04 这 30 天内被下载 2,970 次，日均约 99 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @alicloud/sms-sdk 还在维护吗？

最新版本 1\.1\.6 发布于 2018/10/17（8 年前）；至今共发布 17 个版本，其中过去 12 个月发布了 0 个；首次发布于 2017/08/07。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

