Как создать пользовательский веб-хук в Shopify - PullRequest
0 голосов
/ 13 февраля 2020

Я хочу создать собственный веб-крючок в Shopify для входа в систему клиента, используя личное приложение, ниже мой код, но я получаю ошибку Array ([errors] => Array ([topic] => Array ( [0] => указано недопустимое значение topi * 1007. * Разрешены темы: приложение / удалено, корзина / создать, корзина / обновить, оформить заказ / создать, оформить заказ / удалить, оформить заказ / обновить, оформить заказ / заплатить, сбор / создание, сбор / удаление , коллекции / обновления, группы клиентов / создать, группы клиентов / удалить, группы клиентов / обновить, клиенты / создать, клиенты / удалить, клиенты / отключить, клиенты / включить, клиенты / обновить, order_transactions / create, заказы / отменены, заказы / создать, заказы / удалить, заказы / отредактированные, заказы / выполненные, заказы / оплаченные, заказы / частично выполненные, заказы / обновленные, продукты / создать, продукты / удалить, продукты / обновить, возвраты / создать, магазин / обновление, темы / создать, темы / удалить , themes / publi sh, themes / update, tender_transactions / create, app_purchases_one_time / update, app_subscription / update, варианты / удалить)) * 1 003 *

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 Ответ

1 голос
/ 13 февраля 2020

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

Чтобы начать прослушивать это обновление, вам необходимо создать webhook в определенном магазине.

Но вам нужно выбрать topi c из списка, предоставленного shopify.

Shopify не предоставляет webhook для события «Клиент / Вход» (или topi c).

Если вы хотите обновить свою систему при входе в систему, вам нужно создать пользовательское уведомление (полностью настраиваемое решение) ).

для этого вы можете сделать ...

Создать пользовательский код с JS & Liquid, который обновляет вашу систему при входе пользователя.

you можете сделать это через приложение, используя App Proxy

...