1. 程式人生 > >京東聯盟CPS API呼叫:我不想吐槽京東的介面。。。。

京東聯盟CPS API呼叫:我不想吐槽京東的介面。。。。

在呼叫介面之前,先要取得授權,這個看看介面文件就可以了。地址如下:https://jos.jd.com/doc/channel.htm?id=152

“新建應用”獲得 呼叫介面的通用引數(App key/client_idApp secret/client_secretaccess_token)。


授權有效期說明:如果應用appkey狀態為“線上測試”,授權token有效期只有24小時“上線執行”狀態的應用授權token有效期為一年。另如果是通用應用,需要先發布到服務市場,稽核通過後方可授權獲取token。注意:如授權商家修改主賬號密碼則授權碼(Access token)隨之失效,需重新授權。

推廣管理-》網站管理,新增新網站 獲得例如“獲取單條推廣程式碼”之類的API所需的web ID。如需app呼叫,則需要在推廣管理-》APP管理 新增一個APP,以獲得app相關介面所需要的appId 。

備案通過後的網站,通過京東稽核,一般需要3-5個工作日。


準備好以上應用級引數後,便可以呼叫京東聯盟API了,介面文件地址:https://jos.jd.com/api/list.htm?id=117

開發之前可以先用”API測試工具“測試一下。獲取推廣商品資訊介面測試地址:https://jos.jd.com/api/showTools.htm?id=1413&groupId=117

下圖是批量獲取推廣程式碼的介面測試結果:

比較坑爹的是 獲取單條推廣程式碼 的介面

推廣型別有好多個,但是目前只支援”自定義推廣“!物料ID的註釋很多,但是就是不說明自定義推廣型別的物料ID怎麼填!實際上,物料ID要填商品的訪問地址。

推廣渠道為PC時,要寫諸如http://item.jd.com/2346382.html的地址;推廣渠道為WL時,要寫諸如http://item.m.jd.com/product/2346382.html的地址。

php程式碼如下:

class jd {
    public static $appKey = '';
    public static $appSecret = '';
    public static $access_token = '';
    const URL = 'https://api.jd.com/routerjson?';

    /* 傳送GET請求,跳過ssl證書檢測 */
    function curl_get($url){
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);    // https請求 不驗證證書和hosts
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);    // 要求結果為字串且輸出到螢幕上
        curl_setopt($ch, CURLOPT_HEADER, 0); // 不要http header 加快效率
        curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)');
        curl_setopt($ch, CURLOPT_TIMEOUT, 15);
        $output = curl_exec($ch);
        curl_close($ch);
        return $output;
    }

    //設定引數
    function setParameter($specialParameter){
        $time = date('Y-m-d H:i:s', time());

        $publicParameter = array(
            'access_token'         => static::$access_token,
            'app_key'             => static::$appKey,
            'v'                 => '2.0',
            'timestamp'         => $time,
        );

        $params = array_merge($publicParameter, $specialParameter);
        $sign = self::getStringToSign($params);

        $parameter = array_merge($params, ['sign'=>$sign]);
        ksort($parameter);
        $str = '';
        foreach($parameter as $key => $value){
            $str .= urlencode($key) . '=' . urlencode($value) . '&';
        }

        return $str;
    }

    //生成簽名
    function getStringToSign($parameter){

        ksort($parameter);
        $str = '';
        foreach($parameter as $key => $value){
            $str .= urlencode($key) . urlencode($value);
        }

        $str = static::$appSecret . $str . static::$appSecret;

        $signature = strtoupper(md5($str));

        return $signature;
    }

    //獲取推廣商品資訊
    public function getGoodsInfo($skuId){
    
        $specialParameter = [
            'method'    => 'jingdong.service.promotion.goodsInfo',
            '360buy_param_json' => json_encode([
                'skuIds'    => $skuId
            ])
        ];

        $str = self::setParameter($specialParameter);
        $url = self::URL.$str;

        return json_decode(self::curl_get($url));
    }

}

