# @alicloud/sms-sdk

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

Latest version **1.1.6** (published 2018-10-17) · ISC license · 0 weekly downloads

## Install

```sh
npm install @alicloud/sms-sdk
pnpm add @alicloud/sms-sdk
yarn add @alicloud/sms-sdk
bun add @alicloud/sms-sdk
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.1.6 |
| Published | 2018-10-17 |
| First published | 2017-08-07 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 4 |
| Unpacked size | 107.5 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | chuck.ql |
| Maintainers | aleelock, chuck.ql, humanhuang, jacksontian, ls_nodejs, vangie |
| Keywords | SDK, 云通信, 阿里云, 短信, Node.js |

## Links

- npm: https://www.npmjs.com/package/@alicloud/sms-sdk
- Repository: git@gitlab.alibaba-inc.com:alidayu/aliyun-dysms-sdk
- npm.io page: https://npm.io/package/@alicloud/sms-sdk

## Dependencies (4)

- [@alicloud/mns](https://npm.io/package/@alicloud/mns.md) ^1.0.0-beta6
- [babel-runtime](https://npm.io/package/babel-runtime.md) ^6.26.0
- [@alicloud/dybaseapi](https://npm.io/package/@alicloud/dybaseapi.md) ^1.0.0
- [@alicloud/dysmsapi-2017-05-25](https://npm.io/package/@alicloud/dysmsapi-2017-05-25.md) ^1.0.1

## Recent versions

- 1.1.6 (latest) — 2018-10-17
- 1.1.5 — 2018-10-17
- 1.1.4 — 2018-09-23
- 1.1.3 — 2018-08-28
- 1.1.2 — 2018-07-09
- 1.1.1 — 2018-05-03
- 1.1.0 — 2018-05-03
- 1.0.9 — 2018-04-09
- 1.0.8 — 2018-02-07
- 1.0.7 — 2018-01-31
- 1.0.6 — 2018-01-31
- 1.0.5 — 2018-01-31
- 1.0.4 — 2018-01-31
- 1.0.3 — 2017-12-28
- 1.0.2 — 2017-08-14
- … 2 more at https://npm.io/package/@alicloud/sms-sdk/versions

## README

### 安装

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

### 使用方法
1. 安装@alicloud/sms-sdk,请需要根据官方文档做一些配置
2. 产品文档: 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)
})
```

---
_Source: https://npm.io/package/@alicloud/sms-sdk · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
