Ovaj API služi za pružanje Slevomat.cz koda vaučera nakon što korisnik plati narudžbu za ponudu. Obično Slevomat.cz generira vlastiti kod vaučera, ali korištenjem ovog API-ja naš poslovni partner može biti obaviješten o narudžbi i generirati vlastiti prilagođeni kod vaučera za kupca.
Svi zahtjevi se izvode preko HTTPS protokola (koji zahtijeva da poslužitelj poslovnog partnera podržava HTTPS i ima važeći certifikat) i svi podaci moraju biti formatirani kao JSON .
Dnevnik promjena
01. 03. 2017. – dodan odjeljak za obradu nevažećih zahtjeva
10. 02. 2017. – početna verzija
Omogućavanje API-ja
Svi zahtjevi se izvršavaju tako što aplikacija Slevomat.cz šalje zahtjev na server partnera. Zahtjev će sadržavatiX-RequestToken
HTTP zaglavlje s tajnim nizom. Ovaj niz mora provjeriti partnerov poslužitelj kako bi se zajamčila sigurnost. Ovaj tajni niz znaju samo Slevomat.cz i partner.
Da bi omogućio API, partner mora pitati Slevomat.cz i dati URL na kojem će biti API, na primjer:
https://example.com/slevomat-external-voucher-code/generate
Nakon što Slevomat.cz omogući API za partnera i da partneruX-RequestToken
vrijednosti, samo je u načinu testiranja, što znači da nijedna stvarna narudžba neće izvršiti zahtjev za dobivanje prilagođenog koda vaučera. Ali partneru omogućuje razvoj i testiranje API-ja na svom poslužitelju s priloženimX-RequestToken
vrijednost.
Nakon što se API na poslužitelju partnera razvije i testira, Slevomat.cz će prebaciti način rada na stvarne narudžbe. Narudžbe za ponude koje su se počele prodavati nakon prebacivanja zahtijevat će partnerov API za prilagođene kodove vaučera.
Generiranje koda vaučera
Kada je narudžba za posao plaćena, Slevomat.cz će poslati POST zahtjev serveru partnera za generiranje koda vaučera i dati partneru neke informacije o narudžbi. Ovaj zahtjev će biti poslan pojedinačno za svaku prodanu jedinicu.
Zahtjev sadrži potreban prefiks koda kupona. Generirani kod vaučera mora započeti ovim prefiksom .
Tijelo zahtjeva će izgledati ovako:
{ "uuid": "91987a73-095c-4b94-bd38-f6ffd4ab86a7", "deal": { "product_id": 123, "product_name": "Aktivní dovolená: 4 až 6 dní s all inclusive v Rakousku. 2 děti do 8,9 let zdarma!", "variant_id": 456, "variant_name": "1 osoba | 4 dny (3 noci) | Období So 13. 5. – So 24. 6. 2017, Ne 27. 8. – Ne 5. 11. 2017" }, "customer": { "email": "cu******@ex*****.com" }, "voucherCodePrefix": "LIN", "repeatReason": 1 }
Poslužitelj bi trebao odgovoriti HTTP statusnim kodom 200, a tijelo odgovora s generiranim kodom vaučera mora izgledati ovako:
{ "voucherCode": "LIN1234567890" }
Poslužitelj mora odgovoriti unutar 10 sekundi , inače se zahtjev označava kao neuspješan. Generirani kod vaučera mora započeti zadanim prefiksom i mora biti jedinstven. Postoje i drugi razlozi zašto možda ne prihvaćamo generirani kod kupona.
Kada zahtjev nije uspješan, ponavlja se s razlogom urepeatReason
polje dok ne bude uspješno. Ovo polje će sadržavati jednu od sljedećih vrijednosti:
Ponovi razlog | Opis |
---|---|
1 | Prvi pokušaj. |
2 | Povezivanje s poslužiteljem nije uspjelo. To može značiti nevažeći HTTPS certifikat ili da mreža nije radila. |
3 | Server nije odgovorio na vrijeme. |
4 | Poslužitelj je odgovorio HTTP statusnim kodom koji nije 200. |
5 | Poslužitelj je odgovorio s HTTP 200, ali tijelo odgovora nije sadržavalo JSON ili JSON nije sadržavao ključ voucherCode. |
6 | Generirani kod vaučera nije sadržavao potreban prefiks. |
7 |
Generirani kod kupona sadržavao je nevažeće znakove. Jedini valjani znakovi su:[a-zA-Z0-9-]+ .
|
8 | Generirani kod vaučera nije bio jedinstven. |
Tijelo zahtjeva uvijek će sadržavati istouuid
identifikator kaoprevious zahtjev za generiranje voucher koda za istu narudžbu kupca.
Rukovanje nevažećim zahtjevom
Kada će se pojaviti zahtjev koji ne zadovoljava sigurnosne zahtjeve, tj. sadrži nevažećiX-RequestToken
, poslužitelj mora odgovoriti HTTP kodom 403 Zabranjeno.
Testiranje implementacije API-ja
Prijavite se kao naš partner kako biste vidjeli svoj status API-ja te testirali i potvrdili implementaciju API-ja.