其實(shí)微信小程序前端和云端都是可以調(diào)用短信平臺(tái)接口發(fā)送短信的,使用云端云函數(shù)的好處是無需配置域名,也沒有個(gè)數(shù)限制。
本文使用的是榛子云短信平臺(tái)(http://smsow.zhenzikj.com) ,SDK下載: http://smsow.zhenzikj.com/doc/sdk.html
1.安裝
下載后的SDK在cloudfunctions文件夾下會(huì)包含3個(gè)云函數(shù)文件夾,如下:
由于目前IDE沒有云函數(shù)導(dǎo)入功能,您需要手工創(chuàng)建同名的云函數(shù),然后將云函數(shù)下的文件手工拷進(jìn)去
注:下載的SDK是一個(gè)完整的工程,包含SDK和使用示例,可實(shí)際運(yùn)行演示
2.申請(qǐng)賬號(hào),獲取AppId、AppSecret
免費(fèi)注冊(cè)地址: http://sms_developer.zhenzikj.com/zhenzisms_user/register.html
使用注冊(cè)賬號(hào)登錄用戶中心,在"我的應(yīng)用"-> "詳情"中可以查詢AppId、AppSecret
AppId、AppSecret是用于開發(fā)者使用賬號(hào)和秘鑰, 以下的所有api中都需要用到
3.發(fā)送短信
wx.cloud.callFunction({ // 云函數(shù)名稱 name: 'zhenzisms_send', // 傳給云函數(shù)的參數(shù) data: { apiUrl: '你的apiUrl', appId: '你的appId', appSecret: '你的appSecret', message: '你的驗(yàn)證碼為:1234', number: '15811111111', messageId: '' }, success(res) { console.log(res.result.body) }, fail: console.error }) }
apiUrl為請(qǐng)求地址,個(gè)人開發(fā)者使用https://sms_developer.zhenzikj.com,企業(yè)開發(fā)者使用https://sms.zhenzikj.com
send方法用于單條發(fā)送短信
參數(shù)message:發(fā)送的短信內(nèi)容
參數(shù)number:接收者手機(jī)號(hào)碼
參數(shù)messageId:該條信息的唯一標(biāo)識(shí),可用于查詢
返回結(jié)果是json格式的字符串, code: 發(fā)送狀態(tài),0為成功。非0為發(fā)送失敗,可從data中查看錯(cuò)誤信息
4.查看余額
通過該接口可查看當(dāng)前剩余的短信條數(shù)
wx.cloud.callFunction({ // 云函數(shù)名稱 name: 'zhenzisms_balance', // 傳給云函數(shù)的參數(shù) data: { apiUrl: '你的apiUrl', appId: '你的appId', appSecret: '你的appSecret' }, success(res) { console.log(res.result.body) }, fail: console.error }) }
返回結(jié)果是json格式的字符串, code: 查詢狀態(tài),0為成功,data為剩余短信條數(shù)。非0為查詢失敗,可從data中查看錯(cuò)誤信息
錯(cuò)誤代碼表
錯(cuò)誤碼 原因 解決方案
100 參數(shù)格式錯(cuò)誤 檢查請(qǐng)求參數(shù)是否為空
105 appId錯(cuò)誤或應(yīng)用不存在 請(qǐng)聯(lián)系工作人員申請(qǐng)應(yīng)用或檢查appId是否輸入錯(cuò)誤
106 應(yīng)用被禁止 請(qǐng)聯(lián)系工作人員查看原因
107 ip錯(cuò)誤 如果設(shè)置了ip白名單,系統(tǒng)會(huì)檢查請(qǐng)求服務(wù)器的ip地址,已確定是否為安全的來源訪問
110 應(yīng)用秘鑰(AppSecret)錯(cuò)誤 檢查AppSecret是否輸入錯(cuò)誤,或是否已在用戶中心進(jìn)行了秘鑰重置
1000 系統(tǒng)位置錯(cuò)誤 請(qǐng)聯(lián)系工作人員或技術(shù)人員檢查原因
5.查詢短信
接口描述
根據(jù)messageId查詢已發(fā)送短信
wx.cloud.callFunction({ // 云函數(shù)名稱 name: 'zhenzisms_findSmsByMessageId', // 傳給云函數(shù)的參數(shù) data: { appId: '你的appId', appSecret: '你的appSecret', messageId: 'messageId信息' }, success(res) { console.log(res.result.body) }, fail: console.error })
請(qǐng)求參數(shù)
參數(shù)名稱 必選 類型 描述
messageId 是 string 信息id,對(duì)應(yīng)發(fā)送短信接口的messageId字段
返回結(jié)果
返回結(jié)果是json格式的字符串, code: 查詢狀態(tài),0為成功。非0為失敗,可從data中查看錯(cuò)誤信息
{ "code":0, "data":{} }
返回結(jié)果是json格式的字符串, code: 查詢狀態(tài),0為成功,data短信信息的json字符串
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:0731-84117792 E-MAIL:11247931@qq.com