API partnerja Slevomat.cz

Ta članek je bil strojno preveden.

API se uporablja za prenos informacij o bonih med Slevomatom in sistemom poslovnega partnerja. Partnerju omogoča, da preveri veljavnost bonov v svojem sistemu in unovči bone. Partnerju za ta namen ni treba uporabljati partnerskega vmesnika.

Možni primeri uporabe:

  • Kupec kupi bon, pri katerem je storitev pogojena z vnosom kode na spletni strani partnerja ob kreiranju naročila. Zahvaljujoč API-ju se po tem vnosu takoj preveri veljavnost bona. Vrednost bona se nato odšteje od partnerjeve košarice in bon se samodejno unovči pri Slevomatu.
  • Na enak način je možno tudi preveriti veljavnost bonov v partnerjevem rezervacijskem sistemu ali naložiti kupljeno dobroimetje v določeni vrednosti neposredno na spletno stran partnerja.

Partner API zahteva žeton, ki je edinstven za vsakega partnerja in se pošlje kot del vsake zahteve. Za uporabo partnerskega API-ja se obrnite na vašega/našega prodajnega predstavnika.

Oblika zahteve

Dostopna točka API se nahaja na /api.

Oblika zahteve je

<URL přístupového bodu>/<akce>[<pa­rametry>]

Vse zahteve so standardne zahteve HTTP GET, kar pomeni, da je zahteva za preverjanje veljavnosti kupona lahko videti takole:

https://www.slevomat.cz/api/vouchercheck?code=1234-5677-77-111&token=123456789012345.

Oblika odgovora

Odgovor strežnika je vedno v formatu JSON z ustrezno glavo Content-type. Osnovna struktura odgovora je naslednja.

{
 "result": true,
 "data": {
 ...
 },
 "error": {
 "code": 0,
 "message": null
 }
}

Vrednost elementa rezultata je true (v primeru uspeha) ali false (v primeru napake). V primeru napake vnos napake vsebuje kodo napake (koda ) in njen opis (sporočilo ). Poleg navedbe v polju napake sistem v primeru napake vrne ustrezno statusno kodo HTTP (400, 401, 403, 404).

Podatkovna postavka vsebuje podatke, ki jih vrne klicano dejanje, in njena vsebina je individualna.

Vsi podatki so v obliki zapisa LLLL-MM-DDTHH:MM:SSZ (ISO8601; npr. 2011–01–01T10:10:10+02:00).

Potrditev vavčerja

  • dejanje: voucherCheck
  • parametri: žeton (obvezno; edinstven partnerski žeton), koda (obvezno; koda bona)

Obstajajo tri kode testnih bonov:

  • 1234–5677–77–111 (plačano, neuporabljeno),
  • 2234–5688–88–222 (plačano, rabljeno),
  • 3234–5699–99–333 (neplačano, neuporabljeno).

Če aplikacija uporabi eno od teh kod, bo strežnik vrnil ustrezen odgovor (v primeru vplačanega in neizkoriščenega bona vrne tudi vzorec bona in podatke o dogodku).

Oblika podatkov o odgovoru

{
 "token": <auth token>,
 "code": <voucher code>,
 "voucherData": <voucher data>
}

Parameter voucherData vsebuje definicijo bona v naslednji obliki.

{
 "id": <Voucher ID>,
 "orderId": <Order ID>,
 "title": <voucher title>,
 "ordered": <order date and time; datetime>,
 "paidDate": <order paid date; date>
 "validFrom": <voucher validity start; date>,
 "validTo": <voucher validity end; date>,
 "key": <voucher code>,
 "code": <voucher code,
 "product": <promotion ID>,
 "productName": <promotion title>,
 "variant": <variant ID>,
 "variantName": <variant title>,
 "imageUrl": <URL image>,
 "smallImageUrl": <URL image>,
 "productUrl": <URL image>,
"reservationTime": <Reservation time if voucher is reserved; datetime> }

