Webhooks to mechanizm umożliwiający przesyłanie informacji o zdarzeniach z jednej aplikacji do drugiej, bez potrzeby ciągłego kontrolowania zdarzeń. Dzięki webhookom aplikacje mogą wymieniać się danymi w czasie rzeczywistym, co umożliwia bardziej wydajną integrację i automatyzację procesów.
- Zdarzenia, które masz do wyboru w aplikacji ONe to:
- "Cart opened" jest zdarzeniem powiadamiającym o otwarciu koszyka przez użytkownika. Działa to też po przejściu operatora w panelu handlowca na koszyk na backoffice.
- "Client logged" jest zdarzeniem powiadamiającym o zalogowaniu się użytkownika na platformie. W przypadku nieaktywności przez 30 minut, ponowna aktywność powoduje ponowne wysłanie tego zdarzenia. Działa to też po przejściu operatora w panelu handlowca na kartę klienta na backoffice.
- "OfferOpened BO" jest zdarzeniem powiadamiającym o wejściu użytkownika na widok oferty. Zdarzenie jest wysyłane zawsze gdy zmienia się identyfikator oferty w adresie URL.
1. Konfiguracja webhooków
- Przejdź do zakładki konfiguracje a następnie Webhooki
- Kliknij w przycisk utwórz webhook i ustaw status "aktywny"
- Ustaw dowolną nazwę i skonfiguruj "Zdarzenie wywołujące"
- Wstaw z zewnętrznego systemu URL Webhooka, na który ONe ma przesłać informacje o zdarzeniu.
- Wybierz typ uwierzytelnienia "HTTP_BASIC"
- Uzupełnij input "Nazwa użytkownika" - "twoja nazwa do lambdy"
- Uzupełnij input hasło - "twoje hasło do lambdy"
- Przed utworzeniem webhooka przetestuj go klikając w przycisk "Wyślij testowy webhook"
2. Weryfikacja przesłania WebHook Cart opened na Backoffice i na widoku klienta.
- Backoffice - postępuj według poniższych punktów:
- Przejdź do zakładki "Klient"
- Przejdź do zakładki "Klienci"
- Kliknij w nazwę któregoś z klientów
- W górnej części strony naciśnij przycisk "Utwórz"
- Z menu opcji tworzenia wybierz "Nowa sprzedaż"
- Przejdź na stronę URL (przykładowe twoje zdarzenie):
- Na stronie powinien znajdować się event z id klienta oraz id koszyka
- Widok klienta - postępuj według poniższych punktów:
- Zaloguj się na OFE na konto jednego z klientów
- Naciśnij przycisk koszyka znajdujący się w prawym górnym rogu
- Przejdź na stronę URL (przykładowe twoje zdarzenie):
- Na stronie powinien znajdować się event z id klienta oraz id koszyka
3. Weryfikacja przesłania WebHook Client Logged na Backoffice i na widoku klienta.
- Backoffice - postępuj według poniższych punktów:
- Przejdź do zakładki "Klient"
- Przejdź do zakładki "Klienci"
- Kliknij w nazwę któregoś z klientów
- Przejdź na stronę lambdy:
- Na stronie powinien znajdować się event z id klienta
- Widok klienta - postępuj według poniższych punktów:
- Zaloguj się na OFE na konto jednego z klientów
- Naciśnij konto --> dane konta
- Przejdź na stronę lambdy:
- Na stronie powinien znajdować się event z id klienta
4. Weryfikacja przesłania WebHook Offer Opened na Backoffice
- Backoffice - postępuj według poniższych punktów:
- Przejdź do zakładki "Klient"
- Przejdź do zakładki "Klienci"
- Kliknij w nazwę któregoś z klientów
- Wybierz zakładkę "oferty"
- Przejdź na stronę lambdy:
- Na stronie powinien znajdować się event z id klienta
5. Przykłady biznesowe wykorzystania webhooks
-
"Cart opened": sklep internetowy może wykorzystać to zdarzenie, aby powiadomić klienta o rabacie na produkty w jego koszyku oraz aby wysyłać powiadomienia push do klienta, informując go o produktach, które mogą go zainteresować.
-
"Client logged": firma może wykorzystać to zdarzenie, aby powiadomić klienta o nowych ofertach lub produktach, które mogą go zainteresować, lub do automatycznego personalizowania ofert na podstawie jego zachowań i preferencji. Firma może automatycznie personalizować swoje strony internetowe na podstawie preferencji klienta.
-
"OfferOpened": firma może wykorzystać to zdarzenie, aby powiadomić klienta o podobnych ofertach lub produktach, które mogą go zainteresować oraz aby wysłać powiadomienie e-mail z ofertami specjalnymi dla klienta.
Te przykłady pokazują, że webhooki mogą być wykorzystywane w wielu różnych scenariuszach biznesowych, aby automatyzować i ulepszać procesy, a także poprawić doświadczenie klienta.
- Korzystanie z webhooks wymaga posiadanie zewnętrznego narzędzia, które obsłuży przesyłane zdarzenia.
Edycja ceny na produktach kablowych
- Na potrzeby kalkulatora kablowego została stworzona funkcja dodawania tego samego produktu w osobnych liniach produktowych. W systemie umożliwiamy edycję ceny na pojedynczej linii produktowej. Zastosowanie biznesowe: pojedyncza sztuka danego produktu może być uszkodzona i chcemy sprzedać ją po niższej cenie.
- Możliwość edycji ceny zakupu: W modalu edycji ceny umożliwiamy edycję ceny zakupowej przez handlowca na ofercie i koszyku.
- W API integracyjnym zwracamy informację o powiązaniu między produktami. Jeżeli dana linia produktowa ma swoją linię rodzica to podajemy jego ID przy danej linii. Taki przypadek wystąpi np. Dla produktów kablowych. Produktem rodzicem będzie przewód, natomiast dzieckiem bęben, na który zostanie on nawinięty. Przy linii produktowej bęben zostanie podane ID linii produktowej, w której znajduje się przewód. Endpoint, który za to odpowiada to /api/v1/orderpath/integrations/auth-required/offer Get offer
"parentLineId": "1116cba2-499d-4f49-b1bd-4163c1f09fdc"
- Przy dodawaniu produktu kablowego (lub innego typu produktu w zależności od potrzeb) do oferty, umożliwiamy dodanie odpowiedniej adnotacji, że nie może on być splitowany. Oznacza to, że gdy będzie potrzeba zamówienia produktu ponad stan, to nie będzie on dzielony na przesyłki. Trafi od do przesyłki wysłanej w późniejszym terminie, czyli wtedy kiedy stan magazynowy zwiększy się do poziomu, który jest potrzebny aby dokonać zakupu. Na ten moment jest to możliwe poprzez zmiany flagi w API: /api/v1/orderpath/integrations/auth-required/carts/{cartId}/add-configurable-products
"configurableProducts": [
{
"children": [
{
"allowQuantityChange": true,
"allowQuantitySplitting": true, lub false
"productId": "string",
"quantity": {
"type": "CONTENT_QUANTITY"
},
"removable": true - możesz ustawić, że produktu nie będzie można usuwać
Komentarze
Komentarze: 0
Zaloguj się, aby dodać komentarz.