ホームページ  >  記事  >  バックエンド開発  >  PHP を使用して JD Industrial Platform API インターフェイスに接続し、価格クエリ機能を実現します。

PHP を使用して JD Industrial Platform API インターフェイスに接続し、価格クエリ機能を実現します。

WBOY
WBOYオリジナル
2023-07-10 10:03:091458ブラウズ

PHP を使用して JD Industrial Platform API インターフェイスに接続し、価格クエリ機能を実現します。

Jingdong Industrial Platform (API) は、Jingdong Mall が販売者向けに提供するオープン プラットフォーム インターフェイスのセットで、開発プロセス中に API インターフェイスを呼び出すことで、価格照会を含むさまざまな機能を実装できます。

まず、JD Industrial Platform の API キーを申請して取得する必要があります API キーには、JD Industrial Platform の API インターフェースにアクセスするための重要な情報が含まれています。

次に、PHP を使用して、価格クエリ関数を実装するコードを記述します。まず、API リクエストとパラメータを処理するクラスを作成する必要があります。コードは次のとおりです:

<?php
class JdApi {
    private $appKey; // 申请的API密钥中的appKey
    private $appSecret; // 申请的API密钥中的appSecret
    
    public function __construct($appKey, $appSecret) {
        $this->appKey = $appKey;
        $this->appSecret = $appSecret;
    }
    
    public function getPrice($sku) {
        $url = 'https://api.jd.com/routerjson'; // API接口地址
        $method = 'jingdong.price.read.queryPriceInfo'; // API接口方法名
        $timestamp = date('Y-m-d H:i:s'); // 当前时间戳
        
        $params = array(
            'app_key' => $this->appKey,
            'method' => $method,
            'timestamp' => $timestamp,
            'v' => '2.0',
            'sku' => $sku,
            'signMethod' => 'md5',
            'format' => 'json',
            'sign' => '',
        );
        
        // 生成签名
        $sign = $this->generateSign($params);
        $params['sign'] = $sign;
        
        // 发起API请求
        $result = $this->curlPost($url, $params);
        
        return $result;
    }
    
    private function generateSign($params) {
        ksort($params); // 参数按键名排序
        
        $str = $this->appSecret;
        foreach ($params as $key => $value) {
            $str .= "$key$value";
        }
        $str .= $this->appSecret;
        
        $sign = strtoupper(md5($str)); // 生成大写的md5签名
        
        return $sign;
    }
    
    private function curlPost($url, $params) {
        // 将参数拼接成GET请求的URL
        $url .= '?' . http_build_query($params);
        
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_HEADER, 0);
        curl_setopt($ch, CURLOPT_TIMEOUT, 10);
        
        $result = curl_exec($ch);
        curl_close($ch);
        
        return $result;
    }
}
?>

上記のコードの JdApi クラスは、API リクエスト メソッドとパラメータ処理メソッドをカプセル化します。 getPrice($sku) メソッドでは、API の価格クエリ インターフェイスを呼び出します。ここでの $url、$method、およびその他のパラメーターは、特定の API インターフェイス ドキュメントに従って変更する必要があることに注意してください。

次に、別の場所で JdApi クラスをインスタンス化し、getPrice メソッドを呼び出して価格をクエリします。コード例は次のとおりです:

<?php
$appKey = 'your_app_key';
$appSecret = 'your_app_secret';

$jdApi = new JdApi($appKey, $appSecret);

$sku = '123456'; // 要查询价格的商品SKU
$result = $jdApi->getPrice($sku);

// 处理查询结果
$jsonData = json_decode($result, true);
if ($jsonData && isset($jsonData['jingdong_price_read_queryPriceInfo_responce']) && isset($jsonData['jingdong_price_read_queryPriceInfo_responce']['result'])) {
    $price = $jsonData['jingdong_price_read_queryPriceInfo_responce']['result']['price'];
    echo "价格: $price 元";
} else {
    echo "查询失败";
}
?>

上記のコードの $appKey と $appSecret を次のように置き換えます。申請した API キーの appKey と appSecret の $sku は、価格を確認したい製品 SKU です。クエリ結果は、JSON データを解析して価格を取得し、ページに出力します。

上記のコード例を通じて、PHP を使用して JD Industrial Platform API インターフェイスに接続し、価格クエリ機能を実現できます。実際の開発では、必要に応じて他のメソッドを記述して、より多くの機能を実現することもできます。

以上がPHP を使用して JD Industrial Platform API インターフェイスに接続し、価格クエリ機能を実現します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。