Stanja napak

  • Koda 1101 (HTTP statusna koda 400): avtentikacijski žeton ali koda kupona ni bila vnesena,
  • Koda 1102 (HTTP statusna koda 403): žetona ni v bazi podatkov,
  • koda 1103 (HTTP statusna koda 404): bon z navedeno kodo ne obstaja,
  • koda 1104 (HTTP statusna koda 401): naročilo, na podlagi katerega je bil bon izdan, ni plačano,
  • koda 1105 (HTTP statusna koda 401): bon je že unovčen,
  • koda 1106 (HTTP statusna koda 401): kupon je bil povrnjen,
  • koda 1107 (HTTP statusna koda 401): naročilo ali kupon je bilo preklicano,
  • koda 1108 (HTTP statusna koda 401): dogodek je že zaračunan partnerju; ni več mogoče zahtevati nobenih dodatnih kuponov,
  • koda 1109 (HTTP status koda 401): boni za ta dogodek še niso začeli veljati,
  • koda 1111 (koda stanja HTTP 500): notranja napaka strežnika,
  • koda 1112 (HTTP statusna koda 403): kupon je potrebno unovčiti samo z rezervacijo

Primer zahteve

https://www.slevomat.cz/api/vouchercheck?code=1234-5677-77-111&token=123456789012345

Primer odgovora

{
 "result": true,
 "data": {
 "token": "123456789012345",
 "code": "1234567890-123",
 "voucherData": {
 "title": <název voucheru>,
 ...
 }
 },
 "error": {
 "code": 0,
 "message": null
 }
}

Unovčenje bona

  • Akcija: bonPrijava
  • parametri: žeton (obvezen; edinstven partnerski žeton), koda (obvezen; koda bona)

Poskusi unovčiti kupon dane kode.

Številko testnega bona lahko uporabite za namene testiranja. V tem primeru bon ne bo unovčen, ampak bo sistem vrnil odgovor, kot da je bil unovčen.

Oblika podatkov o odgovoru

Format odgovora je popolnoma enak kot pri preverjanju veljavnosti bona.

Pogoji napak

  • Koda 1201 (koda statusa HTTP 400): ni bil vnesen žeton za preverjanje pristnosti ali koda kupona,
  • Koda 1202 (HTTP statusna koda 403): žetona ni v bazi podatkov,
  • koda 1203 (HTTP statusna koda 404): bon z navedeno kodo ne obstaja,
  • koda 1204 (HTTP statusna koda 401): naročilo, na podlagi katerega je bil bon izdan, ni plačano,
  • koda 1205 (HTTP statusna koda 401): bon je že unovčen,
  • koda 1206 (HTTP statusna koda 401): kupon je bil povrnjen,
  • koda 1207 (HTTP statusna koda 401): naročilo ali kupon je bilo preklicano,
  • koda 1208 (HTTP statusna koda 401): dogodek je bil že zaračunan partnerju; ni več mogoče zahtevati nobenih dodatnih kuponov,
  • koda 1209 (HTTP statusna koda 401): boni za ta dogodek še niso začeli poteči,
  • koda 1211 (koda statusa HTTP 500): notranja napaka strežnika
  • koda 1212 (HTTP statusna koda 403): kupon je možno unovčiti le preko rezervacije

Primer zahteve

https://www.slevomat.cz/api/voucherapply?code=1234-5677-77-111&token=123456789012345

Primer odgovora

{
 "result": true,
 "data": {
 "token": "123456789012345",
 "code": "1234567890-123",
 "voucherData": {
 "title": <název voucheru>,
 ...
 }
 },
 "error": {
 "code": 0,
 "message": null
 }
}

Opomba: če želite uporabiti Partner API za odštevanje vrednosti ali izdelkov v vašem vozičku, razmislite o vključitvi več atributov parametra voucherData. To je še posebej pomembno, če imate več tekočih promocij z različnimi vrednostmi ponujenih izdelkov. Zlasti priporočamo uporabo atributov izdelka ali različice.

Nazaj na seznam člankov

Povezani članki


Navzgor