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}