Partnerfelület
Ez a szakasz dokumentálja a követelményeket az API partnerre. Hívásról van szó, melynek segítségével információra teszünk szert a megrendelés állapotáról és a befizetett összegről a partner webüzletében. Továbbá értesíteni a partnert a megrendelésben történt változásokról.
A komunikáció RESTfull webszolgáltatások alapján zajlik. A mi oldalunkon HTTP kérés lett kialakítva, mely elküldi az adatokat és JSON formátumban várható a válasz.
A támogatott szolgáltatások alábbi felsorolása, ahol az elnevezések jelentőségük szerint jöttek létre. Nem tartunk semmilyen igényt az elhelyezés megnevezésére.
A példákban felhasznált összes adat csupán szemléltető jellegű.
GET payment/status
Információt szerez a fizetés aktuális állapotáról a partner boltban.
Példa
Módszer:
GETParaméterek:
- order_id - integer - megrendelés azonosító
Válasz:
- order_id - integer - megrendelés azonosító
- status - integer - fizetési állapot, 0 - fizetve, - 1 nincs fizetve
Példa
< ?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
Beállítja a fizetés aktuális állapotát a partner boltban.
Példa
Módszer:
PUTParaméterek:
- order_id - integer - megrendelés azonosító
- status - integer - fizetési állapot, 0 - fizetve, - 1 nincs fizetve
- data - string - a változás időpontja. Formátum YYYY-MM-DD
Válasz:
- status - boolean - true ha a beállítás sikeres, ellenkező esetben false
Példa
< ?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
Információt szerez a megrendelés aktuális állapotáról a partner boltban.
Módszer:
GETParaméterek:
- order_id - integer - megrendelés azonosító
Válasz:
- order_id - integer - megrendelés azonosító
- status - integer - a megrendelés állapota (0 - szállításra került (a bolt elküldte a megrendelést az ügyfélnek), 1 - a megrendelés elküldve a boltnak, 2 - a megrendelés csak részben teljesült, 3 - megrendelés visszaigazolás (a bolt a megrendelést fogadta és visszaigazolja, hogy feldolgozásra került), 4 - törölve a bolt oldaláról (a bolt lemondta a megrendelést), 5 - törölve az ügyfél oldaláról (az ügyfél lemondta a megrendelést), 6 - törölve - a megrendelés nem lett kifizetve (az ügyfél nem fizette ki a megrendelést), 7 - visszaküldve 14 napos határidőn belül (az ügyfél visszaküldte a terméket a törvényes, 14 napos határidőn belül), 8 - a megrendelés befejezve a partnernél, 9 - a megrendelés befejezve (az ügyfél kifizette és átvette a megrendelést), 10 - a megrendelés készen áll az átvételre
- internal_id - big integer - a partner bolt belső azonosítója, a megrendelés száma megkönnyíti a kommunikációt
< ?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
Beállítja a megrendelés aktuális állapotát a partner boltban.
Példa
Módszer:
PUTParaméterek:
- order_id - integer - megrendelés azonosító
- status - integer - fizetési állapot, 0 - fizetve, - 1 nincs fizetve
- transport - array - ha rendelkezésre áll információ o szállítóról, itt lett feltüntetve
- tracking_url - string - URL a csomag nyomonkövetéséhez
- note - string - megjegyzés a szállításhoz
Válasz:
- status - boolean - true ha a beállítás sikeres, ellenkező esetben false
Példa
< ?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
Elektronikus számlát küld a partner boltba.
Példa
Módszer:
POST - multipartdataParaméterek:
- order_id - integer - megrendelés azonosító
- invoice - multipartdata - számla fájl PDF formátumban
Válasz:
- order_id - integer - megrendelés azonosító
- status - integer - a megrendelés állapota (0 - szállításra került (a bolt elküldte a megrendelést az ügyfélnek), 1 - a megrendelés elküldve a boltnak, 2 - a megrendelés csak részben teljesült, 3 - megrendelés visszaigazolás (a bolt a megrendelést fogadta és visszaigazolja, hogy feldolgozásra került), 4 - törölve a bolt oldaláról (a bolt lemondta a megrendelést), 5 - törölve az ügyfél oldaláról (az ügyfél lemondta a megrendelést), 6 - törölve - a megrendelés nem lett kifizetve (az ügyfél nem fizette ki a megrendelést), 7 - visszaküldve 14 napos határidőn belül (az ügyfél visszaküldte a terméket a törvényes, 14 napos határidőn belül), 8 - a megrendelés befejezve a partnernél, 9 - a megrendelés befejezve (az ügyfél kifizette és átvette a megrendelést), 10 - a megrendelés készen áll az átvételre
- internal_id - big integer - a partner bolt belső azonosítója, a megrendelés száma megkönnyíti a kommunikációt
Példa
< ?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}