Przejdź do głównej zawartości

Przegląd

API Rekomendacji umożliwia merchantowi korzystanie z silnika rekomendacji OpenApp we własnym sklepie. Merchant dostarcza do OpenApp dane zakupowe oraz (opcjonalnie) dane wishlisty, a w zamian może pobierać spersonalizowane rekomendacje produktów dla użytkownika - w postaci proponowanych id wariantów katalogu, ean i ilości.

API składa się z trzech części:

  1. Feed zamówień - merchant przesyła historyczne i bieżące dane zamówień (zakupiony koszyk: produkty, ilości, ceny) wraz z identyfikatorem użytkownika. Zamówienia złożone przez checkout OpenApp są automatycznie pobierane. Feed służy do zamówień z innych kanałów sprzedaży merchanta.
  2. Feed wishlisty (opcjonalny) - merchant przesyła zawartość wishlist użytkowników jako dodatkowy sygnał do personalizacji.
  3. Rekomendacje użytkownika - merchant pobiera rekomendacje dla użytkownika na podstawie jego identyfikatora i otrzymuje trzy listy proponowanych produktów: top picks, replenishment i discovery.

Silnik rekomendacji opiera się na katalogu produktów, dlatego zintegrowane API Katalogu jest warunkiem wstępnym: rekomendacje zawierają wyłącznie produkty znane OpenApp z katalogu, a produkty niedostępne lub wycofane są wykluczone na zasadzie best-effort. Po początkowym pobraniu katalogu OpenApp potrzebuje czasu na przetworzenie danych; pobieranie zamówień i rekomendacji staje się dostępne dopiero po zakończeniu tego przetwarzania - do tego momentu oba endpointy odpowiadają 409 RecommendationsNotReadyException.

Identyfikatory użytkowników

Wszystkie trzy części API identyfikują użytkownika przez pole loggedUser - własny, stabilny identyfikator użytkownika merchanta. OpenApp nie próbuje powiązać go z żadnym kontem OpenApp. Identyfikator musi być:

  • stabilny: ten sam użytkownik musi być zawsze raportowany z tą samą wartością we wszystkich częściach - feedzie zamówień, feedzie wishlisty i zapytaniach o rekomendacje;
  • unikalny dla każdego użytkownika w ramach merchanta.

Identyfikator może być zanonimizowany - OpenApp potrzebuje go wyłącznie do korelacji zdarzeń między feedami. Jako identyfikatora nie należy używać danych osobowych, takich jak imię i nazwisko czy adres e-mail.

Każde zamówienie musi identyfikować użytkownika, który je złożył.