Interfejs partnera

Ten rozdział opisuje żądania na API partnera. Chodzi o wywołania które umożliwiają nam pozyskanie stanu zamówienia lub płatności w Państwa sklepie. Ewentualnie pozwala przekazać do eshopu Partnera informacje o zmianie w zamówieniu.

Komunikacja oparta jest na web usługach RESTfull. Po naszej stronie tworzone jest żądanie HTTP, które wysyła dane i oczekiwana jest odpowiedź we formacie JSON.

Poniżej znajduje się lista obsługiwanych usług, w których nazwy są tworzone zgodnie ze znaczeniem. Nie żądamy na nazewnictwo lokalizacji.

Wszystkie dane użyte w przykładach są jedynie ilustracyjne.


GET payment/status

Pobiera aktualny stan płatności w partnerskim sklepie.

Metoda: 

GET

Parametry:

  • order_id - integer - identyfikator zamówienia

Odpowiedź:

  • order_id - integer - identyfikator zamówienia
  • status - integer - status płatności, 1 - zapłacono 1 niezapłacona

Przykład:
< ?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

Ustawia bieżący status płatności w sklepie partnerskim.

Metoda: 

PUT

Parametry:

  • order_id - integer - identyfikator zamówienia
  • status - integer - status płatności, 1 - zapłacono 1 niezapłacona
  • data - string - data, gdy dojdzie do zmiany. Format YYYY-MM-DD

Odpoveď:

  • status - boolean - true - jeśli nastawienie się powiodło, inaczej  false

Przykład:
< ?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

Pobiera aktualny stan zamówienia w partnerskim sklepie.

Metoda: 

GET

Parametry:

  • order_id - integer - identyfikator zamówienia

Odpowiedź:

  • order_id - integer - identyfikator zamówienia
  • status - integer - status zamówienia (0 [A]zamówienie jest wysyłane (sklep wysłał zamówienie do klienta), , 1 - zamówienie wysłane do sklepu, 2 - zamówienie zostało zrealizowane jedynie częściowo, 3 - zamówienie potwierdzone (zamówienie zostało przyjęte przez sklep, potwierdza, że jest przetwarzane), 4 - anulowane przez sklep (sklep anulował zamówienie), 5 - anulowane przez klienta (klient anulował zamówienie), 6 - storno - zamówienie nie zostało zapłacone (klient nie zapłacił za zamówienie), 7 - zwrócone w ciągu 14 dni (klient odesłał towar w ustawowym terminie 14 dni), 8 - zamówienie zostało zakończone u Partnera, 9 - zamówienie dokończone (zamówienie opłacone i otrzymane przez klienta), 10 - zamówienie gotowe do odbioru
  • internal_id - big integer - wewnętrzny identyfikator sklepu partnerskiego, numer zamówienia ułatwi komunikację
Przykład
< ?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

Ustawia bieżący status zamówienia w sklepie partnerskim.

Metoda: 

PUT

Parametry:

  • order_id - integer - identyfikator zamówienia
  • status - integer - status płatności, 1 - zapłacono 1 niezapłacona
  • transport - array - jeżeli są dostępne informacje na temat wysyłanego transportu, tak tutaj są zapisane
    • tracking_url - string - URL, gdzie można śledzić przesyłkę
    • note - string - Uwaga do transportu

Odpoveď:

  • status - boolean - true jeśli nastawienie się powiodło, inaczej false

Przykład
< ?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

Wysyła fakturę elektroniczną do sklepu partnerskiego.

Metoda: 

POST - multipartdata

Parametry:

  • order_id - integer - identyfikator zamówienia
  • invoice - multipartdata - plik faktury w formacie PDF

Odpověď:

  • order_id - integer - identyfikator zamówienia
  • status - integer - status zamówienia (0 [A]zamówienie jest wysyłane (sklep wysłał zamówienie do klienta), 1 - zamówienie wysłane do sklepu, 2 - zamówienie zostało zrealizowane jedynie częściowo, 3 - zamówienie potwierdzone (zamówienie zostało przyjęte przez sklep, potwierdza, że jest przetwarzane), 4 - anulowane przez sklep (sklep anulował zamówienie), 5 - anulowane przez klienta (klient anulował zamówienie), 6 - storno - zamówienie nie zostało zapłacone (klient nie zapłacił za zamówienie), 7 - zwrócone w ciągu 14 dni (klient odesłał towar w ustawowym terminie 14 dni), 8 - zamówienie zostało zakończone u Partnera, 9 - zamówienie dokończone (zamówienie opłacone i otrzymane przez klienta), 10 - zamówienie gotowe do odbioru
  • internal_id - big integer - wewnętrzny identyfikator sklepu partnerskiego, numer zamówienia ułatwi komunikację


Przykład:
< ?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