1. Opis ogólny
Wstęp
Model integracji
Podstawowe pytania
2. Tabele
Tokeny
Integracje
3. Wywołanie usługi BaseLinker
Import symboli magazynów: BL -> Tr
Eksport: Grupy indeksów Tr -> Kategorie BL
Eksport: Indeksy KIM Tr -> Produkty BL
Aktualizacja stanu zapasów mag: Tr -> BL
Aktualizacja cen indeksów: Tr -> BL
Import zamówień: BL -> Tr
4. Log integracji
5. Usuwanie danych wskazanej integracji
6. Uruchomienie automatyczne
7. Przykład. Pobieranie zamówień sprzedaży XML
8. Przykładowa konfiguracja.
9. Tematy powiązane
1. Opis ogólny
1.1 Wstęp
Trawers ERP zawiera wbudowane funkcje, które umożliwiają integrację
z aplikacją BaseLinker (rozwiązanie typu omnichannel).
Omnichannel, to sprzedaż wielo-kanałowa. Sprzedaż kanałami tradycyjnymi
(sklepy stacjonarne) oraz kanałami elektronicznymi (e-commerce).
Wysyłanie
Z programu Trawers ERP do aplikacji BaseLinker można wysyłać:
* symbole grup indeksów
* indeksy magazynowe
* pliki załączników, np. fotografie asortymentu
* oznaczenia cech (atrybutów) asortymentu
* ceny sprzedaży
* informacje o aktualnym stanie zapasów magazynowych
Pobieranie
Program Trawers ERP może pobierać z aplikacji BaseLinker:
* zamówienia sprzedaży
Wymianę danych z BaseLinker można zautomatyzować stosując mechanizm alertów.
Alerty i raportowanie
Dzięki temu dane można wysyłać i pobierać automatycznie z dowolną częstotliwością.
BaseLinker to narzędzie (program) do zarządzania sprzedażą w sklepach internetowych,
na serwisach aukcyjnych i integracji z firmami kurierskimi.
BaseLinker - producent: BaseLinker Sp. z o.o. sp. k. z Wrocławia.
https://baselinker.com/pl-PL/home/
Jak działa (funkcjonuje) ?
Przepływ danych
Amazon
Allegro--o FBA o--o eBay
| | |
| | |
| | |
v v v
o-----------------o
| Platforma |
| BaseLinker |<---<---<----o Dok wysyłki
o--------o--------o | Faktura sprzedaży
| |
| ^
v o----o------------------o
Zamówienie sprzedaży | Kompletowanie |
Plik XML | asortymentu do |
o | wysyłki wg zamówienia |
| o-----------------------o
| ^
[NA_DXML1] v |
o-------------------o |
| Dokumenty Trawers | ^
| (197) Pozycje o----->----->----o
| zamówień |
o-------------------o
NOTE: Reguły synchronizacji danych BaseLinker <--> Trawers
* asortyment (produkty) --> kody EAN
* odbiorcy (klienci) --> NIP (firmy)
--> adres e-mail (odbiorcy indywidualni
1. Trawers wysyła do BaseLinker informacje o produktach.
2. Użytkownik korzystając z interfejsu BaseLinker wystawia produkty na aukcjach.
3. Trawers (w trybie ręcznym lub Alert) pobiera zamówienia sprzedaży
Alerty i raportowanie
4. Trawers pobiera pliki XML z zamówieniami klientów i zapisuje je
w zbiorze zamówień sprzedaży.
Funkcja: NA > Pobieranie z plików w formacie XML [NA_DXML1]
W pliku XML mogą być definicje konfiguracji produktu (warianty)
wybrane przez klienta.
Patrz szczegóły:
Integracja z BaseLinker. Produkty wariantowe
Jakie korzyści z używania ?
Wg https://baselinker.com/pl-PL/home/
+ Popularne platformy sprzedaży i narzędzia e-commerce w jednym miejscu
+ Masowe wystawianie i edytowanie oferty na różnych platformach sprzedażowych
+ Nie ma potrzeby logować się do każdego serwisu z osobna.
Zarządza się zamówieniami z wielu źródeł w jednym systemie.
+ Synchronizacja magazynu z kanałami sprzedaży
Dlaczego utworzono integrację ?
Aby użytkownicy programu Trawers ERP uzyskali korzyści z integracji z BaseLinker.
Na czym polega integracja ?
Integracja polega na synchronizacji produktów, ich stanów magazynowych
i cen oraz pobieraniu zamówień złożonych w sklepach internetowych i na aukcjach.
Jaki rysunek pokazuje schemat integracji BaseLinker z Trawers ?
Patrz wyżej: Model przepływu danych
Jakie dane są wymieniane ?
+ Produkty (z wybranego magazynu) do magazynu BaseLinker
+ Ceny z cenników do magazynu BaseLinker
+ Stany magazynowe do magazynu BaseLinker
Jak przygotować się do integracji ?
* w BaseLinker:
Założyc konto BaseLinker
Wygenerować token: (potrzebny dla połączenia Trawersa z BaseLinker)
1. Zakładka 'Moje konto' (z prawej strony u góry)
2. Zakładka API
3. Wygenerować token
* w Trawers:
1. Dopisać token do Trawers:
Skopiować token z BaseLinker ('Moje konto'-'API')
AD > Trawers > Tokeny > F8-Dopisz
Wybrać rodzaj - 'BL' i dopisać token do Trawers
2. Dodać integrację do Trawers:
AD > Trawers > Integracje > F8-Dopisz. Wybrać rodzaj - 'BL'
i token dopisany w poprzednim kroku.
Wybrać synchronizowany magazyn
Wybrać synchronizowane grupy indeksów
Wybrać synchronizowane indeksy
3. Wywołać usługi:
AD > Trawers > BaseLinker Wywołanie usług:
Import symboli magazynów
Eksport: Grupy indeksów
Eksport: Indeksy KIM
Które tabele i kartoteki należy przygotować ?
AD > Trawers > Integracje
W parametrach integracji:
Wybrać synchronizowany magazyn
Wybrać synchronizowane grupy indeksów
Wybrać synchronizowane indeksy
Jak wykonać próby (testy) współpracy ?
1. Założyć konto demo
2. Wykonać punkty: Jak przygotować się do integracji
Czy można przerwać użytkowanie ?
Czy można używać tylko przez pewien czas, np. 3/6 m-cy ?
Czy po przerwie trzeba wykonać integrację od początku (od zera) ?
Wg opisu BaseLinker:
W każdym momemencie można usunąć wszystkie produkty
z BaseLinker i przesłać z Trawers ERP jeszcze raz.
BaseLinker nie przechowuje żadnych danych do celów
statystyk, zestawień czy obliczeń.
Jak pracować na co dzień ?
Na czym polega codzienne użytkowanie Trawers ERP z BaseLinker ?
1. Uruchomienie ręczne - synchronizacja przez użytkownika
2. Synchronizacja w AutoRun
Jakie są koszty BaseLinker ?
BaseLinker: Aktualne ceny na stronie producenta
https://baselinker.com/pl-PL/cennik/
Stan: 10/2023
Freemium: 0 pln (max 100 zamówień, max 1000 produktów)
Business: 99 pln
+ 0.59 pln za każde zamówienie (do 1000)
+ 0.19 pln za każde zamówienie (powyżej 1000)
Enterprise: Ponad 10 000 zamówień
BaseLinker: informacja na stronie producenta
Trawers: osobny moduł specjalistyczny
wskazany w konfiguracji programu Trawers (klucz licencyjny)
lub powiązany z numerem seryjnym licencji użytkownika
Konfiguracja programu
Jaki zakres konsultacji i pomocy serwisowej ?
BaseLinker: informacja na stronie producenta
Trawers: Standardowa oferta usług.
W cenie zakupu licencji: krótkie konsultacje e-mailowe
Dodatkowe usługi: odrębne zlecenie
Usługi Tres. Opis ogólnySerwis i konsulting
2. Tabele
Tokeny
Token to unikalny klucz przypisany do konta użytkownika BaseLinker.
Zapewnia jednoznaczną identyfikację użytkownika podczas wymiany danych
Trawers <-> BaseLinker
Tabela tokenów zawiera dane potrzebne do autentykacji podczas połączenia.
AD > Trawers > Tokeny
Obecnie dostępny jest rodzaj tokena:
[BL] BaseLinker
Dla rodzaju [BL] należy podać:
- API URL: adres usługi API BaseLinker,
domyślnie: https://api.baselinker.com/connector.php
- Token: wartość tokena
Integracje
Tabela definicji integracji zawiera parametry integracji.
Parametry:
- Symbol
- Nazwa
- Rodzaj integracji:
[BL] BaseLinker
- Token - Token (z tabeli AD > Tokeny)
Dla integracji rodzaju [BL] BaseLinker ustala się parametry:
- Magazyny
- BaseLinker bl_1 (wartość stała)
- Trawers
Symbol magazynu, którego stany i ceny są synchronizowane z BaseLinker.
- Grupy indeksów
Warunek filtrujący grupy eksportowane do BaseLinker
np. [Symbol] jest = '05' lub ...
- Indeksy
Warunek filtrujący indeksy eksportowane do BaseLinker
np. [Nazwa indeksu] zawiera tekst 'FOTEL'
- Pobierz zamówienia z ostatnich ... dni
Liczba dni z jakich zostaną pobrane zamówienia z BaseLinker do Trawers
- Nr ceny Brutto (4/5/6) z cennika magazynowego
Cena Brutto z cennika katalogowego dla podanego wyżej magazynu.
Cena ta jest eksportowana z Trawers do BaseLinker.
- Seria tworzonych zamówień sprzedaży
Wg wskazanej serii będą numerowane zamówienia pobierane z BaseLinker.
- Grupa załączników KIM z rysunkami
Do BaseLinker będą eksportowane tylko załączniki z podanej grupy.
Data i czas. Strefa czasowa
W BaseLinker
BaseLinker przechowuje w bazie danych datę i czas w formacie
unix epoch (timestamp) czyli wg czasu UTC (GMT+00:00).
W parametrach konta BaseLinker 'Ustawienia regionalne' ustala się
strefę czasową, np. Europe/Warsaw.
W panelu użytkownika daty wyświetlane są wg tej strefy czasowej.
W Trawers ERP
W programie Trawers ERP obowiązuje strefa czasowa: Europe/Warsaw.
Ta strefa czasowa powinna być ustawiona na serwerze,
na którym uruchamiany jest Trawers.
Strefa czasowa Europe/Warsaw ma przesunięcie względem czasu UTC (ZULU):
UTC+1 CET czas zimowy (standard) Central Europe Time
UTC+2 CEDT czas letni (DST) Central Europe Daylight Time
Daty w Trawers ERP
W programie Trawers daty są zapisywane w postaci znakowej,
wg systemowej strefy czasowej.
Przykładowe zapisy w zbiorach programu Trawers:
'2023-10-20 01:38:14' oznacza czas UTC: 2023-10-19 23:38:14 (czas letni)
'2023-11-20 01:38:14' oznacza czas UTC: 2023-11-20 00:38:14 (czas zimowy)
Zamówienia sprzedaży: BaseLinker --> Trawers ERP
Podczas importu zamówień z BaseLinkera daty są przekształcane z UTC
na strefę czasową Trawersa, tj. Europe/Warsaw.
Przykład:
Data dodania zamówienia w BaseLinker: 'date_add'=1697758694
To numeryczny zapis czasu UTC: 2023-10-19 23:38:14
W strefie czasowej Europe/Warsaw to: 2023-10-20 01:38:14 UTC+2 (czas letni CEDT / DST)
Do bazy Trawers ERP wpisana zostanie data '2023-10-20'
Import listy magazynów z BaseLinker
Import listy magazynów BL należy wykonać przed przystąpieniem do pobierania
zamówień z BaseLinker.
Import jest potrzebny, aby ustalić powiązanie: magazyn BaseLinker <-> magazyn Trawers
Używane podczas importu zamówień sprzedaży.
Zamówienia mogą dotyczyć zarówno magazynu BaseLinker: bl_1
jak i magazynów sklepów np: shop_12345, czy hurtowni: warehouse_12356
Konstrukcja ID BaseLin~ker dla storage:
storage_id varchar(30) Storage ID in format '[type:bl|shop|warehouse]_[id:int]' (e.g. 'shop_2445').
Import katalogów: BL-> TR
Import listy katalogów z BaseLinkera
Import listy katalogów BL należy wykonać przez przystąpieniem do pobierania
zamówień z BaseLinkera.
Eksport: Grupy indeksów Tr -> Kategorie BL
Eksport grup magazynowych z Tr do BaseLinker.
Po utworzeniu grupy w BaseLinker zwracany jest ID grupy
(nazywanej w BaseLinker kategorią), zapisywany w zbiorze 452 External IDs AD
wraz z czasem ostatniej synchronizacji
Jeśli nastąpił już export grupy do BL i znamy ID z BaseLinker
to metoda addCategory() powoduje aktualizację danych w BaseLinkerze,
gdy np zmieniła się nazwa grupy.
Synchronizację grup-kategorii trzeba wykonać co najmniej dwukrotnie,
jeśli są zdefiniowane grupy nadrzędne.
Eksport: Indeksy KIM Tr -> Produkty BL
Eksport indeksów magazynowych z Tr do BaseLinker.
Po utworzeniu indeksu w BaseLinker zwracany jest ID indeksu
(nazywanego w BaseLinker produktem), zapisywany w zbiorze 452 External IDs AD
wraz z czasem ostatniej synchronizacji.
Jeśli nastąpił już export indeksu do BL i znany jest ID z BaseLinker
to metoda addProduct() powoduje aktualizację danych w BaseLinkerze,
gdy np zmieniła się nazwa indeksu, stan zapasu lub cena.
Oprócz danych o produkcie wysyłane są:
- załączniki (obrazki) ze wskazanej grupy
- cechy (atrybuty) indeksów
- ceny
- stan zapasu
Aktualizacja stanu zapasów mag: Tr -> BL
Umożliwia zbiorcze przesłanie informacji o zmianie stanu zapasów wielu indeksów.
Aktualizacja dotyczy indeksów, które wcześniej zostały exportowane z Trawersa
do BaseLinkera i znany jest ID indeksu z BaseLinera.
Aktualizacja cen indeksów: Tr -> BL
Umożliwia zbiorcze przesłanie informacji o zmianie cen wielu indeksów.
Aktualizacja dotyczy indeksów, które wcześniej zostały exportowane z Trawersa
do BaseLinkera i znany jest ID indeksu z BaseLinera.
Import zamówień: BL -> Tr
Umożliwia import zamówień z BaseLinker z ostatnich X dni,
wg parametru podanego w tabeli integracji.
Import zamówień z BaseLinkera do Trawersa jest realizowany
wewnętrznie przy pomocy funkcji SOA: [Order].
Nie pobierać wielokrotnie tego samego zamówienia
Aby nie importować dwa razy tych samych zamówień sprzedaży z Baselinkera,
należy oznaczyć: 0326 [1] SOA Order. Unikalny numer.
Mechanizm ten wykorzystuje fakt, że numery zamówień rejestrowanych
w BaseLinkerze są unikalne.
Zamówienie sprzedaży na firmę
Jeśli podano NIP, to zamówienie jest rejestrowane na firmę o podanym NIP-ie.
W sytuacji gdy nie ma karty odbiorcy o podanym NIP-ie, to zostanie ona
dopisana - jeśli oznaczono atrybut: 0324 [1] SOA Order. Dopisz firmę (NIP).
Zamówienie sprzedaży na odbiorcę indywidualnego
Jeśli nie podano NIP, to zamówienie jest rejestrowane na odbiorcę indywidualnego
o podanym adresie email (adres e-mail jest wymagany w handlu internetowym
i jest unikalny w skali globalnej).
Program Trawers szuka adresu e-mail w kartotece osób do kontaktu.
Odbiorcę można dopisać
W sytuacji gdy nie ma odbiorcy z osobą do kontaktu o podanym adresie e-mail,
to jeśli oznaczono atrybut 0325 [1] SOA Order. Dopisz odbiorcę ind,
to zostanie dopisana zarówno karta odbiorcy jak i osoba do kontaktu.
Ze względu na to że nazwa kontrahenta w Trawersie musi być unikalna
a dla odbiorcy indywidulanego jest to imię i nazwisko, to nazwa odbiorcy
indywidualnego jest tworzona jako połączenie numeru zamówienia (unikalnego)
i imienia i nazwiska.
Identyfikacja asortymentu magazynowego
Indeks magazynowy jest identyfikowany wg id produktu ustalonego
w tabeli: 452 External IDs AD lub SKU (symbol indeksu) lub EAN.
Zamówienia w BaseLinker mogą pochodzić ze sklepów internetowych
i wtedy brak ID produktu wg BaseLinker.
W przypadku, gdy nie powiedzie się rejestracja kolejnej pozycji zamówienia
to całe zamówienie jest usuwane.
Pobranego zamówienia nie można korygować
Aktualizacji zamówień nie przewiduje się. Gdy zamówienie jest potwierdzone
to nie można na nim dokonywać zmian.
Z BaseLinker-a domyślnie pobierane są zamówienia potwierdzone.
4. Log integracji
Log integracji zapisywany jest w pliku:
/trlog/tr_integr_<symbol integracji>.log
Do logu zapisywane są:
* nazwy uruchamianych funkcji
* komunikaty z funkcji wymiany danych
Log umożliwia m.in. przeglądanie zapisów funkcji wywoływanych w alertach.
5. Usuwanie danych wskazanej integracji
Funkcja [Usuń dane wskazanej integracji] pozwala usunąć dane integracji
zapisane w zbiorze: 452 AD External IDs AD
Dane w BaseLinker należy usunąć ręcznie.
(Wystarczy usunąć wszystkie kategorie, a produkty usuną się same.)
6. Uruchomienie automatyczne
Funkcje integracji z BaseLinker można wywoływać ręcznie
lub automatycznie za pomocą alertów.
Przykładowy alert wywołujący kolejno wszystkie usługi BaseLinker
https://ftp.tres.pl/alerty/Integracja_z_BaseLinkerem.xml
Alert nie zawiera funkcji: Import symboli magazynów BL -> Tr
Tę funkcję należy wywołać ręcznie podając symbole magazynów w Tr
odpowiadające magazynom w BaseLinker.
Funkcje integracji można wywołać używając funkcji TrExtLang:
* BLAddCategories
* BLAddProducts
* BLUpdateProductsQuantity
* BLUpdateProductsPrices
* BLGetOrders
Funkcje TrExtLang
7. Przykłady. Pobieranie zamówień sprzedaży XML
Baselinker ma kreator plików XML. BaseLinker wysyła plik XML do katalogu
wymiany w Trawers ERP. Plik XML można wpisać do zbioru zamówień sprzedaży
w systemie NA. Plik XML może zawierać wiele zamówień utworzonych w BaseLinker.
NA > Zamówienia sprzedaży > Pobieranie zamówień z XML (SOA) [NA_DXML1]
W pliku XML mogą być definicje konfiguracji produktu (kreatory produktu),
warianty wybrane przez nabywcę.
Program wykorzystuje tabele atrybutów do ustalenia konfiguracji (cechy i opcje)
asortymentu.
KIM Tabela atrybutów
Założenia:
- użytkownik pobiera zamówienia od odbiorców indywidualnych i firm
- kart odbiorców są dopisywane, gdy brak
- pobierane są zamówienia o statusie: Nowe zamówienia
- zamówienia są masowo przepisywne na faktury
- towary są identyfikowane wg EAN
8.1 Parametry integracji [AD_TTG00]
-----------------------------------------------------------------------
Symbol 000001 Rodzaj BL
Nazwa Integracja z baselinkerem
Token 000001 BaseLinker
Katalog BaseLinker 1234 Domyślny
Magazyn BaseLinker 12345 Domyślny
Grupa cenowa Baselinker 1234 Domyślna
Magazyn Trawers 70 Magazyn dla sprzedaży internetowej
Grupy indeksów W Wszystkie
Indeksy W Wszystkie
Pobierz zamówienia z ostatnich 7 dni
Nr ceny brutto 4/5/6 z cennika magazynow 4
Seria tworzonych zamówień sprzedaży IN Zamówienia internetowe
Grupa załączników KIM z rysunkami 10
Odbiorca detaliczny (zamówienie bez NIP) 2 Rejestruj zamówienie na nowego odbiorce (dopisz odbiorcę)
Dopisz odbiorcę z NIP gdy brak w Tr T Dopisz odbiorcę gdy podano NIP a brak w Tr
Pobierz zamówienia o statusie 1234 Nowe zamówienia
----------------------------------------------------------------------
8.2 Serie dokumentów i kartotek
System NA
Rodzaj Zamówienia sprzedaży ZL
Seria --- Nazwa -------------------- Prefix -----
IN Zamówienia internetowe IN
8.3 Parametry
0324 SOA Order. Dopisz firmę (NIP) 1 (Tak)
0325 SOA Order. Dopisz odbiorce ind 1 (Tak)
0326 SOA Order. Unikalny numer..... 1 (Tak)
0533 NIP odbiorcy jest wymagany ...... 1 (nie wymagany)