移動流量
平臺概述?
又拍云手機流量營銷平臺,整合移動、電信、聯通三大運營商流量資源,將強大的流量營銷服務,通過接口等形式提供給商家合作伙伴,幫助商家開展品牌宣傳、APP/游戲/微信公眾號/網站的拉新與促活等多種營銷活動。
通過接入又拍云流量營銷平臺,商家可以獲得更多流量、用戶和收益,而商家提供的活動也讓用戶獲得了三網通用流量和更加豐富的活動體驗。
產品特點?
1.三網通用,成本優勢,覆蓋面廣
2.快速對接、全流水、易對賬、精結算
應用場景?
1.APP 下載贈流量
2.微信公眾號增粉
3.獎品禮券
4.流量加油站
5.積分兌換流量
6.活動比賽送流量
7.流量紅包
8.員工福利
對接說明?
1.請聯系商務(Tel:0571-89775132)確定您的應用場景需求,獲取對應流量報價
2.注冊又拍云賬號,如果您已有賬號,請登錄 又拍云控制臺 完成企業/個人認證
3.前往導航 > 工具箱 > 手機流量營銷頁面,開通該服務(開通郵件中包含接口地址)
4.通過流量營銷控制臺配置回調地址
5.出口 IP 出于安全考慮暫不支持控制臺配置,可聯系我司商務完成生產環境聯調
業務交互流程:
接口文檔?
又拍云手機流量平臺接口入口地址統一為:https://ptp-api.upyun.com,請求接口時,統一使用 POST 方法, 文檔類型統一為 Content-Type: application/json,使用 JSON 格式發送請求, 響應結果也會以 JSON 格式返回;文檔中接口的請求地址只包含路徑部分,實際請求時,需要加上統一入口地址 https://ptp-api.upyun.com。文檔中描述簽名計算時,都是先正序排序(給出的示例字符串已經是排序后的結果),再做 SHA1 運算。
本文檔一共描述了四個接口和一個充值回調說明,接口如下:
獲取簽名 POST /refreshToken
提交訂單 POST /chargeOrder
查詢訂單狀態 POST /seekOrder
查詢余額 POST /getMyBalance
針對以上接口,目前提供了 php 版本 sdk,用于提供接口調用示例, 各企業用戶可以根據自己的需要進行封裝,完善錯誤處理,下載地址:點擊下載。
接口詳情?
1.獲取計算簽名需要的 token
接口說明
該接口用于獲取 token,調用其他接口時,需要使用 token 計算簽名。由于 token 需要在后續的接口請求中,全局共享,所以在并發請求的場景下,建議將 token 保存在 Redis/Mysql 等第三方存儲中
請求地址
POST /refreshToken
請求參數
名稱
類型
是否必須
描述
appkey
String
必須
appkey,由又拍云提供,可以登錄手機流量后臺查看
appsecret
String
必須
appsecret,由又拍云提供,可以登錄手機流量后臺查看
請求示例
curl https://ptp-api.upyun.com/refreshToken -H "Content-Type: application/json" -d "{\"appkey\": \"your_appkey_put_here\", \"appsecret\": \"your_appsecret_put_here\"}"
響應參數
名稱
類型
示例值
描述
code
String
200
響應狀態碼,200 表示正常,其他詳見錯誤碼
token
String
XsdOpxqudzMnw
用于簽名計算需要的 token,token 默認有效期為 24 小時,僅最后一次請求接口生成的 token 才有效
info
String
請求成功
響應示例
{
"code": "200",
"token": "XsdOpxqudzMnw",
"info": "請求成功"
}
2.創建訂單
接口說明
創建手機流量充值訂單
請求地址
POST /chargeOrder
請求參數
名稱
類型
是否必須
描述
appkey
String
必須
E1KRHcKd3qoef8V1
mobile
String
必須
被充值手機號進行 AES 對稱加密再 base64 轉碼后的值,一次只允許一個手機號碼,見示例程序
prodcode
String
必須
流量包的產品編號
custno
String
必須
客戶自定義的訂單號,用于客戶內部記錄訂單,長度必須小于30, 且每次充值,編號不重復
sign
String
必須
根據 token 和請求參數計算的簽名,簽名規則見算法說明部分 (示例程序下載)
prodtime
Integer
選填
流量時段,1 表示全時段流量,0 表示閑時流量,默認為全時段流量
prodstandard
Integer
選填
用于區分網絡類型,可選值分別為:7表示全部網絡類型,3表示 2g 和 3g 兩種網絡類型,1表示 2g 網絡類型,默認值為7
響應參數
名稱
類型
示例值
描述
code
String
200
響應狀態碼,200 表示創建訂單成功;410 511 必須再次查詢訂單確認;其他錯誤碼視為創建失敗;系統響應超時等其他非正常響應,需要調用查詢訂單接口確認
custno
String
20150238829
客戶訂單號,和請求值一致
orderno
String
2016298237019
又拍云平臺的訂單號
info
String
充值成功
算法說明
計算手機號的 AES 對稱加密,再 base64 轉碼后的值
將接口請求參數按照請求參數名稱正序排序;
將請求參數和請求參數值拼接成字符串:appkey${YourAppKey}custno${YourCustno}mobile${YourAesEncodedMobile}prodcode${YourPrdcode}token${YourToken(將字符串中的變量${...}部分替換成實際值即可,)
對拼接后的字符串進行SHA1指紋運算,得到的 16 進制字符串 b5cd94c99e3e576f5e2ca0e66ee3da670cb1c62b 便是 sign 值
示例
參數拼接后的字符串為:appkey3P83lWwkoV15yZVTcustno20151123114702mobile8mBGFNfe1o/rzAx2Ost2IQ==prodcodeCMCC_10tokenVqHAab3JYXBDkCoO(注意手機號是 aes 加密再 base64 編碼后的),進行 SHA1 運算得到的 sign 值為:8b05f52e605c7ab89a895eb730cacab4cbeabd4c
響應示例
{
"code": "200",
"custno": "20150238829",
"orderno": "2016298237019",
"info": "充值成功"
}
3.查詢訂單狀態
接口說明
查詢充值訂單當前的狀態,用于確認是否充值成功
請求地址
POST /seekOrder
請求參數
名稱
類型
是否必須
描述
custno
String
必須
客戶提交的訂單號
appkey
String
必須
鑒權賬號
sign
String
必須
簽名,簽名規則為:將 appkey${YourAppKey}custno${YourCustno}requesttime${YourReqestTime}TOKEN${YourToken} 中${...}變量部分替換為實際值,再進行 SHA1 運算。如果請求參數不包含 requesttime,計算簽名則不需要該值
requesttime
String
否
查詢的時間點,該參數為可選參數,格式為"YYYY-MM-DD HH:mm:ss",當傳遞該參數時,我們會在給定時間點的前后 1 個小時范圍內查詢;如果未傳該參數,我們將在最近一周的訂單中查詢
響應參數
名稱
類型
示例值
描述
code
String
200
響應狀態碼,200 表示充值成功;430 516 530 表示充值失敗;511 必須人工再次確認;其他錯誤碼視為充值中
custno
String
20150238829
客戶自定義訂單號
info
String
成功
響應示例
{
"code": "200",
"custno": "2015823871239",
"info": "充值成功"
}
4.查詢余額
請求地址
POST /getMyBalance
請求參數
名稱
類型
是否必須
描述
appkey
String
必須
sign
String
必須
簽名,算法為 appkey${YourAppKey}TOKEN${Yourtoken} 中${...}變量部分替換實際值,再進行 SHA1 運算得到的字符串便為 sign 值
響應參數
名稱
類型
示例值
描述
code
String
200
響應狀態碼
balance
Float
100.00
賬戶余額(包含凍結金額)
freeze
Float
20.00
凍結金額,正在交易的訂單金額
availBalance
Float
80.00
實際可用余額(不包含凍結金額)
響應示例
{
"code": "200",
"balance": 100,
"freeze": 20,
"availBalance": 80
}
充值回調說明?
客戶需要在又拍云手機流量后臺填寫充值回調地址,并注意防火墻配置,不能屏蔽又拍云服務器地址。配置成功后,每次充值后,又拍云會向該地址發送 POST 請求,請求的數據格式為 application/json
請求參數
名稱
類型
是否必須
描述
code
String
必須
響應狀態碼,200 表示充值成功;430,530 表示充值失敗,其他錯誤碼或異常信息表示充值中
orderno
String
必須
又拍云平臺的訂單號
custno
String
必須
客戶自定義訂單號
info
String
必須
描述信息
sign
String
必須
簽名,客戶可以使用該值校驗請求是否合法,強烈建議接收充值回調時進行校驗。簽名規則為:將 code${Code}custno${YourCustno}info${Info}orderno${OrderNo}token${YourToken} 字符串中的變量部分${...}替換為請求參數中的值,再對得到的字符串進行 SHA1 簽名
客戶接受請求成功后,需要響應如下 json 值:
{
"info": "1"
}
否則,又拍云將隔 1 分鐘再重試一次,一共回調 3 次
錯誤碼說明?
注:需要留意每個接口響應參數說明中的 code 處理方式
錯誤碼
說明
錯誤碼
說明
200
成功
201
充值中
410
運營商返回超時
422
用戶狀態異常
430
訂購/充值失敗
502
sign簽名錯誤
503
余額不足
504
非法的回調地址
505
手機號不合法
506
用戶不能訂購該套餐
507
接口參數異常
508
令牌鑒權不通過
509
客戶未認證授權
510
查詢太頻繁
511
內部異常,此時對訂單的查詢、充值等操作等需要聯系客戶再次確認
512
訂單號重復
513
運營商請求超時
514
ip不在白名單
515
該客戶不存在
516
不存在此訂單
517
無法識別的手機號
519
當前appkey或appsecret錯誤
520
活動不存在
526
合同不在有效期
527
token不在有效期
530
訂購/充值失敗
531
簽名不通過
532
訂單號長度超過30
533
aes加密有誤