You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用PHP+cURL向Shopify私有应用POST请求添加客户失败如何解决?

问题原因

  1. 请求方法不匹配
    你代码中将请求方法指定为了PUT,但Shopify创建客户的/admin/api/2021-07/customers.json接口要求必须使用POST方法,PUT方法仅用于更新已存在的客户信息,方法错误会直接导致接口请求失败。
  2. 字段类型不规范(可选修复)
    你传的accepts_marketing值为字符串类型的"true",该字段在Shopify接口规范中为布尔类型,建议改为布尔值true避免额外的校验失败。

修正后的核心代码

把原来的请求方法配置:

curl_setopt($session, CURLOPT_CUSTOMREQUEST, 'PUT');

替换为:

curl_setopt($session, CURLOPT_POST, true);
curl_setopt($session, CURLOPT_CUSTOMREQUEST, 'POST');

同时调整字段类型:

// 把原来的 'accepts_marketing' => 'true' 改为
'accepts_marketing' => true,

通用调试建议

如果后续遇到类似接口调用失败的问题,可以先添加curl错误打印逻辑,快速定位问题:

$response = curl_exec($session);
// 新增错误打印
if (curl_errno($session)) {
    echo 'Curl请求错误:' . curl_error($session);
}
// 也可以打印HTTP响应状态码排查
$httpCode = curl_getinfo($session, CURLINFO_HTTP_CODE);
echo '接口响应状态码:' . $httpCode;

内容的提问来源于stack exchange,提问作者LeoGoodfarm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 04:06:00