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