企業名稱:重慶融沙科技有限公司
聯系人:賈先生
電話:023-86664162
手機:18580068006
郵箱:2996814741@qq.com
網址:www.hgcylc.com
地址:重慶市沙坪壩區石碾盤東原ARC廣場1-31-1
1.1 短信接口分類
1、用戶自寫短信內容發送短信,適合:會員群發通知、會員營銷群發等,有人工審核 ;
2、通過綁定短信模板發送短信,適合:驗證碼、訂單短信等觸發類短信,可以免審下發 ;
3、獲取手機用戶的短信上行。
1.2 短信接口主要功能
短信接口支持中國移動、中國聯通、中國電信以及國內虛擬運營商所屬的全國手機號碼。國外手機可轉至國際短信查看詳情。
1.3 短信接口支持手機號碼情況
√ 用戶自寫短信內容,適合:會員群發通知、 會員營銷群發 等;
√ 單發或群發;
√ 支持行業及廣告營銷類內容;
√ 支持定時發送短信;
√ 小規模數量免審自動下發。
√ 無人工審核 。
1.4 短信接口請求方式
用戶通過HTTP的POST方式提交短信發送請求。編碼采用UTF-8編碼。
1.6 短信提交地址
環境 | HTTP請求地址 |
---|---|
正式環境 | 聯系客服獲取接口請求地址 |
1.6 參數定義
序號 | 參數 | 說明 |
---|---|---|
1 | name | 必填參數。用戶賬號 |
2 | pwd | 必填參數。(登陸web平臺:基本資料中的接口密碼) |
3 | content | 必填參數。發送內容(1-500 個漢字,建議300字符內)UTF-8編碼 |
4 | mobile | 必填參數。手機號碼。多個以英文逗號隔開 |
5 | stime | 可選參數。(發送時間,填寫時已填寫的時間發送,不填時為當前時間發送,秒到) |
6 | sign | 必填參數。用戶簽名。(建議聯系銷售進行后臺綁定) |
7 | type | 必填參數。固定值 pt |
8 | extno | 可選參數,(擴展碼,用戶定義擴展碼,只能為數字,如需要擴展不同簽名,需要幫擴展的號碼和對應的簽名報給客服) |
1.7 短信提交響應
用戶短信通過http請求提交到服務器后,服務器返回響應碼,響應碼的格式如下:code,sendid,invalidcount,successcount,blackcount,msg
1.7.1格式說明
短信提交響應為英文逗號隔開的一行數據,狀態,發送編號,無效號碼數,成功提交數,黑名單數和消息,無論發送的號碼是多少,一個發送請求只返回一個sendid,如果響應的狀態不是"0",則只有狀態和消息。
1.7.2示例
提交成功
0, 20140821110353234137876543,0,500,0,提交成功
20140821110353234137876543為返回的sendid,這個狀態供報告匹配時使用。
1.7.3 響應狀態值說明
代碼 | 說明 |
---|---|
0 | 提交成功 |
1 | 含有敏感詞匯 |
2 | 含有敏感詞匯 |
3 | 沒有號碼 |
4 | 包含sql語句 |
10 | 賬號不存在 |
11 | 賬號注銷 |
12 | 賬號停用 |
13 | IP鑒權失敗 |
14 | 格式錯誤 |
-1 | 系統異常 |
1.8短信發送例子
http://pushUrl?name=test&pwd=112345&content=testmsg&mobile=18266878877,18655555555&stime=2012-08-01 8:20:23&sign=testsign&type=pt&extno=
2.1 接口地址
2.2 參數定義
序號 | 參數 | 說明 |
---|---|---|
1 | name | 必填參數。用戶賬號 |
2 | pwd | 必填參數。用戶密碼 |
3 | type | 必填參數。固定值 balance |
2.3 提交響應
code為獲取狀態,balance是用戶余額。
2.4 提交響應值
代碼 | 說明 |
---|---|
0 | 提交成功 |
10 | 賬戶不存在 |
11 | 賬號注銷 |
12 | 賬號停用 |
13 | IP鑒權失敗 |
2.5 示例
http://pushUrl?name=test&pwd=testpwd&type=balance
3.1 參數定義
序號 | 參數 | 說明 |
---|---|---|
1 | name | MD5(AccessSecret+ random + timestamp)通過MD5消息摘要算法計算的結果,AccessSecret是平臺分配給用戶的開發秘鑰,random是本次請求攜帶的隨機串,timestamp是本次請求攜帶的當前時間戳 |
2 | pwd | 接收狀態報告驗證的密碼,可以為空 |
3 | sendid | 提交短信時平臺返回的sendid,參見1.2 |
4 | time | 報告時間(多個號碼時,是第一個號碼的時間) |
5 | mobile | 當多個號碼狀態相同時 手機號以英文逗號隔開;不同時 為單個手機號碼 |
6 | state | 狀態報告數值 |
3.2 短信提交地址
狀態值(字符串) | 說明 |
---|---|
DELIVRD | 短消息轉發成功 |
EXPIRED | 短消息超過有效期 |
UNDELIV | 短消息是不可達的 |
UNKNOWN | 未知短消息狀態 |
REJECTD | 短消息被短信中心拒絕 |
DTBLACK | 目的號碼是黑名單號碼 |
ERR:104 | 系統忙 |
REJECT | 審核駁回 |
其他 | 網關內部狀態 |
3.3 示例
http://pushUrl?name=admin&pwd=12345&sendid=12345&time=2013-08-20 20:11:34&mobile=13900210021&state=DELIVRD
其中,pushUrl為用戶啟動的服務地址。
4.1 參數定義
序號 | 參數 | 說明 |
---|---|---|
1 | name | 接收信息驗證的用戶名(不是賬戶名),是按照用戶要求配置的名稱,可以為空 |
2 | pwd | 接收信息服務需驗證的密碼,可以為空 |
3 | args | 手機號、內容、時間、系統擴展碼+自定義擴展碼;以 #@# 分割。(擴展碼可能為空) ,多個上行以#@@# 分割 |
4.2 示例
http://pushMoUrl?name=admin&pwd=12345&args=13800210021#@#content1#@#2013-08-21 21:20:11#@#008123#@@#13978767656#@#content2#@#2013-08-21 21:20:30#@#008456
本例中 008為系統為該用戶設置的擴展碼,123和另外一個456是提交短信時用戶自己加的自定義擴展碼;即發送時extno=123
系統擴展碼可能變化,如果變化一般長度不變,建議通過長度來截取得到自定義擴展碼
其中,pushUrl為用戶啟動的服務地址。
5.1 請求示例
6.1 請求示例
7.1 請求示例
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.Text;using System.Net;using System.IO;
/// /// 短信發送/// public partial class send : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){}protected void Button1_Click(object sender, EventArgs e){StringBuilder sms = new StringBuilder();sms.AppendFormat("name={0}", "填賬號的登錄名");sms.AppendFormat("&pwd={0}", "填接口密碼");//登陸平臺,管理中心--基本資料--接口密碼(28位密文);復制使用即可。sms.AppendFormat("&content={0}", this.TextBox2.Text);sms.AppendFormat("&mobile={0}", this.TextBox1.Text);sms.AppendFormat("&sign={0}", "企業簽名");// 公司的簡稱或產品的簡稱都可以sms.Append("&type=pt");string resp = PushToWeb("聯系客服獲取接口請求地址", sms.ToString(), Encoding.UTF8);string[] msg = resp.Split(',');if (msg[0] == "0"){this.Label1.Text = "提交成功:SendID=" + msg[1];}else{this.Label1.Text = "提交失?。哄e誤信息=" + msg[1];}}private string PushToWeb(string weburl, string data, Encoding encode){byte[] byteArray = encode.GetBytes(data);HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(new Uri(weburl));webRequest.Method = "POST";webRequest.ContentType = "application/x-www-form-urlencoded";webRequest.ContentLength = byteArray.Length;Stream newStream = webRequest.GetRequestStream();newStream.Write(byteArray, 0, byteArray.Length);newStream.Close();
//接收返回信息:HttpWebResponse response = (HttpWebResponse)webRequest.GetResponse();StreamReader aspx = new StreamReader(response.GetResponseStream(), encode);return aspx.ReadToEnd();}}