Shopify: Jak mogę obsłużyć odinstalowanie, a następnie natychmiastową ponowną instalację?

Niedawno zdarzyło mi się, że użytkownik odinstalował moją aplikację Shopify i natychmiast ją ponownie zainstalował. To spowodowało problem, ponieważ zapisuję wszystkich moich użytkowników w tabeli DB.

Logowanie / instalacja działa w następujący sposób:

Użytkownik mówi mi swój adres URL sklepuPrzekazuję użytkownika na przykład.myshopify.com/admin/oauth/authorize, gdzie dostęp jest przyznawany mojej aplikacjiSprawdzam, czy ten adres URL sklepu jest już zapisany w mojej lokalnej bazie danych użytkownikówJeśli nie: Żądam tokena stałego dostępu i przekazuję użytkownika do strony wyboru planuJeśli tak: otrzymuję zapisany token stałego dostępu z bazy danych użytkownika i loguję użytkownika do mojej aplikacji

Odinstalowywanie:

Użytkownik odinstalowuje moją aplikację w swoim zapleczu ShopifyShopify wysyła webhook do mojej aplikacjiUsuwam dane tego użytkownika z bazy danych użytkownika

Problem polega na tym, że webhooki są czasami opóźnione. Jeśli użytkownik odinstaluje i natychmiast ponownie zainstaluje, moja aplikacja uzna, że ​​instalacja jest próbą logowania i użyje teraz niepoprawnego tokenu dostępu przechowywanego w bazie danych użytkownika.

Pomyślałem, że mogę po prostu sprawdzić, czy przekierowanie ze strony autoryzacji zawiera tymczasowy token dostępu, a jeśli tak, to byłaby nowa instalacja, ale wydaje się, że token dostępu jest zwracany, nawet jeśli aplikacja została już zainstalowana.

Tak więc moje pytanie brzmi: w jaki sposób mogę bezproblemowo przeprowadzić ponowną instalację? Z pewnością jest coś, czego nie zauważam, nie ma tak dużego „błędu logicznego” w API Shopify?

questionAnswers(1)

yourAnswerToTheQuestion