新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)百度小程序教程:detectrisk
- detectrisk
- 接口說明
- 請求地址
- 方法參數(shù)
- query 參數(shù)
- post 參數(shù)
- 返回值說明
- data 字段描述
- 返回值示例
- 返回值示例
- 檢測作弊用戶參考代碼
detectrisk
接口說明
檢測用戶是否是作弊用戶。

我們提供的服務(wù)有:成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、長洲ssl等。為上1000家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的長洲網(wǎng)站制作公司
請求地址
POST https://openapi.baidu.com/rest/2.0/smartapp/detectrisk?access_token=ACCESS_TOKEN
方法參數(shù)
query 參數(shù)
| 參數(shù)名 | 類型 | 是否必須 | 描述 |
|---|---|---|---|
| access_token | String | 是 | 接口調(diào)用憑證 |
post 參數(shù)
| 參數(shù)名 | 類型 | 是否必須 | 描述 |
|---|---|---|---|
| appkey | String | 是 | 小程序 appkey,智能小程序 AppKey 示例:4fecoAqgCIUtzIyA4FAPgoyrc4oUc25c |
| xtoken | JSON | 是 | 小程序通過swan-getSystemRiskInfo獲取的內(nèi)容,格式:{“key”:”xxxx”,”value”:”xxxx”} |
| type | String | 是 | 運(yùn)營活動(dòng)的類型,該值由風(fēng)控平臺分配。目前只有一種 marketing |
| clientip | String | 是 | 客戶端的 IP,非小程序服務(wù)本地 IP,示例:127.0.0.1 |
| ts | Int | 是 | 服務(wù)器的時(shí)間戳,秒級別,示例:1598528349 |
| ev | String | 否 | 事件類型,預(yù)先分配事件 ID 定義。 1、點(diǎn)擊活動(dòng)按鈕(或者活動(dòng)操作),活動(dòng)相關(guān)操作默認(rèn)選擇此事件 2、 進(jìn)入活動(dòng)頁面 3、注冊 4、登錄 5、分享 6、點(diǎn)贊 7、評論 8、 提現(xiàn) 9、下單/提單 10、支付 11、業(yè)務(wù)自定義動(dòng)作 12、瀏覽 feed 13、開寶箱 14、領(lǐng)取紅包 15、分享 feed 16、做任務(wù) 17、簽到 18、排行榜 19、邀請 20、新客紅包 21、搖一搖 22、語音紅包 23、視頻紅包 24、金融授信 25、答題 |
| useragent | String | 否 | 客戶端請求小程序 Server 的 useragent,示例:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36 |
| phone | String | 否 | 加密后的電話號碼,加密方法:sha1 |
返回值說明
| 名稱 | 類型 | 描述 |
|---|---|---|
| errno | Int | 錯(cuò)誤碼 0:正確返回,非 0:異常返回 |
| errmsg | String | 錯(cuò)誤信息 |
| request_id | String | 請求 ID,標(biāo)識一次請求 |
| data | Object | 詳細(xì)數(shù)據(jù),errno 為 0 的情況下才有意義 |
data 字段描述
| 名稱 | 類型 | 描述 |
|---|---|---|
| level | String | 風(fēng)險(xiǎn)級別,目前有四個(gè),風(fēng)險(xiǎn)等級依次降低(其中 1 最高,4 最低) 1 - 高危 2 - 嫌疑 3 - 普通 4 - 正常。 建議開發(fā)者將風(fēng)險(xiǎn)等級為 1、2 的做攔截處理 |
| tag | Array | 對應(yīng)的描述 |
返回值示例
{"data": {"level": "3","tag": ["空"]},"errmsg": "succ","errno": 0,"request_id": "3922098303","timestamp": 1561110003}
返回值示例
| 錯(cuò)誤碼 | 描述 |
|---|---|
| 400 | 請求參數(shù)錯(cuò)誤 |
| 20020100 | 解析失敗,請檢查xtoken參數(shù)是否正確 |
| 20020200 | 服務(wù)端內(nèi)部異常,請稍候重試 |
檢測作弊用戶參考代碼
- PHP
- GOLANG
/*** @desc php curl方式檢測用戶是否是作弊用戶*/// 參考 accessToken 獲取文檔;$accessToken = "xxx";// 小程序 appKey,從 B 端平臺獲取;$appKey = "xxxx";// 獲取方式參考文檔中 "post 參數(shù)" 解釋$xtokenArr = array("key" => "XXX","value" => "XXX");// 用戶 ip$clientIp = "xxx.xxx.xxx.xxx";// 11位明文手機(jī)號$phone = "130xxxxxxxx";// 從請求 header 中獲取$useragent = "xxxxxxx";// ev 1 為點(diǎn)擊按鈕獲取,請按照文檔設(shè)置合理的數(shù)值$ev = "1";$ret = dectectRisk($accessToken, $appKey, $xtokenArr, $clientIp, $phone, $useragent, $ev);var_dump($ret);/*** @desc 發(fā)起檢測用戶是否是作弊用戶請求*/function dectectRisk($accessToken, $appKey, $xtokenArr, $clientIp, $phone, $useragent, $ev){$url = "https://openapi.baidu.com/rest/2.0/smartapp/detectrisk?access_token={$accessToken}";$encryptedPhone = sha1($phone);$postDataArr = array('appkey' => $appKey,'xtoken' => json_encode($xtokenArr),// 風(fēng)控類型 目前只有 marketing'type' => "marketing",'clientip' => $clientIp,'ts' => time(),'ev' => $ev,'useragent' => $useragent,'phone' => $encryptedPhone,);$resp = curlPost($url, $postDataArr);return $resp;}/*** @desc curl POST請求,可以按照自己實(shí)際編程環(huán)境替換* @param string $url 請求的url地址* @param array $postDataArr 傳遞的數(shù)組參數(shù)* @return string 檢測結(jié)果json字符串*/function curlPost($url, $postDataArr){$headerArr =array("Content-type:application/x-www-form-urlencoded");$curl = curl_init();curl_setopt($curl, CURLOPT_URL, $url);curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);curl_setopt($curl, CURLOPT_SSL_VERIFYHOST,FALSE);curl_setopt($curl, CURLOPT_POST, 1);curl_setopt($curl, CURLOPT_POSTFIELDS, $postDataArr);curl_setopt($curl,CURLOPT_HTTPHEADER,$headerArr);curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);$output = curl_exec($curl);curl_close($curl);return $output;}
// Go http PostForm 方式檢測用戶是否是作弊用戶package mainimport ("crypto/sha1""fmt""net/url""strconv""strings""time""encoding/json""io/ioutil""log""net/http")// 返回的信息type detectriskResp struct {Errno int `json:"errno"`Errmsg string `json:"errmsg"`RequestId string `json:"request_id"`Timestamp int64 `json:"timestamp"`Data struct {Level string `json:"level"`Tag []string `json:"tag"`} `json:"data"`}func main() {// 獲取方式參考文檔中 "post 參數(shù)" 解釋xtokenMap := map[string]string{"key": "XXX","value": "XXX",}xtokenByte, err := json.Marshal(xtokenMap)if err != nil {log.Fatalln(err)return}// 參考 accessToken 獲取文檔;accessToken := "xxx"// 小程序 appKey,從 B 端平臺獲??;appKey := "xxxx"// 用戶 ipclientIp := "xxx.xxx.xxx.xxx"// 11位明文手機(jī)號phone := "130xxxxxxxx"// 11位明文手機(jī)號useragent := "xxxxxxx"// ev 1 為點(diǎn)擊按鈕獲取,請按照文檔設(shè)置合理的數(shù)值ev := "1"xtoken := string(xtokenByte)resp, err := dectectRisk(accessToken, appKey, xtoken, clientIp, ev, useragent, phone)fmt.Println(resp, err)}// dectectRisk 發(fā)起檢測用戶是否是作弊用戶請求func dectectRisk(accessToken, appKey, xtoken, clientIp, ev, useragent, phone string) (*detectriskResp, error) {urlPath := "https://openapi.baidu.com/rest/2.0/smartapp/detectrisk?access_token=" + accessTokenh := sha1.New()h.Write([]byte(phone))phoneSha1 := fmt.Sprintf("%x", h.Sum(nil))timeNowStr := strconv.FormatInt(time.Now().Unix(), 10)data := make(url.Values)data.Add("appkey", appKey)data.Add("xtoken", xtoken)// 風(fēng)控類型 目前只有 marketingdata.Add("type", "marketing")data.Add("clientip", clientIp)data.Add("ts", timeNowStr)data.Add("ev", ev)data.Add("useragent", useragent)data.Add("phone", phoneSha1)resp, err := netPost(urlPath, &data)if err != nil {log.Println(err)return nil, err}return resp, nil}// netPost POST請求,可以按照自己實(shí)際編程環(huán)境替換func netPost(urlPath string, data *url.Values) (*detectriskResp, error) {req, err := http.NewRequest("POST", urlPath, strings.NewReader(data.Encode()))req.Header.Add("content-type", "application/x-www-form-urlencoded")if err != nil {log.Println(err)return nil, err}client := &http.Client{Timeout: 5 * time.Second}resp, err := client.Do(req)if err != nil || resp.Body == nil {log.Println(err)return nil, err}defer resp.Body.Close()result, err := ioutil.ReadAll(resp.Body)if err != nil {log.Println(err)return nil, err}respData := &detectriskResp{}err = json.Unmarshal(result, respData)if err != nil {log.Println(err)return nil, err}return respData, nil}
名稱欄目:創(chuàng)新互聯(lián)百度小程序教程:detectrisk
當(dāng)前地址:http://m.fisionsoft.com.cn/article/cdihede.html


咨詢
建站咨詢
