Как автоматически бегать по маршрутам — Laravel

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

Так что, если мой маршрут https://example.domain/order-create-webhook, я должен запустить этот маршрут, чтобы вызвать функцию registerOrderCreateWebhook() Чтобы зарегистрировать мой веб-хук в приложении раньше, я могу начать получать ответ от Shopify.

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

NB: я добавил свой auth (), который регистрирует / устанавливает нового пользователя для приложения

контроллер

public function auth(Request $request)
{



$shared_secret = env('SHARED_SECRET');
$params = $_GET;
$shop_name = $request->shop;
$shopUrl = $request->domain;
$hmac = $request->hmac;
$code = $request->code;
$params = array_diff_key($params, array('hmac' => ''));
ksort($params);


$computed_hmac = hash_hmac('sha256', http_build_query($params), $shared_secret);


$api_key = "*****";
$shared_secret = "****";
$query = array(
"client_id" => $api_key, // Your API key
"client_secret" => $shared_secret, // Your app credentials (secret key)
"code" => $request->code // Grab the access key from the URL
);

$shopUrl = $shop_name;
$access_token_url = "https://" . $shopUrl . "/admin/oauth/access_token";


// Store the access token
$result = json_decode($result, true);
$access_token = $result['access_token'];
// dd($access_token);



// Valicate Shopify's request
if (hash_equals($hmac, $computed_hmac)) {
if (! User::where('site', '=', $shop_name)->exists()) {

// Create a new user account
$new_user = new User;
$new_user->site = $shop_name;
$new_user->access_token = $access_token;
$new_user->save();
}

// Get current user, login and redirect to dashboard
$user = User::where('site', '=', $shop_name)->firstOrFail();
Auth::login($user);
return redirect('/home');

}
else
{
abort(401, 'Unauthorized action.');
}
}

public function registerOrderCreateWebhook()
{
$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/updated',
'address' => 'https://example.domain.com/order-update-webhook',
'format' => 'json'
]
]);
}

маршрут

Route::get('order-create-webhook', Controller@registerOrderCreateWebhook);

1

Решение

Задача ещё не решена.

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

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

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