3

在使用应用程序安装运行此代码时,我收到无法处理的实体状态代码 422 错误。 这是代码

$sc = new ShopifyClient($_SESSION['shop'], $_SESSION['token'], $api_key, $secret);
$charge = array
(
    "webhooks"=> array
    (
        "topic"=>"orders/create",
        "address"=>"http://www.abc123no.com/nomi/s.php?key=123456789",
        "format"=>"json"
    )
);


try 
{
            $webhooks = $sc->call('POST','/admin/webhooks.json',$charge);
}
catch (ShopifyApiException $e)
{
    var_dump($e->getResponseHeaders());
}
4

2 回答 2

3

错误代码 422 用于验证错误。响应正文将描述错误以帮助您调试应用程序。

例如,响应可能是:{"errors":{"address":["for this topic has already been taken"]}}

您的错误似乎是由于使用了错误的请求格式。创建端点不采用 webhook 数组,您应该使用单数“webhook”作为顶级键。

Webhook API文档具有正确的请求正文格式。

于 2012-09-25T22:04:05.763 回答
0

将 webhook 更改为 webhook ,它可能会产生错误的请求错误

"**webhooks**"=> array
    (
        "topic"=>"orders/create",
        "address"=>"http://www.abc123no.com/nomi/s.php?key=123456789",
        "format"=>"json"
    )
于 2014-08-11T12:31:35.200 回答