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.

Módszer: 

GET

Paramé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.

Módszer: 

PUT

Paramé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: 

GET

Paramé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
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 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.

Módszer: 

PUT

Paramé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.

Módszer: 

POST - multipartdata

Paramé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}             

BIGtheme.net Joomla 3.3 Templates