Rozhranie partnera
Táto sekcia dokumentuje požiadavky na API partnera. Jedná sa o volania, ktoré nám umožnia získať stav objednávky alebo platby na partnerovom shope. Alebo naopak partnerskému shopu oznámiť, že sa s objednávkou udiala zmena.
Komunikácia prebieha na bázi RESTfull webových služieb. Na našej strane je vytvorená HTTP požiadavka, ktorá odošle dáta, a je očakávaná odpoveď vo formáte JSON.
Nasleduje vymenovanie podporovaných služieb, kde názvy sú vytvorené podľa významu. Nekladieme žiadne nároky na pomenovanie umiestnenia.
Všetky dáta použité v príkladoch sú iba ilustračné.
GET payment/status
Získa aktuálny stav platby v partnerskom obchodu.
Príklad
Metóda:
GETParametre:
- order_id - integer - identifikátor objednávky
Odpoveď:
- order_id - integer - identifikátor objednávky
- status - integer - stav platby, 1 - zaplatené, - 1 nezaplatené
Príklad
< ?php //set output as json header('Content-type: application/json'); //get data from request $orderId = $_GET['order_id']; //do something with id and get info //create data for output $data['order_id'] = $orderId; //order is for example paid $data['status'] = 1; //create string containing JSON data $json = json_encode($data); //show output echo $json; ?> OUTPUT: {"order_id":"123456","status":1}
PUT payment/status
Nastaví aktuálny stav platby v partnerskom obchodu.
Príklad
Metóda:
PUTParametre:
- order_id - integer - identifikátor objednávky
- status - integer - stav platby, 1 - zaplatené, - 1 nezaplatené
- data - string - dátum, kedy došlo k zmene. Formát YYYY-MM-DD
Odpoveď:
- status - boolean - true ak sa nastavenie podarilo, inak false
Príklad
< ?php //set output as json header('Content-type: application/json'); //get data from request //one has to parse data from request, bacause there isn't super global //variable $_PUT in PHP. So let create it. $_PUT = array (); switch ( $_SERVER['REQUEST_METHOD'] ) { case !strcasecmp($_SERVER['REQUEST_METHOD'],'PUT'): parse_str( file_get_contents( 'php://input' ), $_PUT ); break; dafault: //there is other method than PUT => unsupported operation die("unsupported method: PUT was expected"); } $orderId = $_PUT['order_id']; $status = $_PUT['status']; $date = $_PUT['date']; //do something with id and get info //create data for output //announce success $data['status'] = true; //create string containing JSON data $json = json_encode($data); //show output echo $json; ?> OUTPUT: {"status" : true}
GET order/status
Získá aktuální stav objednávky v parnerském obchodu.
Metoda:
GETParametry:
- order_id - integer - identifikátor objednávky
Odpoveď:
- order_id - integer - identifikátor objednávky
- status - integer - stav objednávky (0 - objednávka vyexpedována (obchod odeslal objednávku zákazníkovi), 1 - objednávka odeslána do obchodu, 2 - objednávka byla vyřízena jen částečně, 3 - objednávka potvrzena (obchod objednávku přijal a potvrzuje, že ji začíná zpracovávat), 4 - storno z pohledu obchodu (obchod stornoval objednávku), 5 - storno z pohledu zákazníka (zákazník se rozhodl stornovat objednávku), 6 - storno - objednávka nebyla zaplacena (zákazník nezaplatil za objednávku), 7 - vráceno ve 14 denní lhůtě (zákazník vrátil zboží v zákonné 14 denní lhůtě), 8 - objednávka byla dokončena u partnera, 9 - objednávka dokončena (zákazník zaplatil a převzal objednávku), 10 - objednávka připravena k vyzvednutí
- internal_id - big integer - interní identifikátor partnerského obchodu, číslo objednávky usnadní komunikaci
< ?php //set output as json header('Content-type: application/json'); //get data from request $orderId = $_GET['order_id']; //do something with id and get info //create data for output $data['order_id'] = $orderId; //order is for example shipped $data['status'] = 0; //let say, taht internal id is 5698444 $data['internal_id'] = 5698444; //create string containing JSON data $json = json_encode($data); //show output echo $json; ?> OUTPUT: {"order_id": 123456 ,"status":0, "internal_id" : 5698444}
PUT order/status
Nastaví aktuální stav objednávky v parnerském obchodu.
Příklad
Metoda:
PUTParametry:
- order_id - integer - identifikátor objednávky
- status - integer - stav platby, 1 - zaplaceno, - 1 nezaplaceno
- transport - array - jsou-li dostupné informace o expedované dopravě jsou zde uvedeny
- tracking_url - string - URL kde je možné zásilku sledovat
- note - string - poznámka k přepravě
Odpoveď:
- status - boolean - true pokud se nastavení povedlo, jinak false
Příklad
< ?php //set output as json header('Content-type: application/json'); //get data from request //one has to parse data from request, bacause there isn't super global //variable $_PUT in PHP. So let create it. $_PUT = array (); switch ( $_SERVER['REQUEST_METHOD'] ) { case !strcasecmp($_SERVER['REQUEST_METHOD'],'PUT'): parse_str( file_get_contents( 'php://input' ), $_PUT ); break; dafault: //there is other method than PUT => unsupported operation die("unsupported method: PUT was expected"); } $orderId = $_PUT['order_id']; $status = $_PUT['status']; //check if information about transport are available if (isset($_PUT['transport']) { $url = $_PUT['transport']['tracking_url']; $note = $_PUT['transport']['note']; } //do something with id and get info //create data for output //announce success $data['status'] = true; //create string containing JSON data $json = json_encode($data); //show output echo $json; ?> OUTPUT: {"status" : true}
POST order/invoice
Odešle elektronickou fakturu do partnerského obchodu.
Příklad
Metoda:
POST - multipartdataParametry:
- order_id - integer - identifikátor objednávky
- invoice - multipartdata - soubor faktury ve fromátu PDF
Odpověď:
- order_id - integer - identifikátor objednávky
- status - integer - stav objednávky (0 - objednávka vyexpedována (obchod odeslal objednávku zákazníkovi), 1 - objednávka odeslána do obchodu, 2 - objednávka byla vyřízena jen částečně, 3 - objednávka potvrzena (obchod objednávku přijal a potvrzuje, že ji začíná zpracovávat), 4 - storno z pohledu obchodu (obchod stornoval objednávku), 5 - storno z pohledu zákazníka (zákazník se rozhodl stornovat objednávku), 6 - storno - objednávka nebyla zaplacena (zákazník nezaplatil za objednávku), 7 - vráceno ve 14 denní lhůtě (zákazník vrátil zboží v zákonné 14 denní lhůtě), 8 - objednávka byla dokončena u partnera, 9 - objednávka dokončena (zákazník zaplatil a převzal objednávku), 10 - objednávka připravena k vyzvednutí
- internal_id - big integer - interní identifikátor partnerského obchodu, číslo objednávky usnadní komunikaci
Příklad
< ?php //set output as json header('Content-type: application/json'); //get data from request $orderId = $_POST['order_id']; //invoice file is represented by super global variable $_FILES //let move incoming invoice to file located "root/data/pdf/invoice.pdf" $success = move_uploaded_file($_FILES['invoice']['tmp_name'], "root/data/pdf/invoice.pdf"); //do something with id and get info //create data for output $data['status'] = $success; //create string containing JSON data $json = json_encode($data); //show output echo $json; ?> OUTPUT: {"status" : true}