返回的資料格式為:

  object(stdClass)#59 (1) {
  ["jingdong_service_promotion_goodsInfo_responce"]=>
  object(stdClass)#60 (2) {
    ["code"]=>
    string(1) "0"
    ["getpromotioninfo_result"]=>
    string(499) "{
        "message":"介面成功",
        "result":[{
            "commisionRatioPc":0.60,
            "commisionRatioWl":0.60,
            "endDate":4102416000000,
            "goodsName":"聯想(ThinkPad )輕薄系列E450(20DCA082CD)14英寸膝上型電腦 (i5-5200U 4G 500G 2G獨顯 win10)",
            "imgUrl":"http://img14.360buyimg.com/n1/jfs/t3025/299/208536801/248419/ef1e3b38/579729e0N1e605005.jpg",
            "materialUrl":"http://item.jd.com/2346382.html",
            "shopId":1000000158,
            "skuId":2346382,
            "startDate":1475251200000,
            "unitPrice":3999.0,
            "wlUnitPrice":3999
        }],
        "sucessed":true}"
    }
  }


相關推薦

京東聯盟CPS API呼叫京東介面

在呼叫介面之前,先要取得授權,這個看看介面文件就可以了。地址如下:https://jos.jd.com/doc/channel.htm?id=152 “新建應用”獲得 呼叫介面的通用引數(App key/client_id、App secret/client_secret

一位女程式設計師的內心獨白幹了

過去的那幾年裡我鬧著哭著要做一名程式設計師,在每個人都會經歷的努力下,我終於做到了,其實那個時候我並沒有多少驚喜,因為我是付出了極大的代價的,在那之前我主要在搞網頁設計,做得不錯,可是我一心想著做程式設計師,和原來的工作職務發生了不少衝突,但是還是義無返顧地脫離了原來的設計行

終於拿到java網易offer,幾句!

偶然看到別人分享的一個帖子,樓主研究生,經過努力,終於拿到了網易的offer,雖然是實習生,但是一看貼出來的面試題,基本上都是底層原理相關的題目。最近也看了不少的面試題,發現大型網際網路公司的面試題都偏向底層偏向演算法的多點,這估計就是大家夥兒經常說的,面試造飛機,工作擰螺絲這樣把。不過也顯示出的就

孔壹學院是“藥”神,只是在進行一場區塊鏈世界的救贖

過程 培訓班 信息 探索 pro 領路人 體系 text 第一步   千人飆淚、掌聲不息,口碑好,零差評,上映7天票房突破17億,這就是電影《我不是藥神》。作為一部電影,它帶給觀眾的是五味雜陳的感受,每一重觀感都是超強的催淚劑。而真正值得我們關註的,是這部影片何以一片“叫

環球星訪談?成龍是Superman 但每部戲..

阿里巴巴官方釋出微博稱,連續幾日,一篇名為《阿里員工透露:馬總早移走 1200 億人民幣!網友:不愧是老師》的文章被有組織的進行惡意傳播。阿里巴巴官方釋出微博稱,連續幾日,一篇名為《阿里員工透露:馬總早移走 1200 億人民幣!網友:不愧是老師》的文章被有組織的進行惡意傳播。 對此,阿里表示,該文完全捏造事

趣談網路協議---基於JSON的RESTful介面協議關心過程,請給結果

SOAP 過於複雜,設計是面向動作的,往往因為架構問題導致併發量上不去。 RESTful 是一種架構模式,主要面向資源,提供無狀態服務,有利於橫向擴充套件應對高併發。 傳輸協議問題 傳輸協議問題—基於 HTTP。 對於 SOAP,建立一個訂單,用 POST 動作

能者居之貪生,但怕死

在我看來我擁有的都是僥倖,我失去的都是人生! 這是我不能逃避的宿命,請給我好一點的情敵! 不要低估你對愛人的渴望。不要高估你對平凡婚姻的承受能力。不要為了一時的心安,而提前倉促交卷。不要帶著你對一個人的執念走進另一個人的生活。 如果說豐富的生活是紅軍在與敵人的激戰中爬雪山過草地的話,那麼我的生活更像是一

比爾•蓋茨認為中國AI能彎道超車

關注ITValue,檢視企業級市場最新鮮、最具價值的報道!微軟創始人比爾·蓋茨,怎麼看當前AI發

Yann LeCun專訪覺得自己有天分,但是一直往聰明人堆裡鑽

來源:AI 科技評論摘要:紐約大學教授、Facebook 副總裁與首席 AI 科學家 Yann

“媽媽,我不想學了”,你的回答改變孩子一生(悵然若失,說了一句話“為什麼當初沒有人逼?”。我不願意學,你就學啦!那時候還小,懂事,難道你也懂事嗎要做成一件事,就必須有延遲滿足的能力)

