Az API-t arra használják, hogy információkat továbbítson a voucherekről a Zľavomat és az üzleti partner rendszere között. Lehetővé teszi a partner számára, hogy ellenőrizze a voucherek érvényességét és beváltsa azokat a saját rendszerében. Ezért a partnernek nem kell a Partner Felületet használnia erre a célra.
Lehetséges felhasználási példák:
- Egy vásárló olyan vouchert vásárol, amelynél a kód megadása szükséges a partner weboldalán a szolgáltatás igénybevételéhez a rendelés leadásakor. Az API-nak köszönhetően a voucher érvényessége azonnal ellenőrzésre kerül a kód megadása után. Értéke levonásra kerül a partner kosarában, és egyúttal a voucher automatikusan beváltásra kerül a Zľavomat rendszerében.
- A voucherek érvényessége ugyanígy ellenőrizhető a partner foglalási rendszerében is, vagy a megvásárolt, bizonyos értékű kredit közvetlenül jóváírható a vásárló fiókjában a partner weboldalán.
A Partner API használatához egy minden partner számára egyedi token szükséges, amelyet minden kéréshez mellékelni kell. Ha használni szeretné a Partner API-t, vegye fel a kapcsolatot az Ön/mi értékesítési képviselőjével.
Kérés formátuma
Az API végpontja a /api címen található.
A kérés formátuma a következő
<API endpoint URL>/<action>[<parameters>]
Minden kérés szabványos HTTP GET kérés, azaz egy voucher érvényességének ellenőrzése például így nézhet ki:
https://www.zlavomat.sk/api/vouchercheck?code=1234-5677-77-111&token=123456789012345.
Válasz formátuma
A szerver válasza mindig JSON formátumú, a megfelelő Content-type fejléccel. A válasz alapstruktúrája a következő.
{
"result": true,
"data": {
...
},
"error": {
"code": 0,
"message": null
}
}
A result elem értéke true (siker esetén) vagy false (hiba esetén). Hiba esetén az error elem tartalmazza a hibakódot (code) és annak leírását (message). A hibamező jelzése mellett a rendszer a megfelelő HTTP státuszkódot is visszaadja (400, 401, 403, 404) hiba esetén.
A data elem tartalmazza a meghívott művelet által visszaadott adatokat, melyek tartalma egyedi.
Minden dátum a következő formátumban van: YYYY-MM-DDTHH:MM:SSZ (ISO8601; pl. 2011–01–01T10:10:10+02:00).
Voucher érvényességének ellenőrzése
- action: voucherCheck
- paraméterek: token (kötelező; egyedi partner token), code (kötelező; voucher kód)
Három teszt voucher kód létezik:
- 1234–5677–77–111 (fizetett, fel nem használt),
- 2234–5688–88–222 (fizetett, felhasznált),
- 3234–5699–99–333 (nem fizetett, fel nem használt).
Ha az alkalmazás ezen kódok valamelyikét használja, a szerver a megfelelő választ adja vissza (fizetett és fel nem használt voucher esetén mintavoucher és akcióadatokat is visszaad).
Válasz adatainak formátuma
{
"token": <authentication token>,
"code": <voucher code>,
"voucherData": <voucher data>
}
A voucherData paraméter a voucher definícióját tartalmazza a következő formátumban.
{
"id": <voucher ID>,
"orderId": <order ID>,
"title": <voucher name>,
"ordered": <order date and time; date and time>,
"paidDate": <order payment date; date>
"validFrom": <voucher validity start; date>,
"validTo": <voucher validity end; date>,
"key": <voucher code>,
"code": <voucher code>,
"product": <action ID>,
"productName": <action name>,
"variant": <action variant ID>,
"variantName": <action variant name>,
"imageUrl": <image URL>,
"smallImageUrl": <thumbnail URL>,
"productUrl": <action URL>
}
A variant és variantName elemek az adott akció variánsának azonosítóját és nevét tartalmazzák, ha az adott akció tartalmaz variánsokat. Ha nem, mindkét attribútum értéke NULL.
Hibaállapotok
- kód 1101 (HTTP státuszkód 400): azonosító token vagy voucher kód nem lett megadva,
- kód 1102 (HTTP státuszkód 403): a megadott token nincs az adatbázisban,
- kód 1103 (HTTP státuszkód 404): a megadott kóddal nem létezik voucher,
- kód 1104 (HTTP státuszkód 401): az a rendelés, amely alapján a vouchert kiadták, nincs kifizetve,
- kód 1105 (HTTP státuszkód 401): a vouchert már beváltották,
- kód 1106 (HTTP státuszkód 401): a vouchert visszatérítették,
- kód 1107 (HTTP státuszkód 401): a rendelést vagy a vouchert törölték,
- kód 1108 (HTTP státuszkód 401): az akció már elszámolásra került a partnerrel; további voucherek beváltása nem lehetséges,
- kód 1109 (HTTP státuszkód 401): az akcióhoz tartozó voucherek érvényessége még nem kezdődött el.
- kód 1111 (HTTP státuszkód 500): belső szerverhiba
Kérés példa
https://www.zlavomat.sk/api/vouchercheck?code=1234-5677-77-111&token=123456789012345
Válasz példa
{
"result": true,
"data": {
"token": "123456789012345",
"code": "1234567890-123",
"voucherData": {
"title": <voucher name>,
...
}
},
"error": {
"code": 0,
"message": null
}
}
Voucher beváltása
- action: voucherApply
- paraméterek: token (kötelező; egyedi partner token), code (kötelező; voucher kód)
Megpróbálja beváltani a megadott kódú vouchert.
Tesztelési célokra használható a teszt voucher szám. Ebben az esetben a voucher ténylegesen nem kerül beváltásra, de a rendszer úgy ad választ, mintha megtörtént volna.
Válasz adatainak formátuma
A válasz formátuma pontosan megegyezik a voucher érvényesség ellenőrzésénél leírtakkal.
Hibaállapotok
- kód 1201 (HTTP státuszkód 400): azonosító token vagy voucher kód nem lett megadva,
- kód 1202 (HTTP státuszkód 403): a megadott token nincs az adatbázisban,
- kód 1203 (HTTP státuszkód 404): a megadott kóddal nem létezik voucher,
- kód 1204 (HTTP státuszkód 401): az a rendelés, amely alapján a vouchert kiadták, nincs kifizetve,
- kód 1205 (HTTP státuszkód 401): a vouchert már beváltották,
- kód 1206 (HTTP státuszkód 401): a vouchert visszatérítették,
- kód 1207 (HTTP státuszkód 401): a rendelést vagy a vouchert törölték,
- kód 1208 (HTTP státuszkód 401): az akció már elszámolásra került a partnerrel; további voucherek beváltása nem lehetséges,
- kód 1209 (HTTP státuszkód 401): az akcióhoz tartozó voucherek érvényessége még nem kezdődött el.
- kód 1211 (HTTP státuszkód 500): belső szerverhiba
Kérés példa
https://www.zlavomat.sk/api/voucherapply?code=1234-5677-77-111&token=123456789012345
Válasz példa
{
"result": true,
"data": {
"token": "123456789012345",
"code": "1234567890-123",
"voucherData": {
"title": <voucher name>,
...
}
},
"error": {
"code": 0,
"message": null
}
}
Megjegyzés: Amennyiben a Partner API-t a kosárban lévő érték vagy termékek levonására használja, javasoljuk, hogy a voucherData paraméter több attribútumát is vegye figyelembe. Ez különösen fontos, ha több, eltérő értékű terméket kínáló akciója is fut egyszerre. Különösen ajánlott a product vagy variant attribútumok használata.