Dokumentacja Web API ver. 2


Wprowadzenie

Web API jest interfejsem programistycznym do serwisu apaczka.pl. Umożliwia integrację zewnętrznych systemów w celu wysyłania przesyłek za pośrednictwem operatora logistycznego apaczka.pl, bez konieczności logowania się na stronie www serwisu.

Zachęcamy również do zapoznania się z dokumentacją do integracji mapy punków odbioru na własnej stronie internetowej: Dokumentacja API v2 Mapa.

Włączenie Web API

Do korzystania z apaczka Web API klient musi mieć podpisaną umowę z apaczka.pl oraz posiadać konto w serwisie. W celu włączenia Web API należy skontaktować się z Centrum Wsparcia i Edukacji Klienta lub skontaktować się w opiekunem handlowym. Aktualne dane kontaktowe znajdują się w zakładce kontakt.

Jeśli mają Państwo włączone Web API to w menu po lewej stronie serwisu znajduje się zakładka Web API. Następnie należy w niej dodać aplikację podając jej nazwę. System wygeneruje unikalne App ID oraz App Secret, które należy podać w swojej integracji. Możliwe jest dodanie wielu aplikacji do obsługi różnych integracji.

Request

Wszystkie dane należy kierować na odpowiedni endpoint na adres Web API:

https://www.apaczka.pl/api/v2/

Lista endpoint`ów znajduje się w dokumentacji niżej. Każdy request powinien zawierać zestaw danych przesyłanych jako POST. Request powinien wyglądać w następujący sposób:

  • app_id - identyfikator uzyskany po założeniu aplikacji w zakładce Web Api.
  • request - zestaw wymaganych danych zapisanych w strukturze JSON. Dane są opisane przy każdym endpoint.
  • expires - timestamp do kiedy ważny jest request. Timestamp musi być większy niż obecny. Maksymalna ważność request`u to 30 minut.
  • signature - podpis zestawu danych. Sposób generowania tego klucza została opisana poniżej.

Po wysłaniu danych otrzymuje się informacje zwrotną - Response.

Autoryzacja - Signature

Wszystkie przesyłane dane muszą zawierać signature wygenerowany na podstawie przesyłanych danych. Signature musi być wygenerowana na podstawie App ID, nazwy endpoint`u, danych w request oraz daty wygaśnięcia ważności request`u używając metody HMAC, z wykorzystaniem algorytmu SHA256, podając jako klucz App Secret. Przykładowy kod do generowania signature w PHP:

Response

Każdy Request zwraca response w strukturze JSON. Przykładowy response wygląda tak:

  • status - w tej chwili Web Api zwraca dwa statusy: 200 w momencie kiedy odpowiedź jest poprawna oraz 400 w momencie wystąpienia błędu.
  • message - informacja dot. request`u. Najczęściej występuje w przypadku błędu.
  • response - zwracane dane. Opis zwracanych danych został opisany dla każdego endpoint`u.

Endpoints

