API documentation
REST API
Connect Marketplace pruža API za interakciju s trgovinom.
Pregled
Connect Marketplace API:
- Temelji se na REST arhitekturi
- Koristi osnovnu HTTP autentifikaciju, pri čemu se administratorska adresa e-pošte koristi kao korisničko ime, a automatski generirani API ključ kao lozinka
- Oslanja se na ovlasti definirane korisničkim grupama. Dodjela korisničkoj grupi definirana je izravno u objektima
- Koristi HTTP 1.1 za implementaciju REST-a.
Za pregled i izmjenu objekata dostupne su 4 metode:
GET—dohvaćanje podataka objektaPUT—ažuriranje podataka objektaPOST—stvaranje novog objektaDELETE—brisanje objekta-
Prihvaća i vraća podatke u JSON formatu
Korisni alati
cURL je višeplatformska aplikacija naredbenog retka koja omogućuje jednostavno slanje HTTP zahtjeva. U sustavima temeljenima na UNIX-u obično je dostupna prema zadanim postavkama putem jednostavne naredbe curl.
Napomena
Svi primjeri u ovom vodiču prikazani su kao cURL naredbe.
Postman je proširenje za popularni preglednik Google Chrome. Slična proširenja dostupna su za sve popularne internetske preglednike.
Aktivacija pristupa API-ju
Pristup API-ju aktivira se ili deaktivira zasebno za svakog korisnika.
API aktivira administrator Connect Marketplacea:
- Prijavite se u svoje administratorsko sučelje -> https://marketplace.connect.hr/marketplace-partner.php
- Otvorite Prodavatelji → Centar za poruke
- Napišite administratorski račun za koji želite aktivirati pristup API-ju (primjerice example@company.com)
- Administratori će pregledati vaš zahtjev za pristup i aktivirati vam API
- Na svoju adresu e-pošte primit ćete API ključ.
Ovaj će korisnik za pristup API-ju upotrebljavati automatski generirani API ključ zajedno sa svojom adresom e-pošte.
URL adrese
API zahtjev standardni je HTTP zahtjev koji se šalje na određenu URL adresu.
Connect Marketplace prema zadanim postavkama koristi API 1.0, pri čemu se URL adrese oblikuju na sljedeći način:
- http://example.com/api/:object—odnosi se na sve objekte određene vrste
- http://example.com/api/:object/:id—odnosi se na pojedinačni objekt
- http://example.com/api/:object/:id/:nested_object:—odnosi se na sve ugniježđene objekte određenog objekta
- http://example.com/api/:object/:id/:nested_object/:id—odnosi se na pojedinačni ugniježđeni objekt određenog objekta
Primjerice, http://example.com/api/product/1/features odnosi se na sve značajke proizvoda s ID-jem 1.
Napomena
Ako je mod_rewrite onemogućen, morat ćete koristiti drukčije URL adrese:
- http://example.com/api.php?_d=:object&ajax_custom=1—odnosi se na sve objekte određene vrste
- http://example.com/api.php?_d=:object/:id&ajax_custom=1—odnosi se na pojedinačni objekt
- http://example.com/api.php?_d=:object/:id/:nested_object&ajax_custom=1—odnosi se na sve ugniježđene objekte određenog objekta
- http://example.com/api.php?_d=:object/:id/:nested_object/:id&ajax_custom=1—odnosi se na pojedinačni ugniježđeni objekt određenog objekta
Ipak, preporučuje se API 2.0. U API-ju 2.0 URL adrese imaju sljedeću strukturu:
- http://example.com/api/2.0/:object—odnosi se na sve objekte određene vrste
- http://example.com/api/2.0/:object/:id—odnosi se na pojedinačni objekt
- http://example.com/api/2.0/:object/:id/:nested_object:—odnosi se na sve ugniježđene objekte određenog objekta
- http://example.com/api/2.0/:object/:id/:nested_object/:id—odnosi se na pojedinačni ugniježđeni objekt određenog objekta
Autentifikacija
Svaki zahtjev mora biti autentificiran korisnikovom adresom e-pošte i API ključem. Postoje 3 načina slanja podataka za autentifikaciju u API zahtjevu:
-
Putem parametra
--user(ovaj se način koristi u svim primjerima):curl --user admin@example.com:APIkey -X GET 'http://example.com/api/users/' -
Izravnim prosljeđivanjem unutar URL adrese:
curl --basic -X GET 'http://admin%40example.com:APIkey@example.com/api/users/'Napomena
@mora se zamijeniti s%40 -
U zaglavlju zahtjeva:
curl --header 'Authorization: Basic <base64-encoded email:APIkey pair>=' -X GET 'http://example.com/api/users/'
Napomena
Par email:APIkey mora biti kodiran u formatu base64.
PHP primjer:
$token = base64_encode("email:APIkey"); $authHeaderString = 'Authorization: Basic ' . $token;
Dohvaćanje podataka GET
Za dohvaćanje podataka objekta pošaljite HTTP zahtjev GET na URL adresu koja se odnosi na odgovarajući objekt.
Primjer zahtjeva
Dohvaćanje podataka o proizvodu s ID-jem 1:
curl --user admin@example.com:APIkey -X GET 'http://example.com/api/products/1'
Filtriranje
Moguće je poslati dodatne URL parametre kako bi se preciznije odredio odabir.
Primjerice, na ovaj način možete dohvatiti sve proizvode koji nemaju besplatnu dostavu:
curl --user admin@example.com:APIkey -X GET 'http://example.com/api/products?free_shipping=N'
Uvjete možete međusobno kombinirati.
Dohvaćanje svih proizvoda dostupnih za preuzimanje s vrijednošću company_id 1:
curl --user admin@example.com:APIkey -X GET 'http://example.com/api/products?is_edp=Y&company_id=1'
Odgovor
JSON polje odgovarajućih objekata (primjerice ključ products) i upit pretraživanja (ključ search) ili pogreška.
Vrijednost odgovarajućih objekata predstavlja polje u kojem se ID-jevi objekata koriste kao ključevi, a polja s podacima objekata kao vrijednosti.
Potpuni popis podržanih polja za sve podržane objekte pronaći ćete na stranici API objekti.