“媽媽,我不想學了”,你的回答改變孩子一生(組圖)新聞來源: 槽值 前兩天,送孩子去書法班的時候,在小區門口看到一位媽媽,她正拽著孩子往車裡進,孩子哭著掙扎:“我不想學舞蹈了,我不去,太累了……” 媽媽怒吼著:“你今天去也得去,不去也得給我去!” 最終,孩子還是拗不過媽媽,上了車,去學舞蹈。 我不禁想

IT狗受夠了是修電腦的!!

IT 第一反應就是:修電腦的 當IT狗面對這群不識貨的人時 已經不淡定了~~ 我不是修電腦的! 你才是修電腦的! 據說 人群望去 哪位是IT一眼就能看出來 久坐不起面容憔悴,臉上一抹壓抑已久的悶騷,格子襯衫質樸中散發著苦味,間歇性情緒不穩,永久性眼圈發黑。神祕而沉默,純正

API呼叫GET、POST

一、網路請求GET 使用新浪微博提供的開放API(如下圖),獲得相應資訊(GET)。 同步:當一個執行緒在執行某個請求時,其它執行緒進入等待狀態 非同步:當一個執行緒在執行某個請求時,程序不需要一直等下去,而是繼續執行下面的操作,不管其他程序的狀態。當

Flask 作者 Armin Ronacher覺得有非同步壓力

英文 | I'm not feeling the async pressure【1】 原作 | Armin Ronacher,2020.01.01 譯者 | 豌豆花下貓@Python貓 宣告 :本翻譯基於CC BY-NC-SA 4.0【2】授權協議,內容略有改動,轉載請保留原文出處,請勿用於商業或非法用途。

RedisTemplate背鍋,是你用錯了

今天分享一個RedisTemplate的問題,感興趣的可以繼續看下去了,不感興趣的繼續撩妹去吧! 如下圖:一位朋友給了我一個報錯的圖片,為啥為啥取不到值? ![](https://img2020.cnblogs.com/blog/1618095/202003/1618095-202003111348475

effective c++ 條款06使用編譯器自動生成的函數,就該明確拒絕

ble 這樣的 ive c++ 拒絕 類對象 析構 並且 防止 記住:為防止編譯器暗自提供的功能,可將相應的成員函數聲明為privae並且不予實現。也可以使用Uncopyable這樣的父類實現。 對於獨一無二的對象,希望不支持拷貝構造函數和賦值操作符。 class Hom

寫題解的題們

一位 處理 gho zjoi noi sdoi2009 pri spfa spf [NOI2004]起床困難綜合征:預處理每一位用1好還是0好,按位貪心就行。 [網絡流24題]運輸問題:最小費用最大流裸題,最大費用權值取反就行。(然後我spfa就寫錯了) [ZJOI200

I don't know when it first started. 知道這是從什麼時候開始的 I don't really talk to my friends anymore. 已經

I don't know when it first started. 我不知道這是從什麼時候開始的。   I don't really talk to my friends anymore. 我已經不再和朋友們進行真正的交談了。   We just se

成為鹹魚系列之字串建立方式及記憶體的簡單分析

前言:今天不學習,明天變鹹魚 我們都知道建立字串的方式有兩種(基本的建立方式,clone序列化...不考慮) a.String s1 = "asdf"; b.String s2 = new String("asdf"); 我們首先分析下他在記憶體中的分配情況: 對於s1來說他

是程式設計師,但猝死

想看更多關於程式猿帶著媳婦日常旅行和開轎車進藏的視訊和文章,請關注我們“IT男女旅遊記”。 作為一個資深程式猿,在前兩天突然聽到了一個訊息:深圳又一個程式猿加班倒下了,那畫面令我感慨不已,內心甚至感到悲涼。 如果有對大資料感興趣程式設計師,可來我們的大資料交流扣qun哦:59.13.0

effective c++乾貨之條款06使用編譯器自動生成的函式,就該明確拒絕

假如你建立了一個類用來表示世界上的每一個人: class aPerson { //... }; 每一個人都是獨一無二的,所以為一個人做一個副本顯得有悖倫理道德,那麼我們就應該禁止拷貝構造和copy assignment操作(統稱為copying 函式)。 不幸的