Wprowadzenie
Jest to narzędzie do pobierania danych lub integracji systemów. Działa na zasadzie zrzucania danych. Zrzuty danych mają szereg zastosowań, zarówno w aspektach integracji systemów, budowy aplikacji, sporządzania raportów i analiz oraz wykonywania importów i eksportów.
Najczęstsze zastosowania:
-
automatyczne pobieranie i aktualizowanie baz produktowych, w tym możliwość budowania kart produktów w locie.
-
automatyczne aktualizowanie stanów magazynowych i tym samym skrócenie terminów realizacji zamówień dla produktów na magazynie
-
automatyczne aktualizowanie ceny na podstawie zmian w warunkach handlowych
-
automatyzowanie zamówień / zakupów, produktów wprost ze swojego oprogramowania,
-
automatyczne tworzenie zamówień na produkty, po założeniu zamówienia przez Klienta
-
generowanie cenników lub ofert dla Klienta
-
aktualizacje poprzez import danych
Zachęcamy do kreowania własnych indywidualnych rozwiązań i aplikacji.
Zasada działania
Dane są zrzucane co 15 minut do plików o różnym formacie i przeznaczeniu.
W zależności od potrzeb i technik integracji, przygotowane zostały najbardziej uniwersalne formaty i zakresy danych. Niektóre zrzuty dostępne są dla wszystkich (dane produktowe, stany magazynowe), a niektóre wymagają autoryzacji (ceny).
Pliki z danymi, można pobrać na dysk, a można też traktować jako źródło danych (Endpoint) dla aplikacji i systemów.
Adres jest niezmienny i dane są ogólnodostępne dla wszystkich:
- Dla połączeń szyfrowanych pod adresem https://data.terma24.pl
- Dla połączeń nieszyfrowanych pod adresem http://data.terma24.pl
Nie polecamy korzystania z połączeń nie szyfrowanych w przypadku danych, które wymagają autoryzacji.
Do korzystania z połączenia szyfrowanego wymagane jest posiadanie i poprawne skonfigurowanie certyfikatów SSL na serwerach, z których odbywać się będzie połączenie.
Jako uzupełnienie danych posiadamy narzędzia:
- bazę renderów produktów w każdym rozmiarze https://www.terma24.pl/CDN
- wizualizacje produktów 3D https://www.terma24.pl/wizualizacje-3d-api
- zbudowane karty produktów z metrykami https://www.terma24.pl/karty-wbudowane
Zakresy danych
Zrzucane dane produktów, pochodzą ze standardowej (katalogowej) oferty Termy, z gamy produktów grzewczych. W tym znajdują się grzejniki, grzałki i akcesoria. Jest magazyn transakcyjny, w którym liczba indeksów przekracza 100000.
Zrzuty wykonane są w dwóch wariantach, z podziałem na grupy produktowe z dedykowanymi parametrami produktów oraz kompleksowo w pliku zbiorczym w pełnym zakresie danych.
Struktura plików
Pliki mają stałą strukturę, można je pobrać ze strony https://data.terma24.pl. Pliki można także wykorzystać jako endpointy danych, do połączenia własnych aplikacji i systemów.
pliki_danych |
|
|
dane produktów, pozycji skonfigurowanych. |
|
dane produktów katalogowych, parametrów. Wymaga stworzenia i przypisania konfiguracji. |
|
dane produktów, pozycji skonfigurowanych z połączonymi danymi metryk |
|
aktualne stany magazynowe produktów katalogowych |
products_prices |
cennik produktów katalogowych |
grupy |
|
accessories_drivers |
Sterowniki temperatury |
adapters |
Adaptery, nyple |
hanglers |
Relingi i wieszaki |
heaters_drive |
Głowice termostatyczne |
heating_elements |
Grzałki |
mask |
Maskownice |
radiators |
Grzejniki |
shelfs |
Półki |
valves_set |
Zestawy zaworów |
valves |
Zawory |
Zbiorcze:
data.terma24.pl/{format_pliku}/{plik_danych}.{format_pliku} Zawiera wszystkie produkty w jednym pliku
lub
Grupy produktów:
data.terma24.pl/{format_pliku}/{grupa}/{plik_danych}.{format_pliku} Zawiera tylko produkty z danej grupy
formaty_plikow: |
|
CSV |
rozdzielony średnikiem, kodowanie UTF-8 (z sygnaturą BOM), zawiera nagłówki |
XML |
kodowanie UTF-8 (z sygnaturą BOM) |
JSON |
kodowanie UTF-8 (z sygnaturą BOM) |
SQLite |
zawiera tabele: |
Struktura danych
Terma w ofercie posiada miliony konfiguracji grzejników, zatem należy zwrócić szczególną uwagę na sposób budowania oferty oraz przeznaczenie danych:
Jeśli potrzebujesz zbudować pełną ofertę produktową Termy, optymalny sposób to przygotowanie katalogu produktów oraz kart produktowej i powiązanie wariantów (konfiguracji) do produktu.
Listy zbudujesz wówczas z danych products_metrics w zakresie dostępnych modeli produktów, ale nieskonfigurowanych, co oznacza, że dodatkowo potrzebujesz powiązać warianty produktów, ceny oraz stany magazynowe.
Rys. Optymalny sposób zbudowania pełnej oferty Termy
Jeśli potrzebujesz ofertę oparta o stany magazynowe i aktualizować na bieżąco ich stan, musisz skorzystać z danych products_configured lub products_full w zakresie produktów już skonfigurowanych, wówczas nie potrzebujesz wykonywać dodatkowych relacji, ale zakres danych ogranicza się do pozycji transakcyjnych (które są lub były w magazynie TERMY) obecnie ponad 100.000 pozycji.
Rys. Zbudowanie list magazynowych
Przykładowe zastosowania
W zależności od przyjętej struktury, bazę danych można zasilić na różne sposoby:
-
Przygotowanie listy produktów (products_configured) z powiązaniem z tabelą danych produktowych (products_metrics). W taki sposób nie przechowujemy nadmiaru danych a aktualizacja parametrów od razu wpływa na wszystkie wystąpienia.
W tym schemacie otrzymujemy listę produktów o ściśle określonych parametrach. Jeden indeks to jedna pozycja na liście.
Baza wówczas zawiera link do źródła renderów odpowiadającemu danej konfiguracji produktu
-
Przygotowanie listy produktów bez relacji do parametrów (products_full), kiedy w strukturze bazy danych nie ma dedykowanego miejsca na parametry produktowe, można całość lub wybrane parametry przerzucić do jednej tabeli.
W tym schemacie otrzymujemy klasyczną listę produktów o ściśle określonych parametrach. Jeden indeks to jedna pozycja na liście.
Baza wówczas zawiera link do źródła renderów odpowiadającemu danej konfiguracji produktu
-
Zbudowanie pełnej oferty produktowej na podstawie (products_metrics).
Ponieważ Terma posiada produkty, których łączna liczba kombinacji sięga kilku milionów wylistowanie ich wszystkich w tabeli, będzie powodować wiele problemów zarówno systemowych jak i użytkowych. Rozwiązuje je ograniczenie do wybrania pozycji, na którą składa się model grzejnika w wybranym rozmiarze oraz niezależnie doprecyzowanie jego konfiguracji. Wówczas kod produktu SKU należy systemowo złożyć w locie.
-
Aktualizacja stanów magazynowych (products_stock). Jest to pomocny zrzut, aby nie obciążać systemów weryfikacją pełnej tabeli danych lub niepotrzebną aktualizacją całości. Proponujemy wykonać synchronizację niezależnie od reszty danych.
Lista zrzucanych danych
Metryka produktów (_metrics) |
|
qty |
Aktualny stan magazynowy TERMA CZAPLE |
sku |
Uniklany kod producenta, na który składa się kod pozycji oraz kod wariantu produktu. |
id |
Unikalny kod numeryczny |
type |
Rodzaj produktu warunkujący parametry |
model |
Nazwa modelu produktu |
height |
Wysokość produktu (wyłącznie grzejniki i grzałki) |
width |
Szerokość produktu (wyłącznie grzejniki i grzałki) |
color |
Paleta kolorów z oferty, zawiera pozycje RAL jak i pozycje specjalne |
connection |
Rodzaj podłączenia grzejnika |
image |
Adres do pobrania renderu lub zdjęcia |
title |
Pełna nazwa produktu |
power55 |
Moc grzejnika dla parametrów instalacji 55/45/20 |
power75 |
Moc grzejnika dla parametrów instalacji 75/65/20 |
power90 |
Moc grzejnika dla parametrów instalacji 90/70/20 |
weight |
Waga produktu |
size_{x} |
Poszczególne wymiary grzejnika, w zależności od podłączenia grzejnika |
coating |
Rodzaj wykończenia powierzchni grzejnika, przyjmuje wartości farba / chrom |
Produkty skonfigurowane (_stock, full, configured) |
|
Grzejniki |
|
price |
Cena katalogowa netto, w tym cena wyprzedażowa |
qty |
Aktualny stan magazynowy TERMA CZAPLE |
sku |
Uniklany kod producenta, na który składa się kod pozycji oraz kod wariantu produktu. |
id |
Unikalny kod numeryczny |
type |
Rodzaj produktu warunkujący parametry |
model |
Nazwa modelu produktu |
height |
Wysokość produktu (wyłącznie grzejniki i grzałki) |
width |
Szerokość produktu (wyłącznie grzejniki i grzałki) |
color |
Paleta kolorów z oferty, zawiera pozycje RAL jak i pozycje specjalne |
connection |
Rodzaj podłaczenia grzejnika |
image |
Adres do pobrania renderu lub zdjęcia |
visualisation |
Identyfikator do zbudowania wizualizacji 3D |
PDF_product_card |
Link do pobrania karty produktowej w PDF |
description |
Opis przypisany modelowi produktu |
title |
Pełna nazwa produktu |
power55 |
Moc grzejnika dla parametrów instalacji 55/45/20 |
power75 |
Moc grzejnika dla parametrów instalacji 75/65/20 |
power90 |
Moc grzejnika dla parametrów instalacji 90/70/20 |
weight |
Waga produktu brutto |
weight2 |
Waga produktu netto |
maxpower |
Maksymalna moc grzejnika |
coating |
Powłoka grzejnika |
size_{x} |
Poszczególne wymiary grzejnika, w zależności od podłączenia grzejnika |
description |
Domyślny opis modelu produktu. Opis jest pobrany ze strony termaheat.pl |
power_heating |
Moc grzałki dla grzejników elektrycznych |
pressure |
Cisnienie robocze grzejnika |
coating |
Rodzaj wykończenia pwierzchni grzejnika, przyjmuje wartości farba / chrom |
sale |
Informacja czy pozycja jest wyprzedażowa |
EAN |
Kod EAN |
INTRA |
Kod Intrastat |
PKWIU |
Kod PKWiU |
Grzałki |
|
cable |
Typ kabla zasilającego grzałki |
cable_color |
Kolor kabla |
package |
Rodzaj opakowania |
heater_power |
Moc grzałki |
with_valve |
Zawiera trójnik |
split_lenght |
Długość elementu grzejnego |
ip_class |
Klasa IP |
power_connect |
Wersja zasilania: 230V/50Hz |
Akcesoria |
|
depth |
Wymiar - głębokość |
surface |
Powierzchnia |
lifting |
|
stuff |
|
thread |
|
valves_type |
Rodzaj zaworu, przyjmuje wartości: regulacyjny, odcinający |
Ceny produktów (_price) |
|
price |
Cena katalogowa netto, w tym cena wyprzedażowa |
qty |
Aktualny stan magazynowy TERMA CZAPLE |
sku |
Uniklany kod producenta, na który składa się kod pozycji oraz kod wariantu produktu. |
id |
Unikalny kod numeryczny |
type |
Rodzaj produktu warunkujący parametry |
model |
Nazwa modelu produktu |
height |
Wysokość produktu (wyłącznie grzejniki i grzałki) |
width |
Szerokość produktu (wyłącznie grzejniki i grzałki) |
color |
Paleta kolorów z oferty, zawiera pozycje RAL jak i pozycje specjalne |
connection |
Rodzaj podłączenia grzejnika |
image |
Adres do pobrania renderu lub zdjęcia |
title |
Pełna nazwa produktu |
power55 |
Moc grzejnika dla parametrów instalacji 55/45/20 |
power75 |
Moc grzejnika dla parametrów instalacji 75/65/20 |
power90 |
Moc grzejnika dla parametrów instalacji 90/70/20 |
weight |
Waga produktu |
sale |
Produkt z wyprzedaży |
coating |
Rodzaj wykończenia powierzchni grzejnika, przyjmuje wartości farba / chrom |
weight |
Waga produktu |
package |
Opakowanie |
power_heating |
Moc grzałki dla grzejników elektrycznych |
Dane powiązane
Lista ujęć | |
---|---|
cam0 |
Widok od frontu grzejnika, z zachowaniem skali grzejników. |
cam1 |
Widok od frontu grzejnika, bez zachowania skali grzejnika. |
cam2 |
Widok z lewego boku |
cam3 |
Widok z góry |
cam4 |
Perspektywa |
cam5 |
Perspektywa
|
{width} |
Dowolny wymiar w PX |
---|
Generowanie wizualizacji 3D
W plikach zrzucane są identyfikatory gotowej wizualizacji, jeśl chciałbyś wstawić na stronie taką wizualizacje, musisz przygotować szablon kodu html, który wygeneruje ramkę z wizualizacją. Może on być przygotowany w szablonie podstrony lub pola w bazie danych.
W przypadku pola bazy danych należy zwrócić uwagę, że to musi być pełne pole tekstowe.
Kod, który należy wstawić jest następujący:
<div class="embed-container" style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%;">
<iframe src="//www.termaheat.pl/node/{visualisation}" style="border:0; position: absolute; top: 0; left: 0; width: 100%; height: 100%; allowfullscreen="true" webkitallowfullscreen="true" mozallowfullscreen="true" oallowfullscreen="true" msallowfullscreen="true"></iframe>
</div>
{visualisation} należy podstawić id z pliku.
Wynikiem będzie ramka z modelem 3D oraz konfiguratorem. Możesz tez wygenerować kod do wybranej wizualizacji na stronie https://www.terma24.pl/wizualizacje-3d-api
Wynikiem będzie ramka z modelem 3D oraz konfiguratorem
Kod można modyfikować zgodnie ze specyfikacją aplikacji https://www.terma24.pl/wizualizacje-3d-api aby dopasować pod swoje wymagania
Generowanie miniatur
W pliku podstawione są oryginalne nieprzetworzone rendery produktów. Możesz je przerzucić do własnych aplikacji lub podłączyć do naszego serwera.
W celu optymalizacji pod kątem prędkości ładowania, możesz wykorzystać generator miniatur, który w locie przerobi obrazek do wymaganych parametrów.
Dodatkowo możesz zmienić ujęcie lub utworzyć galerię zdjęć.
Aby podłączyć generator miniatur wystarczy, że podstawisz do ścieżki https://img.terma24.pl/ {sku} / {cam} / {width}
gdzie do ścieżki należy podstawić:
{sku} |
kod SKU {format z kreską w środku} |
---|
Integrowanie
Pliki można wykorzystać jako endpointy danych, do połączenia własnych aplikacji i systemów. Wystarczy, że na stałe wybierzesz i podłączysz końcowy plik do własnego systemu. Na temat struktury plików, adresów i zawartości przeczytasz więcej w sekcji “struktura plików”. Adresy oraz nomenklatura nie ulegają zmianom, mogą natomiast pojawić się nowe pola i zakresy danych. Dlatego proponujemy posługiwać się nagłówkami.
Lokalna baza danych
Jedno-plikowa baza danych SQLite, zastosowanie ma do specyficznych rozwiązań, w szczególności wygodnym jest rozwiązaniem do implementacji w natywnych aplikacjach mobilnych, dla których może stanowić gotowe źródło danych, a także jeśli zachodzi potrzeba manipulowania danymi w procesie synchronizacji baz danych. Wówczas w prosty i wydajny sposób można wybrać zakres do synchronizacji;
np. tylko produkty na stanie magazynowym w kolorze RAL 9016 bez produktów elektrycznych.
SELECT * FROM products_full WHERE `qty` > 0 AND `color` = 'RAL 9016' AND sku NOT LIKE 'WL%' AND sku NOT LIKE 'WZ%'
Bazę można pobrać pod adresem:
http://data.terma24.pl/sqlite/products.sqlite
Baza zawiera tą samą strukturę i zakres danych, jak w przypadku plików CSV, JSON, XML.
Zakres danych wówczas określony jest w tabelach.
Do przeglądania danych, możesz użyć dowolnego oprogramowania:
Polecamy bezpłatny DB Browser for SQLite, można pobrać ze strony: https://sqlitebrowser.org/
Dane indywidualne
Jesteśmy otwarci na indywidualne rozwiązania i potrzeby. Jeśli potrzebujesz danych o dedykowanej strukturze lub formacie, wyślij zgłoszenie, przygotujemy specjalnie dla Ciebie.
Zmiany można przygotować w zakresie
- Mapowania pól
- Dołożenia wartości stałych
- Przeliczeń i konwersji
- Zakresu danych
- Strony kodowej
Do działania będziesz potrzebować konto na platformie B2B https://www.terma24.pl/user/ z wygenerowanym Kontem Odbiorcy.
Endpoint: data.terma24.pl/custom/{id_odbiorcy}/{format_pliku}/custom.{format_pliku}
format_pliku:
- CSV - rozdzielony średnikiem, kodowanie UTF-8 (z BOM), zawiera nagłówki
- XML - kodowanie UTF-8 (z BOM)
- JSON- kodowanie UTF-8 (z BOM)
plik_danych:
-
products_individual - dane produktów, pozycji skonfigurowanych. Wariant produktu, który ma przypisaną cenę.
id_odbiorcy:
Identyfikator konta Odbiorcy, nadawany jest po zawarciu współpracy i utworzenia konta w ERP oraz rejestracji na platformie B2B