从Shopify Store卸载应用程序后,从PHP应用程序中删除商店详细信息

时间:2017-04-19 07:04:31

标签: php arrays post shopify

我希望从Shopify商店卸载应用程序后删除PHP应用程序中的商店详细信息,这些应用程序在安装应用程序时存储在数据库中,

现在我得到了一些解决方案,如下所示:

$create_webhook = array('webhook'=>array( 
    'topic'=> 'app/uninstalled', 
    'address'=>'{{ mydomainname}}/uninstalled.php',
    'format'=> 'json'
));

$request_update = $shopify('POST /admin/webhooks.json ', array(), $create_webhook);

但是我们可以在安装时或任何其他时间创建此webhook吗?

2 个答案:

答案 0 :(得分:4)

在不知道架构的情况下,很难分辨出您要删除的数据。如果您能够提供一个示例,说明您要插入的数据以及可用的列类型,我们可能会提供更多帮助。

说了这么多,从数据库中删除一行是相当简单的。我假设您正在寻找一个从数据库中删除内容的脚本,下面将会这样做。您需要更新SQL查询以反映您的架构。

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

// sql to delete a record
$sql = "DELETE FROM MyGuests WHERE id=3";

if ($conn->query($sql) === TRUE) {
    echo "Record deleted successfully";
} else {
    echo "Error deleting record: " . $conn->error;
}

$conn->close();
?>

答案 1 :(得分:4)

您的示例代码正在注册一个回调,该回调将由shopify卸载webhook访问,该回调将在您的应用程序通过shopify管理UI卸载时运行。确保“address”属性是应用程序卸载回调的公共URL。

是的,您可以随时为webhook注册回调。

当卸载应用程序时,shopify会向您在“地址”属性中指定的地址发送一个POST请求,其中json payload包含客户详细信息。

在回叫删除客户数据之前,请务必收集X-Shopify-Hmac-SHA256标题并验证这是真实的请求。

Make sure you have all the data you need before the uninstall hook is run. 卸载会撤消帐户令牌,从shopify中删除已注册的webhook和应用数据。