Komunikacja HTTP
Protokół HTTP (Hypertext Transfer Protocol) – używany w oknie przeglądarki, poprzedzający adres strony internetowej. Często bywa on niezauważany i po prostu omijany przez użytkowników Internetu. Jednak nawet kiedy wpiszemy sam adres, protokół http (i protokół https) pojawia się automatycznie. Pozwala on na komunikację klient – serwer. Hypertext Transfer Protocol określa w jaki sposób treści są udostępniane, przekształcane i w jaki sposób ma je odczytać serwer.
Linki HTTP
Przykładowy link HTTP może wyglądać następująco:
https://api.deante.pl/api/products?key=KLUCZ_API&lang=pl
Budowa linku
- https:// - protokół https oznacza połączenie szyfrowane certyfikatem SSL
- api.deante.pl - domena strony internetowej - jest to adres wskazujący miejsce w internecie
- /api/products - ścieżka wewnętrzna w domenie - wskazuje na konkretny zasób
- ? - znak zapytania rozpoczyna przekazywanie parametrów dodatkowych
- key= - dodatkowy parametr zapytania - przed znakiem = występuje nazwa parametru
- KLUCZ_API - dodatkowy parametr zapytania - wartość parametru o nazwie key
- & - dodatkowe parametry zapytania łączone są znakiem &
Pobieranie danych przez HTTP
Windows od wersji 10-tej posiada program cURL zainstalowany domyślnie
W przypadku posiadania starszej wersji Windowsa zalecamy pobranie programu z strony producenta.
Link do pobrania: https://curl.se/
cURL - pobieranie przez konsolę systemową
Do pobierania danych z HTTP możemy używać np. biblioteki cURL. Po zainstalowaniu jej na naszym komputerze otrzymujemy możliwośc wykonywania zapytań z poziomu konsoli systemowej. Wystarczy jedynie wpisać odpowiednio przygotowaną komendę, aby otrzymać dane z serwera.
curl https://api.deante.pl/api/products?key=KLUCZ_API --output produktyDeante.xml
cURL - pobieranie danych w PHP
Biblioteka cURL umożliwia pobieranie danych nie tylko poprzez konsolę systemową, może zostać również wykorzystana w aplikacji PHP. Tak pobrane dane mogą następnie zostać zaczytane do bazy produktowej w docelowej platformie sprzedażowej.
$curl = curl_init();curl_setopt($curl, CURLOPT_URL, "https://api.deante.pl/api/products?key=KLUCZ_API");curl_setopt($curl, CURLOPT_FAILONERROR, true);curl_exec($curl) // Wykonanie zapytania if(curl_errno($curl)){ $errorMessage = curl_error($curl);}curl_close($curl)if(isset($errorMessage)){ // Obsługa błędu (np. chwilowa niedostępność serwera lub błędny klucz API)}
Axios - pobieranie danych w NodeJS
Biblioteka axios umożliwia na wykonywanie zapytań bezpośrednio z poziomu przeglądarki lub aplikacji Node.JS. Dane pobrane przez Axios można zaczytać do bazy produktowej w swojej platformie sprzedażowej.
import axios from 'axios';try{ const response = await axios.get( "https://api.deante.pl/api/products?key=KLUCZ_API" ) // Pobrane dane produktowe znajdują się w obiekcie response.data return response.data }catch(error){ // Obsługa błędu (np. chwilowa niedostępność serwera lub błędny klucz API)}