Az API-t használják az utalványokkal kapcsolatos információk átvitelére a Zlavomat és az üzleti partner rendszere között. Lehetővé teszi a partner számára, hogy ellenőrizze az utalványok érvényességét a rendszerében, és beváltsa azokat. A partnernek ehhez nem kell a Partner Interface-t használnia.
Lehetséges felhasználási példák:
- Az ügyfél egy utalványt vásárol, ahol a szolgáltatás nyújtásának feltétele a kód megadása a partner weboldalán a rendelés létrehozásakor. Az API-nak köszönhetően a kód megadása után a rendszer azonnal ellenőrzi az utalvány érvényességét. Értékét ezután levonják a partner kosarából, és az utalvány automatikusan beváltásra kerül a Zlavomotnál.
- Ugyanígy az utalványok érvényessége is ellenőrizhető a partner foglalási rendszerében, vagy az ügyfél feltölthet egy bizonyos értékű vásárolt kreditet közvetlenül a partner weboldalán.
A Partner API használatához egy olyan token szükséges, amely minden partnerhez egyedi , és minden kéréshez el van küldve. Ha a Partner API-t szeretné használni, kérjük, vegye fel a kapcsolatot a kereskedőjével/kereskedőnkkel.
Kérés formátuma
Az API hozzáférési pont a /api címen található.
A kérés formátuma a következő:
<URL přístupového bodu>/<akce>[<parametry>]
Minden kérés szabványos HTTP GET kérés, azaz az utalvány érvényességének ellenőrzésére irányuló kérés 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 alapvető szerkezete a következő.
{
"result": true,
"data": {
...
},
"error": {
"code": 0,
"message": null
}
}
Az eredményelem értéke igaz (siker esetén) vagy hamis (hiba esetén). Hiba esetén a hibaelem tartalmazza a hibakódot ( code ) és annak leírását ( message ). A hiba mezőben található jelzés mellett a rendszer visszaadja a megfelelő HTTP állapotkódot (400, 401, 403, 404) hiba esetén.
Az adatelem a meghívott művelet által visszaadott adatokat tartalmazza, és tartalma egyedi.
Minden adat ÉÉÉÉ-HH-NNÓÓ:PP:SZSZ formátumú (ISO8601; pl. 2011–01–01T10:10:10+02:00).
Utalvány érvényességének ellenőrzése
- művelet: utalványellenőrzés
- paraméterek: token (kötelező; egyedi partner token), kód (kötelező; utalványkód)
Háromféle tesztutalványkód létezik:
- 1234–5677–77–111 (fizetett, fel nem használt),
- 2234–5688–88–222 (fizetett, használt),
- 3234–5699–99–333 (fizetetlen, fel nem használt).
Ha az alkalmazás ezen kódok valamelyikét használja, a szerver visszaadja a megfelelő választ (kifizetett és fel nem használt utalvány esetén minta utalványt és műveleti adatokat is visszaad).
Válasz adatformátuma
{
"token": <autentizační token>,
"code": <kód voucheru>,
"voucherData": <data voucheru>
}
A voucherData paraméter a voucher definícióját tartalmazza a következő formátumban.
{
"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>
}
A Variant items vagy a variantName a művelet megrendelt változatának azonosítóját vagy nevét tartalmazza, ha az adott művelet tartalmaz változatokat. Ha nem, akkor mindkét attribútum NULL értékű.
Hibaállapotok
- 1101-es kód (HTTP állapotkód 400): a hitelesítési token vagy utalványkód nem lett megadva,
- 1102-es kód (403-as HTTP állapotkód): a megadott token nincs az adatbázisban,
- 1103-as kód (404-es HTTP állapotkód): a megadott kóddal rendelkező utalvány nem létezik,
- 1104-es kód (HTTP állapotkód 401): a bizonylat kiállításának alapjául szolgáló megrendelést nem fizették ki,
- 1105-ös kód (HTTP állapotkód 401): az utalványt már felhasználták,
- 1106-os kód (HTTP állapotkód 401): az utalványt visszatérítették,
- 1107-es kód (HTTP állapotkód 401): a megrendelést vagy az utalványt törölték,
- 1108-as kód (HTTP állapotkód 401): a műveletet már kiszámlázták a partnernek; más utalványok alkalmazása nem lehetséges,
- 1109-es kód (HTTP állapotkód 401): az eseményhez tartozó utalványok érvényessége még nem kezdődött meg.
- 1111-es kód (HTTP állapotkód 500): belső szerverhiba
Példa egy kérésre
https://www.zlavomat.sk/api/vouchercheck?code=1234-5677-77-111&token=123456789012345
Példaválasz
{
"result": true,
"data": {
"token": "123456789012345",
"code": "1234567890-123",
"voucherData": {
"title": <název voucheru>,
...
}
},
"error": {
"code": 0,
"message": null
}
}
Utalvány beváltása
- művelet: utalványAlkalmaz
- paraméterek: token (kötelező; egyedi partner token), kód (kötelező; utalványkód)
Megpróbáljuk beváltani a megadott kódhoz tartozó utalványt.
A tesztutalvány számát tesztelési célokra lehet felhasználni. Ebben az esetben az utalvány nem kerül beváltásra, de a rendszer úgy fog visszaadni, mintha az megtörtént volna.
Válasz adatformátuma
A válasz formátuma pontosan megegyezik az utalvány érvényességének ellenőrzése esetén alkalmazottal.
Hibaállapotok
- 1201-es kód (HTTP állapotkód 400): a hitelesítési token vagy utalványkód nem lett megadva,
- 1202-es kód (403-as HTTP állapotkód): a megadott token nincs az adatbázisban,
- 1203-as kód (404-es HTTP állapotkód): a megadott kóddal rendelkező utalvány nem létezik,
- 1204-es kód (HTTP állapotkód 401): a bizonylat kiállításának alapjául szolgáló megrendelést nem fizették ki,
- 1205-ös kód (HTTP állapotkód 401): az utalványt már felhasználták,
- 1206-os kód (HTTP állapotkód 401): az utalványt visszatérítették,
- 1207-es kód (HTTP állapotkód 401): a megrendelést vagy az utalványt törölték,
- 1208-as kód (HTTP állapotkód 401): a műveletet már kiszámlázták a partnernek; más utalványok alkalmazása nem lehetséges,
- 1209-es kód (HTTP állapotkód 401): az eseményhez tartozó utalványok érvényessége még nem kezdődött meg.
- 1211-es kód (HTTP állapotkód 500): belső szerverhiba
Példa egy kérésre
https://www.zlavomat.sk/api/voucherapply?code=1234-5677-77-111&token=123456789012345
Példaválasz
{
"result": true,
"data": {
"token": "123456789012345",
"code": "1234567890-123",
"voucherData": {
"title": <název voucheru>,
...
}
},
"error": {
"code": 0,
"message": null
}
}
Megjegyzés: Ha a Partner API-t szeretné használni a kosárban lévő termékek értékének leolvasásához, érdemes lehet több attribútumot is hozzáadni a voucherData paraméterhez. Ez különösen fontos akkor, amikor több futó kampánya is van, amelyekben a kínált termékek értéke eltérő. Javasoljuk, hogy elsősorban a termék vagy változat attribútumok használatát.