Preskoči na glavni sadržaj
← Referenca API-ja

Ključevi i autentikacija

Web shop ima dvije vrste ključeva i API je prema njima podijeljen. Javni ključ je na stranici web shopa i smije samo ono što smije kupac. Tajni ključ ostaje na vašem poslužitelju i jedini može potvrditi cijenu.

Putanje, nazivi polja, kodovi pogrešaka, nazivi zaglavlja i primjeri kôda ostaju na engleskom: oni su ugovor.

Javni ključ i tajni ključ

Javni ključ putuje u URL-u kao ?key=. Javan je po zamisli: nalazi se u izvornom kôdu vaše stranice i radi samo s podrijetla navedenih uz njega. Tajni ključ putuje kao Authorization: Bearer <key> i namijenjen je samo vašem poslužitelju. Preglednik ga servisu ne može ni poslati: Authorization nije na CORS popisu dopuštenih zaglavlja.

KljučZaglavljePutanja
javni?key=pk_…GET /cfg/v1/config/public · GET /cfg/v1/catalog/search · POST /cfg/v1/preview · POST /cfg/v1/quote · POST /cfg/v1/order · POST /cfg/v1/projects · GET /cfg/v1/projects · GET /cfg/v1/projects/{id} · POST /cfg/v1/projects/{id} · POST /cfg/v1/projects/{id}/duplicate · POST /cfg/v1/projects/{id}/reorder
tajniAuthorization: Bearer sk_…POST /cfg/v1/quote/verify · GET /cfg/v1/orders/{id}

Dopuštena podrijetla

Svaki javni ključ nosi popis od najviše 20 podrijetla: shema, host i port točno onako kako ih šalje preglednik, primjerice https://shop.example.com. Zahtjev s bilo kojeg drugog podrijetla odbija se s 403 origin_not_allowed, uključujući preflight, a servis nikad ne odgovara s Access-Control-Allow-Origin: *. Popis je signal, a ne autentikacija: prava obrana su cijena izračunata na poslužitelju i ograničenja učestalosti.

Testni ključevi

Živi web shop može stvoriti do 3 testnih ključeva (pk_test_…, sk_test_…). Testni ključ određuje cijene prema vašoj najnovijoj provjerenoj skici, pa promjenu možete isprobati prije objave. Ne naplaćuje se, njegove narudžbe ne šalju webhook ni e-poštu, a istječe nakon 30 dana. Test i stvarni rad nikad se ne miješaju: testna ponuda provjerava se samo testnim tajnim ključem, testnu narudžbu vidi samo testni ključ, a stvarni ključ je nikad ne vidi. Testni ključ smije navesti http://localhost kao podrijetlo.

Token projekta

Spremljeni projekti vezani su uz kupca, a ne uz prijavu. Prvi POST /cfg/v1/projects izdaje nasumični token (cfgpt_…) i vraća ga samo jednom; ugrađeni konfigurator ga čuva i šalje kao X-Cfg-Project-Token pri svakom sljedećem pozivu projekta. Token drugog kupca, ključ drugog web shopa i nepoznati id odgovaraju jednako: 404.

Rotacija bez prekida rada

Rotacija se provodi u konzoli i svaka vrsta ključa ima preklapanje da se ništa ne prekine dok prelazite.

  • Javni ključ: novi ključ zadržava isti popis podrijetla; stari i dalje radi 168 sati prema zadanim postavkama (najviše 720).
  • Tajni ključ: prikazuje se jednom; stari ključ i dalje autentificira 24 sati prema zadanim postavkama (najviše 720).
  • Ključ za potpisivanje ponuda: novi ključ potpisuje od sada; ponude koje je potpisao stari i dalje se provjeravaju i mogu se naručiti do 31 dana.
  • Tajna webhooka: tijekom prelaska obje tajne potpisuju svaku isporuku 7 dana, kao dvije vrijednosti v1=, pa vaš prijamnik može koristiti bilo koju.

Što nikad ne ide u preglednik

Tajni ključ i tajna webhooka (whsec_…). Čuvajte ih u okruženju svog poslužitelja, nikad na stranici, u repozitoriju ni u zapisniku. Ako jedna procuri, rotirajte je u konzoli.

Gumba „isprobaj“ ovdje namjerno nema: tajni ključ pripada vašem poslužitelju, nikad pregledniku. Demo web shop prikazuje ugradnju i predaju narudžbe u radu od početka do kraja.

Pravne informacijeUvjeti konfiguratora (EN) ·Ugovor o obradi podataka (EN) ·Obavijest o privatnosti za kupce ·Licencije trećih strana (EN)