Как получить идентификатор заказа, удаленного из Shopify Webhook — Laravel & amp; Shopify

В своем уроке я понял, что могу получить номер / идентификатор заказа во время каждого мероприятия, кроме orders/delete, В моем контроллере ниже, я пытаюсь получить номер заказа, как я делаю для каждой темы ('orders/create', 'orders/paid')etc, но тогда я получаю сообщение об ошибке:

Неопределенный индекс: номер в контроллере

контроллер

  public function registerOrderDeleteWebhook()
{
$shop = Auth::user()->site;
$token = Auth::user()->access_token;
$shopify = Shopify::setShopUrl($shop)->setAccessToken($token);
Shopify::setShopUrl($shop)->setAccessToken($token)->post("admin/webhooks.json", ['webhook' =>
['topic' => 'orders/delete',
'address' => 'https://example.domain.com/order-delete-webhook',
'format' => 'json'
]
]);
}



public function orderDeleteWebhook(Request $request)
{
$order = $request->getContent();
$order = json_decode($order, true);
$order_id = $order['number'];

//send notification to Admin with order number deleted below

}

Почему это может происходить только orders/delete?

0

Решение

неопределенная ошибка индекса

происходит потому, что в ответе интернет-крюка Shopify Order нет числового поля. Кроме того, это всегда хорошая идея, чтобы проверить, существует ли поле в первую очередь.

Если вы посмотрите на Удалить отзыв заказа отправлено Shopify, оно включает только

{
"id": 777859760246
}

где id — это идентификатор заказа. Но так как заказ удален, вы не сможете получить более подробную информацию позже даже через API. В соответствии с это сообщение на форуме заказ не может быть удален, пока он не будет отменен первым. Поэтому обходной путь заключается в том, чтобы прослушать ловушку Order Cancel и сохранить эту информацию где-нибудь в вашем приложении Laravel (база данных и т. Д.) И использовать ее позже, когда будет получен веб-крючок Order Delete.

2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector