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 aplikacjiOdinstalowywanie:
Użytkownik odinstalowuje moją aplikację w swoim zapleczu ShopifyShopify wysyła webhook do mojej aplikacjiUsuwam dane tego użytkownika z bazy danych użytkownikaProblem 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?