我想使用以下私人应用程序在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());
}
请帮助您是否可以通过私人应用创建它?
答案 0 :(得分:1)
使用网络挂钩,您可以获取shopify本身提供的有关shopify商店发生的特定事件的数据。
要开始收听此更新,您需要在特定商店上创建webhook。
但是您需要从shopify提供的列表中选择主题。
Shopify不为客户/登录事件(或主题)提供网络挂钩。
如果要在登录时更新系统,则需要创建自定义通知(完全自定义解决方案)。
为此,您可以...
使用JS&Liquid创建自定义代码,这些代码可在用户登录时更新您的系统。
您可以使用App Proxy
通过应用执行此操作