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:
- 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.
- Feed wishlisty (opcjonalny) - merchant przesyła zawartość wishlist użytkowników jako dodatkowy sygnał do personalizacji.
- 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ł.