如何在Shopify中创建自定义Web钩子

时间:2020-02-13 05:23:29

标签: shopify shopify-app

我想使用以下私人应用程序在Shopify中为客户登录创建自定义的Webhook,这是我的代码,但出现错误 Array([errors] => Array([topic] => Array( [0] =>指定的主题无效。允许的主题:应用程序/未安装,购物车/创建,购物车/更新,签出/创建,签出/删除,签出/更新,签出/付费,集合/创建,集合/删除,集合/更新,客户组/创建,客户组/删除,客户组/更新,客户/创建,客户/删除,客户/禁用,客户/启用,客户/更新,订单交易/创建,订单/取消,订单/创建,订单/删除,订单/已编辑,订单/已完成,订单/已付款,订单/部分已完成,订单/已更新,产品/创建,产品/删除,产品/更新,退款/创建,商店/更新,主题/创建,主题/删除,主题/发布,主题/更新,tender_transactions /创建,app_purchases_one_time /更新,app_subscriptions /更新,变体/删除))

session_start();

require __DIR__.'/vendor/autoload.php';
use phpish\shopify;

require __DIR__.'/conf.php';

$shopify = shopify\client(SHOPIFY_SHOP, SHOPIFY_APP_API_KEY, SHOPIFY_APP_PASSWORD, true);

try
{
    # Making an API request can throw an exception



    $customers = $shopify('POST /admin/api/2020-01/webhooks.json', array(), array
    (
        'webhook' => array 
        (
            "topic" =>  "customers/login",
            "address" => "myappurl", 
            "format" => "json"
        )

    ));

    print_r($customers);
}
catch (shopify\ApiException $e)
{
    # HTTP status code was >= 400 or response contained the key 'errors'
    echo $e;
    print_R($e->getRequest());
    print_R($e->getResponse());
}
catch (shopify\CurlException $e)
{
    # cURL error
    echo $e;
    print_R($e->getRequest());
    print_R($e->getResponse());
}

请帮助您是否可以通过私人应用创建它?

1 个答案:

答案 0 :(得分:1)

使用网络挂钩,您可以获取shopify本身提供的有关shopify商店发生的特定事件的数据。

要开始收听此更新,您需要在特定商店上创建webhook。

但是您需要从shopify提供的列表中选择主题。

Shopify不为客户/登录事件(或主题)提供网络挂钩。

如果要在登录时更新系统,则需要创建自定义通知(完全自定义解决方案)。

为此,您可以...

使用JS&Liquid创建自定义代码,这些代码可在用户登录时更新您的系统。

您可以使用App Proxy

通过应用执行此操作