Skocz do zawartości

[php + mysql] integracja sklepu z zewnetrznym systemem


HERO

Rekomendowane odpowiedzi

Hejka, nie tyle mam problem z kodem co z samym pomysłem jak ugryzc temat.

Jest sobie sklep A i system B 

jak pojawi sie nowe zamowienie w sklepie A chcialbym zeby system B o tym sie dowiedzial i wykorzystuje do tego API z systemu B

problem jest taki, ze nie moge w sklepie A napisac rozwiazania ktore odpyta API i wysle info do systemu B w momencie zlozenia nowego zamowienia. 

Pomyslalem, ze napisze kod ktory bedzie sprawdzal czy pojawily sie w tabeli zamowienia nowe rekordy, ustawie crona co minute i jak pojawi sie nowe zamowienie to wysle info do systemu B , ale moze robi sie to jakos prosciej, normalniej? 

Opiekuj.pl - Testy dla opiekunek do dzieci | Dentysta Mokotów który daje powody do uśmiechu | Systemy szklane - Oferujemy szeroki wybór elementów szklanych dostępnych w różnych rozmiarach

 

Odnośnik do komentarza
Udostępnij na innych stronach

Jaka jest różnica w wysłaniu informacji do API od razu, a jaka gdy ustawisz crona co minutę? W obu przypadkach odpytujesz API, tak?

  • Like 1

Potrzebujesz dedykowanej aplikacji internetowej? Napisz :) (PHP, MariaDB/MySQL, MongoDB, JavaScript)

Mój prywatny monitor backlinków

Najlepsze serwery Minecraft. A to kolejna lista zawierająca serwery Minecraft

Odnośnik do komentarza
Udostępnij na innych stronach

Ale na czym pogada dokładnie ten problem ?

 

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Zainteresuj się wzorcem obserwator. W tym wypadku sklep w którym pojawi się zamówienie może poinformować obserwujących (subskrybentów) o tym fakcie.
Technicznych implementacji tego mechanizmu jest wiele...

Nie robił bym tak, że to obserwujący odpytuje co (n) sekund tylko jak wyżej .

Edytowane przez Mion

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

to ten temat? (niekoniecznie ten przyklad)

https://refactoring.guru/pl/design-patterns/observer/php/example

 

Opiekuj.pl - Testy dla opiekunek do dzieci | Dentysta Mokotów który daje powody do uśmiechu | Systemy szklane - Oferujemy szeroki wybór elementów szklanych dostępnych w różnych rozmiarach

 

Odnośnik do komentarza
Udostępnij na innych stronach

Nie chodzi o implementacje :)  bo ta w tym wypadku tyczy kodu w jednej aplikacji, a Ty masz rozproszony. Chodzi o zasadę, że jest wysyłana (puszowana) informacja do subskrybentów.

Jeśli nie chcesz / nie możesz modyfikować kodu sklepu w zasie samego dodawania zamówienie, to możesz napisać mechanizm który "z crona" co jakiś czas będzie obserwował = sprawdzał ostatnie ID w tabeli  zamówień. I jeśli pojawi się nowe zamówienie, to poinformuje wywołaniem POST lub GET sklep/y, które są dana informacją są zainteresowane.

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

@HERO i jak tam Poradziłeś sobie z tym prostym tematem ?

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

@mion w bazie danych sklepu A ustawiłem triggera z after insert i after update

do tego stworzylem nowa tabele w ktorej przechowuje historie zmian zamowien zeby w php nie sprawdzac calej tabeli z zamowieniami, pozniej to juz standardowo przez api wysylam info do B. 

 

Opiekuj.pl - Testy dla opiekunek do dzieci | Dentysta Mokotów który daje powody do uśmiechu | Systemy szklane - Oferujemy szeroki wybór elementów szklanych dostępnych w różnych rozmiarach

 

Odnośnik do komentarza
Udostępnij na innych stronach

Zuch chłopak :)

 

Trigger może wstawiać rekordy do pomocniczej tabeli z flagą ENUM('0','1') ustawianą na '0' w wypadku nowego zamówienia.
Następnie "z crona" sprawdzasz tą tabelę i jeśli jest rekord z flagą '0' wykonujesz powiadomienia i oznaczasz na '1' jako już wykonane.
Możesz jeszcze dodać obsługę błędów np maksymalnie (n) powtórzeń jeśli subskrybent czyli zdalny host nie odbierze powiadomienia.

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności