如何使用PHP cURL在Shopify中通过SKU搜索产品
使用PHP cURL通过SKU搜索Shopify产品
核心请求说明
Shopify Admin API的产品搜索接口支持通过SKU精准匹配,请求URL格式如下:
https://{API密钥}:{密码}@{店铺域名}/admin/api/{API版本}/products/search.json?query=sku:{目标SKU}
需要替换的占位符:
{API密钥}:你的Shopify私有应用API密钥{密码}:私有应用密码{店铺域名}:你的Shopify店铺域名(示例:your-store.myshopify.com){API版本}:指定使用的API版本(示例:2024-07,建议用最新稳定版){目标SKU}:要搜索的产品SKU编号
PHP cURL实现代码
以下是可直接运行的代码示例,替换对应占位符即可使用:
<?php // 配置参数 $apiKey = '你的API密钥'; $password = '你的私有应用密码'; $storeDomain = 'your-store.myshopify.com'; $apiVersion = '2024-07'; $targetSku = '要搜索的SKU编号'; // 构建请求URL $url = "https://{$apiKey}:{$password}@{$storeDomain}/admin/api/{$apiVersion}/products/search.json?query=sku:{$targetSku}"; // 初始化cURL $ch = curl_init(); // 设置cURL选项 curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'Content-Type: application/json' ]); // 执行请求并获取响应 $response = curl_exec($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); // 关闭cURL资源 curl_close($ch); // 处理响应 if ($httpCode === 200) { $products = json_decode($response, true); if (!empty($products['products'])) { // 输出匹配到的产品信息 print_r($products['products']); } else { echo "未找到对应SKU的产品"; } } else { echo "请求失败,HTTP状态码:{$httpCode}"; // 可根据需要输出错误详情 // print_r(json_decode($response, true)); } ?>
关键注意事项
- 权限配置:确保你的私有应用拥有
read_products权限,否则会返回403权限错误 - API版本:不要使用过时的API版本,Shopify会定期淘汰旧版本,建议在Shopify后台查看最新稳定版
- 特殊字符处理:如果SKU包含特殊字符,需要用
urlencode()处理,比如$targetSku = urlencode('SKU-123#ABC'); - 错误处理:实际使用中建议完善错误捕获逻辑,比如cURL执行失败的情况(可通过
curl_error($ch)获取错误信息)
内容的提问来源于stack exchange,提问作者Varinder
相关产品推荐
相关产品推荐