Poniżej znajduje się lista endpoint`ów do wykorzystania w request`ach do Web Api apaczka.pl. To co jest opisane jako Request w endpoint`ach to przykładowe dane, które należy wysłać w polu "request".

Lista zamówień

https://www.apaczka.pl/api/v2/orders/

Endpoint wykorzystywany do pobierania listy ostatnich zamówień. Należy podać limit oraz stronę, którą chce się pobrać. Domyślnie jest zwracana pierwsza strona z 10 wynikami. Maksymalny limit zamówień na stronę jest równy 25.

Request
Response

W przypadku braku zamówień response zwróci również status 200.

Szczegóły zamówienia

https://www.apaczka.pl/api/v2/order/:order_id/

Endpoint wykorzystywany do pobierania szczegółów zamówienia. Należy podać numer zamówienia :order_id powiązany ze swoim kontem. :order_id jest numerem zamówienia a nie numerem listu przewozowego.

Request
Response

List przewozowy

https://www.apaczka.pl/api/v2/waybill/:order_id/

Endpoint wykorzystywany do pobierania etykiety do zamówienia. Należy podać numer zamówienia :order_id powiązany ze swoim kontem. :order_id jest numerem zamówienia a nie numerem listu przewozowego. List przewozowy jest zakodowany w base64.

Request
Response

Zbiorcze potwierdzenie nadań

https://www.apaczka.pl/api/v2/turn_in/

Endpoint wykorzystywany do pobierania Zbiorczego Potwierdzenia Nadań. Należy podać tablicę :order_id powiązany ze swoim kontem. :order_id jest numerem zamówienia a nie numerem listu przewozowego. Zbiorczego Potwierdzenia Nadań jest zwracane w formacie pdf zakodowany w base64.

Request
Response

Godziny odbioru

https://www.apaczka.pl/api/v2/pickup_hours/

Endpoint służący do pobierania godzin odbioru przesyłek przez przewoźników. Należy podać kod pocztowy. Opcjonalne jest podanie id serwisu przez który chcemy nadać przesyłkę. Zwracane są dane na dzień pobierania godzin i następne trzy dni robocze oraz usunięcie indeksu z daty przy podawaniu godzinek.

Prosimy o niepobieranie tych informacji częściej niż raz na 30m.

Request
Response

Wycena zamówienia

https://www.apaczka.pl/api/v2/order_valuation/

Wycena zamówienia na podstawie przesłanych danych w strukturze order. Endpoint zwraca wycenę dla wszystkich zamówień, które są wstanie zrealizować przesyłkę o zadanych parametrach. Jeśli zostanie podany serwis id to zostanie zwrócona wycena dla tego serwisu. Kwoty są podane w groszach.

Request
Response

Wysłanie zamówienia

https://www.apaczka.pl/api/v2/order_send/

Złożenie zamówienia na podstawie przesłanych danych w strukturze order. Parametr is_zebra jest opcjonalny. W przypadku jego nie podania etykieta będzie wygenerowana zgodnie z ustawieniami konta. W przypadku sukcesu endpoint zwraca informacje podstawowe zamówienia.

Request
Response

Anulowanie zamówienia

https://www.apaczka.pl/api/v2/cancel_order/:order_id/

Endpoint wykorzystywany do anulowania zamówienia. Należy podać numer zamówienia ':order_id' powiązany ze swoim kontem. ':order_id' nie jest numerem listu przewozowego.

Request
Response

Struktura serwisów

https://www.apaczka.pl/api/v2/service_structure/

Informacje na temat struktury serwisu.

Prosimy o niepobieranie tych informacji częściej niż raz na 24h.

Request
Response

Lista punktów nadań

https://www.apaczka.pl/api/v2/points/:type

Endpoint zwraca informacje na temat punktów nadań dla :type podany w service_structure w points_type.

Prosimy o niepobieranie tych informacji częściej niż raz na 24h.

Request
Response

Struktury

Poniżej znajduje się lista struktury wykorzystywanych w request`ach do Web Api apaczka.pl.

order

Struktura jaka powinna zostać wysłana do Web Serwisu gdzie wymagane są dane dotyczące zamówienia:

API SDK

Ostatnia aktualizacja 14.05.2019

Zachęcamy do skorzystania z naszego SDK w celu przeprowadzenia integracji z serwisem apaczka.pl. SDK można pobrać z tego linku.

Changelog

1.1.1 - 2022-07-29
  • Dodanie do '/service_structure' response informacji o braku/możliwości/konieczności zamówienia kuriera ('pickup_courier'), w szczegółach serwisu
1.1.0 - 2022-05-19
  • Dodanie struktury odprawy celnej dla metody '/order_send'
  • Dodanie informacji o punkcie na temat pobrania oraz możliwości nadania i odbioru do '/points/:type' response
1.0.1 - 2022-02-10
  • Dodanie 'type' do '/waybill' response
1.0.0 - 2019-09-25
  • Dodanie notyfikacji dla przesyłki
  • Poprawki dot. obsługi etykiet