Internet Marketplace Format (IMF) to otwarty protokół integracji, który przygotowaliśmy w IdoSell na potrzeby integracji wbudowanych z serwisami zewnętrznymi typu marketplace i który nadaje się do samodzielnego oprogramowana przez marketplace, który chce samodzielnie zintegrować się ze sklepami IdoSell.
API Marketplace pozwala na złożenie zamówienia w sklepie, przekazanie do sklepu informacji o opłaceniu zamówienia, pobranie podstawowych informacji o sklepie, pobranie informacji o profilach dostaw i dostępnych punktach odbioru, a także pozwala na odpytanie o dostępność towaru, czy status zamówienia.
API Marketplace jest odseparowanym API od API panelu administracyjnego IdoSell, za którego pomocą marketplace może komunikować się ze sklepem w obszarze zamówień pochodzących z danego marketplace.
Odseparowanie API Marketplace oznacza również to, że tworząc integrację nie musisz dawać dostępu do API panelu administracyjnego, które pozwala na dostęp do newralgicznych danych i jednocześnie nie pozwala na operacje związane z przyjmowaniem zamówień z marketplaces.
Tworząc indywidualne integracje działające w oparciu o nasze otwarte standardy integracji i nasze bramki API masz dostęp do gotowego dedykowanego narzędzia, które w określonym przez Ciebie czasie pozwoli Ci zebrać logi w postaci plików XML zawierających sumaryczne informacje o prędkości i czasie wykonania oraz treści wykonanych w danej bramce żądań i otrzymanych dla nich z tej bramki odpowiedzi.
Zebrane w trakcie nasłuchu dane są zapisywane i udostępniana do wglądu w formie raportu Raport prędkości działania nasłuchiwanych bramek API oraz do pobrania w formie zbiorczego archiwum ZIP.
Marketplaces mają różną formę współpracy i realizacji zamówień. Niektóre są swego rodzaju targiem, na którym podobne produkty sprzedaje wiele podmiotów, a inne nie podają jawnie dostawcy towaru traktując w ten sposób podmiot współpracujący jako hurtownię.
Z myślą o tych drugich w API Marketplace przygotowaliśmy zestaw metod odpowiedzialny za składanie zamówień w modelu cross-docking i dropshipping, które działają identycznie jak z wykorzystaniem Customer API w protokole ICDF.
Po złożeniu zamówienia w sklepie, marketplace rozpocznie cykliczne odpytywanie o jego status. Będzie to niepotrzebnie obciążało zasoby serwerów i generowało nadmiarowe wywołania API Marketplace. Dlatego w konfiguracji marketplace dajemy możliwość wykorzystania mechanizmu webhooków, czyli powiadomień które wyślemy do marketplace, gdy zamówienie zmieni status w panelu sklepu (oczywiście marketplace z którym przygotowujesz integracje musi strukturę powiadomienia odpowiednio obsłużyć po swojej stronie).
Struktura powiadomienia jest identyczna ze strukturą odpowiedzi metody getOrderStatuses API Marketplace a samo powiadomienie wysyłane jest metodą POST.
Dane o aktualnej ofercie sklepu, t.j cena, opisy i informacje o dostępności towarów, marketplace może otrzymywać za pomocą gotowego feeda w standardzie IOF, bądź zmodyfikowanego w dowolnej strukturze danych.
Dla IMF wspierany jest format IOF w wersji 3.0, w którym oprócz pełnej bazy towarów możesz również otrzymywać informacje o zmianach w ofercie w sposób przyrostowy. W tym drugim przypadku oznacza to, że nie ma konieczności odpytywania za każdym razem o pełną ofertę towarów sklepu, gdyż zwracane są pełne informacje tylko o tych towarach, w których jakakolwiek dana uległa zmianie.
Przykładowy wycinek oferty:
W momencie kiedy zmienia się cena w towarze id=2 następuje przyrost pełnych towarów:
Jeśli marketplace wymaga określonej struktury i danych o towarach w feedzie z towarami, możesz dostosować samodzielnie jego układ i zawartość wgrywając sterownik, którym zmapujesz dowolne dane na odpowiedni atrybut dla pliku wyjściowego.
Procedurę jak to zrobić opisaliśmy już przy okazji porównywarek cen, których konfiguracja jest zbliżona do modułu marketplaces.