API služi za prijenos informacija o vaučerima između Slevomata i sustava poslovnog partnera. Omogućuje partneru da provjeri valjanost bonova u svom sustavu i iskoristi bonove. Partner ne treba koristiti partnersko sučelje u tu svrhu.
Mogući primjeri korištenja:
- Kupac kupuje vaučer kod kojeg je usluga uvjetovana unosom koda na web stranici partnera prilikom kreiranja narudžbe. Zahvaljujući API-ju, nakon ovog unosa odmah se provjerava valjanost vaučera. Vrijednost bona tada se oduzima od partnerove košarice i bon se automatski iskorištava na Slevomatu.
- Na isti način također je moguće provjeriti valjanost vouchera u rezervacijskom sustavu partnera ili uploadati kupljeni kredit određene vrijednosti direktno na web stranicu partnera.
API za partnere zahtijeva token koji je jedinstven za svakog partnera i šalje se kao dio svakog zahtjeva. Za korištenje Partner API-ja, obratite se svom/našem prodajnom predstavniku.
Format zahtjeva
API pristupna točka nalazi se na /api.
Format zahtjeva je
<URL přístupového bodu>/<akce>[<parametry>]
Svi zahtjevi su standardni HTTP GET zahtjevi, tj. zahtjev za provjeru valjanosti vaučera može izgledati ovako:
https://www.slevomat.cz/api/vouchercheck?code=1234-5677-77-111&token=123456789012345.
Format odgovora
Odgovor poslužitelja uvijek je u JSON formatu s odgovarajućim zaglavljem tipa sadržaja. Osnovna struktura odgovora je sljedeća.
{
"result": true,
"data": {
...
},
"error": {
"code": 0,
"message": null
}
}
Vrijednost stavke rezultata je true (u slučaju uspjeha) ili false (u slučaju pogreške). U slučaju pogreške, unos pogreške sadrži kod pogreške (code ) i njezin opis (poruka ). Osim indikacije u polju greške, sustav u slučaju greške vraća odgovarajući HTTP statusni kod (400, 401, 403, 404).
Podatkovna stavka sadrži podatke koje vraća pozvana radnja i njezin je sadržaj individualan.
Svi podaci su u formatu GGGG-MM-DDTHH:MM:SSZ (ISO8601; npr. 2011–01–01T10:10:10+02:00).
Validacija vaučera
- akcija: voucherCheck
- parametri: token (obavezno; jedinstveni partnerski token), šifra (obavezno; šifra bona)
Postoje tri koda testnog vaučera:
- 1234–5677–77–111 (plaćeno, nekorišteno),
- 2234–5688–88–222 (plaćeno, korišteno),
- 3234–5699–99–333 (neplaćeno, nekorišteno).
Ako aplikacija koristi jedan od ovih kodova, poslužitelj će vratiti odgovarajući odgovor (u slučaju plaćenog, a neiskorištenog bona, također će vratiti ogledni vaučer i podatke o događaju).
Format podataka o odgovoru
{
"token": <autentizační token>,
"code": <kód voucheru>,
"voucherData": <data voucheru>
}
Parametar voucherData sadrži definiciju vaučera u sljedećem formatu.
{
"id": <ID voucheru>,
"orderId": <ID objednávky>,
"title": <název voucheru>,
"ordered": <datum a čas objednávky; datum a čas>,
"paidDate": <datum zaplacení objednávky; datum>
"validFrom": <začátek platnosti voucheru; datum>,
"validTo": <konec platnosti voucheru; datum>,
"key": <kód voucheru>,
"code": <kód voucheru>,
"product": <ID akce>,
"productName": <název akce>,
"variant": <ID varianty akce>,
"variantName": <název varianty akce>,
"imageUrl": <URL obrázku>,
"smallImageUrl": <URL náhledu>,
"productUrl": <URL akce>
}
Polja variant i variantName sadrže ID ili naziv naručene varijante događaja, ako događaj sadrži varijante. Ako nije, oba atributa su NULL .
Stanja pogreške
- Šifra 1101 (HTTP statusna šifra 400): autentifikacijski token ili šifra vaučera nisu uneseni,
- Kod 1102 (HTTP statusni kod 403): token nije u bazi podataka,
- šifra 1103 (HTTP status šifra 404): voucher s navedenim kodom ne postoji,
- šifra 1104 (HTTP status šifra 401): narudžba po kojoj je vaučer izdan nije plaćena,
- kod 1105 (HTTP status kod 401): vaučer je već iskorišten,
- kod 1106 (HTTP status kod 401): kupon je vraćen,
- šifra 1107 (HTTP status šifra 401): narudžba ili vaučer je otkazan,
- šifra 1108 (HTTP status šifra 401): događaj je već naplaćen partneru; više vaučera nije moguće tražiti,
- šifra 1109 (HTTP status šifra 401): vaučeri za ovaj događaj još nisu počeli vrijediti,
- kod 1111 (HTTP statusni kod 500): interna greška poslužitelja,
- šifra 1112 (HTTP status šifra 403): vaučer se može iskoristiti isključivo putem rezervacije
Primjer zahtjeva
https://www.slevomat.cz/api/vouchercheck?code=1234-5677-77-111&token=123456789012345
Primjer odgovora
{
"result": true,
"data": {
"token": "123456789012345",
"code": "1234567890-123",
"voucherData": {
"title": <název voucheru>,
...
}
},
"error": {
"code": 0,
"message": null
}
}
Iskorištavanje bona
- Akcija: voucherApply
- parametri: token (obavezno; jedinstveni partnerski token), šifra (obavezno; šifra bona)
Pokušava iskoristiti vaučer danog koda.
Broj testnog kupona može se koristiti u svrhu testiranja. U tom slučaju bon neće biti iskorišten, već će sustav vratiti odgovor kao da je iskorišten.
Format podataka o odgovoru
Format odgovora potpuno je isti kao kod provjere valjanosti kupona.
Uvjeti pogreške
- Šifra 1201 (HTTP statusna šifra 400): nije unesen token za autentifikaciju ili šifra vaučera,
- Kod 1202 (HTTP statusni kod 403): token nije u bazi podataka,
- šifra 1203 (HTTP status šifra 404): voucher s navedenim kodom ne postoji,
- šifra 1204 (HTTP status šifra 401): narudžba po kojoj je vaučer izdan nije plaćena,
- kod 1205 (HTTP status kod 401): vaučer je već iskorišten,
- kod 1206 (HTTP status kod 401): kupon je vraćen,
- šifra 1207 (HTTP status šifra 401): narudžba ili vaučer je otkazan,
- šifra 1208 (HTTP status šifra 401): događaj je već naplaćen partneru; više vaučera nije moguće tražiti,
- šifra 1209 (HTTP status šifra 401): vaučeri za ovaj događaj još nisu počeli istjecati,
- šifra 1211 (HTTP status šifra 500): interna greška poslužitelja
- kod 1212 (HTTP status kod 403): voucher se može iskoristiti samo putem rezervacije
Primjer zahtjeva
https://www.slevomat.cz/api/voucherapply?code=1234-5677-77-111&token=123456789012345
Primjer odgovora
{
"result": true,
"data": {
"token": "123456789012345",
"code": "1234567890-123",
"voucherData": {
"title": <název voucheru>,
...
}
},
"error": {
"code": 0,
"message": null
}
}
Napomena: da biste koristili Partnerski API za oduzimanje vrijednosti ili proizvoda u vašoj košarici, razmislite o uključivanju više atributa parametra voucherData. Ovo je osobito važno kada imate više aktivnih promocija s različitim vrijednostima ponuđenih proizvoda. Osobito preporučujemo korištenje atributa proizvoda ili varijante.