API documentation

REST API

Connect Marketplace pruža API za interakciju s trgovinom.

 

Podržani entiteti

 

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 objekta
  • PUT—ažuriranje podataka objekta
  • POST—stvaranje novog objekta
  • DELETE—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:

  1. Prijavite se u svoje administratorsko sučelje -> https://marketplace.connect.hr/marketplace-partner.php
  2. Otvorite Prodavatelji → Centar za poruke
  3. Napišite administratorski račun za koji želite aktivirati pristup API-ju (primjerice example@company.com)
  4. Administratori će pregledati vaš zahtjev za pristup i aktivirati vam API
  5. 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.

Komentari

Nema postova

Novi komentar
*