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.
Przykład:
Metoda:
GETParametry:
- 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.
Przykład:
Metoda:
PUTParametry:
- 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:
GETParametry:
- 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ę
< ?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.
Przykład
Metoda:
PUTParametry:
- 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.
Przykład:
Metoda:
POST - multipartdataParametry:
- 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}
