Maison  >  Article  >  développement back-end  >  Utilisez PHP pour vous connecter à l'interface API de JD Industrial Platform afin de réaliser la fonction de requête de prix !

Utilisez PHP pour vous connecter à l'interface API de JD Industrial Platform afin de réaliser la fonction de requête de prix !

WBOY
WBOYoriginal
2023-07-10 10:03:091473parcourir

Utilisez PHP pour vous connecter à l'interface API de JD Industrial Platform afin de réaliser la fonction de requête de prix !

Jingdong Industrial Platform (API) est un ensemble d'interfaces de plate-forme ouverte fournies par Jingdong Mall pour les commerçants. Au cours du processus de développement, diverses fonctions, y compris les demandes de prix, peuvent être mises en œuvre en appelant l'interface API.

Tout d'abord, vous devez demander et obtenir la clé API de la plateforme industrielle JD. La clé API contient des informations importantes pour accéder à l'interface API de la plateforme industrielle JD.

Ensuite, nous utilisons PHP pour écrire du code permettant d'implémenter la fonction de requête de prix. Tout d'abord, nous devons écrire une classe pour gérer les requêtes et les paramètres API. Le code est le suivant :

<?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;
    }
}
?>

La classe JdApi dans le code ci-dessus encapsule la méthode de requête API et la méthode de traitement des paramètres. Dans la méthode getPrice($sku), nous appelons l'interface de requête de prix de l'API. Il convient de noter que les paramètres $url, $method et autres doivent être modifiés ici en fonction du document d'interface API spécifique.

Ensuite, nous pouvons instancier la classe JdApi ailleurs et appeler la méthode getPrice pour interroger le prix. L'exemple de code est le suivant :

<?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 "查询失败";
}
?>

Remplacez $appKey et $appSecret dans le code ci-dessus par la clé API que vous avez demandée. appKey et appSecret, $sku est le SKU du produit dont vous souhaitez vérifier le prix. Les résultats de la requête obtiennent le prix en analysant les données JSON et en les affichant sur la page.

Grâce aux exemples de code ci-dessus, nous pouvons utiliser PHP pour nous connecter à l'interface API de JD Industrial Platform afin d'implémenter la fonction de requête de prix. Dans le développement réel, d'autres méthodes peuvent également être écrites selon les besoins pour réaliser davantage de fonctions.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn