Подтвердить что ты не робот

Удаление сведений о магазине из приложения PHP после удаления приложения из магазина Shopify Store

Я хочу удалить данные о магазине из приложения PHP после удаления приложения из магазина Shopify, которые хранятся в базе данных, когда приложение установлено,

Теперь у меня есть решение для этого, например:

$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 при установке времени или в другое время?

4b9b3361

Ответ 1

Ваш примерный код регистрирует обратный вызов, к которому будет обращаться веб-хостинг shopify uninstall, который будет запускаться, когда ваше приложение будет удалено через пользовательский интерфейс shopify admin. Убедитесь, что свойство "адрес" является общедоступным URL-адресом для ваших приложений. Удалите обратный вызов.

Да, вы можете в любое время зарегистрировать обратный вызов для webhook.

Когда приложение будет удалено, shopify отправит запрос POST по адресу, указанному в свойстве 'address', с json payload который имеет информацию о клиентах.

Соблюдайте заголовок X-Shopify-Hmac-SHA256 и убедитесь, что это подлинный запрос, прежде чем ваш обратный вызов удалит данные клиента.

Убедитесь, что у вас есть все необходимые данные, прежде чем будет запущен крючок удаления. Uninstall отменяет токены, удаляет зарегистрированные веб-записи и данные приложения из магазина.

Ответ 2

Не зная схемы, трудно сказать, какие данные вы пытаетесь удалить. Если вы можете предоставить пример того, какие данные вы вставляете и какие столбцы доступны, мы можем предоставить немного больше помощи.

Сказав все это, достаточно прямо удалить строку из базы данных. Я предполагаю, что вы ищете script, чтобы удалить что-то из базы данных, как показано ниже. Вам нужно обновить 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();
?>