#programowanie #troche #programista15k Mireczki, strona A posiada listę porduktów do powiedzmy 10 róznych sklepów (te sklepy stoją na róznych silnikach). Na stronie sklepu A, do koszyka dodaję dwa produkty, po czym dokonuję zakupu. Zakup jest przekierowywany do sklepu B (z którego te produkty pochodzą). Po przekierowaniu zostają one dodane do koszyka sklepu B. Jeśli przekierowany użytkownik chce, może dodać do koszyka na stronie sklepu B jakiś produkt, powiedzy, że dodaje jeden, co sprawia, że ostatecznie ma ich w koszyku na stronie sklepu B, trzy.
Czy jest możliwość stworzenia czegoś na zasadzie "kropki gifowe", czy "pixela śledzącego", a nawet bardziej rozbudowanego skryptu JS, który po zrealizacji zamówienia w sklepie B, informowałby sklep A (serwer), że zakup został dokonany (wywołanie np. na ostatniej stronie koszyka zakupowego), i za jaką ostatecznie kowtę? Zakładamy, że sklep B może dodać do kodu jakiś skrypt do wywołania i podać np. w tagu o jkim ID trzyma kowtę na ostatniej stronie, gdzie jest ona widoczna?
Widzę tu następujący problem: o ile dodanie kodu na stronie B nie jest problemem, to inne zmiany nie wchodzą w grę, a nie ma możliwości, w takim przypadku, sprawdzenia, czy skrypt wywołał odwiedzający ze sklepu A, czy po prostu kupujący "normlanie" w sklepie B?
Czy może otwieranie sklepu B po przekierowaniu ze sklepu A, z "paskiem" jak na Wykopie by pomogło? A może jakieś inne pomysły?
@Wyrelworelowany: brzmi banalnie; przekierowując z A do B dodajesz jakiś state (tak jak w oauth2), potem używając tego state w B możesz określić czy user przyszedł z A czy bezpośrednio i na tej podstawie zrobić callback/webhook i poinformować A
masz na myśli dodanie czegoś po stronie serwera, czy po stronie klienta (javascript)? Jeśli tylko po stronie klienta to moim zdaniem nie da się tego zrobić - takie rzeczy są zablokowane, bo tworzą luki bezpieczeństwa.
@GlenPL: Mogę i po stronie serwera coś odpalić, cały szkopół w tym, aby sklep B nie musiał ingerować w swój silnik, a jedynie dodał "kawałek kodu" (dla jasności, w pełni świadomie i nawet tego bardzo chcąc).
Sądzę, że nawet JSem jestem w stanie to ogarnąć wywołując po prostu URL mojego serwera (sklepu A), trochę jak kod śledzący FB czy GA?
Pomyślałem jeszcze, że zwykle w sklepach jest koszyk i podsumowanie (tu jest
@Wyrelworelowany: tak, da się, ale w praktyce może to być bardziej problematyczne niż w teorii. Trzeba pamiętać o takich rzeczach jak inwalidacja cookie po jakimś czasie, konflikty jeśli ktoś przerwie proces w trakcie itd. Trzeba też skoordynować kilka etapów kiedy dane są tworzone, aktualizowane i wysyłane. Najlepiej zacznij to sklejać i zobacz, czy w ogóle składa się w całość spójną.
@Wyrelworelowany: Przy przekierowaniu do sklepu A w urlu wrzucasz jakiś unikatowy hash który jest powiązany z org. zamówieniem "www.sklepb.pl?shopa_hash=xyz". Zapisujesz to w sesji czy gdzie ci tam pasuje. Potem przy finalizacji zamówienia sprawdzasz czy istnieje w sesji (czy gdzie tam zpapisałeś) ten hash. Jeżeli istnieje to wołasz do sklepu a "www.sklepa.pl/orderfinalized/xyz" gdzie xyz to hash dodatkowo getem czy tam postem przesyłaś potrzebne dane.
Czy jest możliwość stworzenia czegoś na zasadzie "kropki gifowe", czy "pixela śledzącego", a nawet bardziej rozbudowanego skryptu JS, który po zrealizacji zamówienia w sklepie B, informowałby sklep A (serwer), że zakup został dokonany (wywołanie np. na ostatniej stronie koszyka zakupowego), i za jaką ostatecznie kowtę? Zakładamy, że sklep B może dodać do kodu jakiś skrypt do wywołania i podać np. w tagu o jkim ID trzyma kowtę na ostatniej stronie, gdzie jest ona widoczna?
Widzę tu następujący problem: o ile dodanie kodu na stronie B nie jest problemem, to inne zmiany nie wchodzą w grę, a nie ma możliwości, w takim przypadku, sprawdzenia, czy skrypt wywołał odwiedzający ze sklepu A, czy po prostu kupujący "normlanie" w sklepie B?
Czy może otwieranie sklepu B po przekierowaniu ze sklepu A, z "paskiem" jak na Wykopie by pomogło? A może jakieś inne pomysły?
Z góry dzięki!
Pamiętaj proszę, że sklep B, nie jest mój, jestem go w stanie "zmusić" tylko do wrzucenia kawałka skryptu w kod strony, i nic więcej.
@Wyrelworelowany: tylko? ( ͡° ͜ʖ ͡°)
masz na myśli dodanie czegoś po stronie serwera, czy po stronie klienta (javascript)? Jeśli tylko po stronie klienta to moim zdaniem nie da się tego zrobić - takie rzeczy są zablokowane, bo tworzą luki bezpieczeństwa.
Sądzę, że nawet JSem jestem w stanie to ogarnąć wywołując po prostu URL mojego serwera (sklepu A), trochę jak kod śledzący FB czy GA?
Pomyślałem jeszcze, że zwykle w sklepach jest koszyk i podsumowanie (tu jest