Wprowadzenie
API umożliwia wymianę informacji pomiędzy zewnętrznym systemem a BaseLinkerem.Do komunikacji wykorzystywane są dane w formacie JSON. Aby wykonać zapytanie do API, należy wysłać odpowiednie żądanie POST na adres:
https://api.baselinker.com/connector.php
Do wywołania każdej metody niezbędny jest token. Token jest przypisany bezpośrenio do konta użytkownika BaseLinkera. Użytkownik może wygenerować token API w panelu BaseLinker w dziale "Konto/inne -> Moje konto -> API".
Do pliku connector.php należy przesłać 3 wartości przez POST:
- token - unikalny klucz API użytkownika
- method - nazwę wywoływanej metody API
- parameters - argumenty wywoływanej funkcji w formacie JSON
Przykład: https://api.baselinker.com/connector.php , POST: token=1-23-ASOIM234MFDSK534LDS &method=getOrders ¶meters={"date_from": 1407341754}
Ostatnie zmiany
Ostatnia aktualizacja API miała miejsce 2020-11-18.
Magazyn produktów
W przypadku odwołań do magazynów zewnętrznych (shop_*, warehouse_*) ze względu na różne wydajności magazynów zewnętrznych, różne metody ich integracji oraz ich specyficzne wymagania, standard odpowiedzi może różnić się od opisanego w dokumentacji.
getStoragesList | Metoda umożliwia pobranie listy dostępnych magazynów, do których można odwoływać się przez API. |
addCategory | Metoda umożliwia dodanie kategorii do magazynu BaseLinkera. Ponowne dodanie kategorii z takim samym identyfikatorem, powoduje aktualizacje zapisanej wcześniej kategorii. |
addProduct | Metoda umożliwia dodanie nowego produktu do magazynu BaseLinkera. Podanie produktu wraz z ID, powoduje aktualizacje zapisanego wcześniej produktu. |
addProductVariant | Metoda umożliwia dodanie nowego wariantu do produktu w magazynie BaseLinkera. Podanie wariantu wraz z ID, powoduje aktualizacje zapisanego wcześniej wariantu. |
deleteCategory | Metoda umożliwia usunięcie kategorii z magazynu BaseLinkera. Razem z kategorią usuwane są zawarte w niej produkty (nie dotyczy to jednak produktów w podkategoriach). Kategorie podrzędne zostaną zmienione na kategorie najwyższego rzędu. |
deleteProduct | Metoda umożliwia usunięcie produktu z magazynu BaseLinkera. |
deleteProductVariant | Metoda umożliwia usunięcie wariantu produktu z magazynu BaseLinkera. |
getCategories | Metoda umożliwia pobranie listy kategorii magazynu BaseLinkera lub magazynu sklepu podłączonego do BaseLinkera. |
getProductsData | Metoda umożliwia pobranie dokładnych danych wybranych produktów z magazynu BaseLinkera lub magazynu sklepu/hurtowni podłączonych do BaseLinkera. |
getProductsList | Metoda umożliwia pobranie dokładnych danych wybranych produktów z magazynu BaseLinkera lub magazynu sklepu/hurtowni podłączonych do BaseLinkera. |
getProductsQuantity | Metoda umożliwia pobranie stanów magazynowych z magazynu BaseLinkera lub magazynu sklepu/hurtowni podłączonych do BaseLinkera. |
getProductsPrices | Metoda umożliwia pobranie cen produktów z magazynu BaseLinkera lub magazynu sklepu/hurtowni podłączonych do BaseLinkera. |
updateProductsQuantity | Metoda umożliwia masowe aktualizowanie stanów magazynowych produktów (i/lub ich wariantów) w magazynie BaseLinkera lub magazynie sklepu/hurtowni podłączonych do BaseLinkera. Maksymalnie po 1000 produktów jednocześnie. |
updateProductsPrices | Metoda umożliwia masowe aktualizowanie cen produktów (i/lub ich wariantów) w magazynie BaseLinkera. Maksymalnie po 1000 produktów jednocześnie. |
Zamówienia
getJournalList | Metoda umożliwia pobieranie listy zdarzeń w zamówieniach. |
addOrder | Metoda umożliwia dodanie nowego zamówienia do managera zamówień BaseLinker. |
getOrders | Metoda umożliwia pobranie zamówień od określonej daty z managera zamówień BaseLinker. Listę zamówień można ograniczyć przy użyciu filtrów opisanych w parametrach metody. Maksymalnie zwracane jest 100 zamówień jednocześnie. Zalecane jest pobieranie tylko potwierdzonych zamówień (get_unconfirmed_orders = false). Niepotwierdzone zamówienia mogą być niepełne. Użytkownik może być np. w trakcie tworzenia zamówienia - istnieje ono już w bazie, jednak nie ma uzupełnionych wszystkich informacji. Niepotwierdzone zamówienia mogą zawierać tylko częściową listę produktów i mogą zostać wkrótce zmienione. Zamówienia potwierdzone najczęściej nie ulegają już zmianie i mogą być bezpiecznie pobrane do zewnętrznego systemu. Optymalny sposób pobierania bieżących zamówień to: Pobranie identyfikatorów nowych zamówień metodą getJournalList. Lub, przy wykorzystaniu tej metody: 1. Ustalenie początkowej daty i podanie jej w polu date_confirmed_from 2. Przetworzenie wszystkich odebranych zamówień. Jeśli odebrano 100 zamówień, oznacza to, że do pobrania może być ich jeszcze więcej. 3. Pobranie kolejnej paczki zamówień, podając w polu date_confirmed_from wartość z date_confirmed ostatnio pobranego zamówienia. Operacja powtarzana aż do otrzymania paczki z ilością zamówień mniejszą niż 100 (oznacza to że nie ma więcej zamówień do pobrania). 4. Zapisanie date_confirmed ostatnio przetworzonego zamówienia. Kolejne pobranie zamówień można wykonać od tej daty, aby nie pobierać dwukrotnie tych samych zamówień. Nie ma możliwości aby jakieś zamówienie 'wskoczyło' do bazy z wcześniejszą datą potwierdzenia. Tym sposobem ma się pewność, że pobrane zostały wszystkie potwierdzone zamówienia. |
getOrdersByEmail | Metoda umożliwia wyszukanie zamówień związanych z podanym adresem e-mail. Funkcja przeznaczona do wykorzystania we wtyczkach do klientów poczty (programach typu thunderbird, outlook). |
getOrdersByPhone | Metoda umożliwia wyszukanie zamówień związanych z podanym numerem telefonu. Funkcja przeznaczona do wykorzystania w programach do rozpoznawania dzwoniącego. |
addInvoice | (NOWA) Metoda umożliwia wystawienie faktury do zamówienia. |
getInvoices | Metoda umożliwia pobranie wystawionych faktur z managera zamówień BaseLinker. Listę faktur można ograniczyć przy użyciu filtrów opisanych w parametrach metody. Maksymalnie zwracane jest 100 faktur jednocześnie. |
getSeries | (NOWA) Metoda umożliwia pobranie serii numeracji faktury/paragonu. |
getOrderStatusList | Metoda umożliwia pobranie statusów zamówień stworzonych przez klienta w managerze zamówień BaseLinker. |
getOrderPaymentsHistory | Metoda umożliwia pobranie historii płatności dla wybranego zamówienia, w tym zewnętrznego identyfikatora płatności z bramki płatniczej. Jedno zamówienie może mieć wiele wpisów w historii płatności, spowodowanych przez dopłaty, zmiany wartości zamówienia, ręczną edycję płatności. |
getNewReceipts | Metoda umożliwia pobranie paragonów oczekujących na wystawienie. Metoda ta powinna być wykorzystywana przy tworzeniu integracji z drukarką fiskalną. Co np. 10 sekund metodę odpytywać można o nowe paragony. Jeśli jakieś paragony pojawią się w odpowiedzi, po wydrukowaniu należy potwierdzić je metodą setOrderReceipt, aby zniknęły z listy oczekujących. |
getReceipt | (NOWA) Metoda umożliwia pobranie pojedynczego paragonu z managera zamówień BaseLinker. Do pobierania listy nowych paragonów (przy integracji drukarki fiskalnej), należy wykorzystać metodę getNewReceipts. |
setOrderFields | Metoda umożliwia edycję wybranych pól (np. danych adresowych, notatek itp.) konkretnego zamówienia. Należy podać wyłącznie te pola, które chce się edytować, pozostałe pola mogą zostać pominięte w zapytaniu. |
addOrderProduct | Metoda umożliwia dodanie nowego produktu do zamówienia. |
setOrderProductFields | Metoda umożliwia edycję danych wybranych pozycji (np. ceny, ilości sztuk itp.) konkretnego zamówienia. Należy podać wyłącznie te pola, które chce się edytować, pozostałe pola mogą zostać pominięte w zapytaniu. |
deleteOrderProduct | Metoda umożliwia usunięcie konkretnego produktu z zamówienia. |
setOrderPayment | Metoda umożliwia dodanie wpłaty do zamówienia. |
setOrderStatus | Metoda umożliwia zmianę statusu zamówienia. |
setOrderReceipt | Metoda umożliwia oznaczanie zamówień z wystawionym paragonem. |
addOrderInvoiceFile | (NOWA) Metoda umożliwia dodanie zewnętrznego pliku PDF do faktury wystawionej wcześniej z poziomu BaseLinkera. Pozwala to na podmianę standardowej faktury z BaseLinkera na fakturę wystawioną np. w programie ERP. |
Przesyłki kurierskie
createPackage | Metoda umożliwia tworzenie przesyłki w systemie wybranego kuriera. |
createPackageManual | Metoda umożliwia wprowadzenie numeru przesyłki i nazwy kuriera do zamówienia (funkcja wykorzystana tylko do wprowadzania przesyłek utworzonych poza BaseLinkerem). |
getCouriersList | Metoda umożliwia pobranie listy dostępnych kurierów. |
getCourierFields | Metoda umożliwia pobranie pól formularza do nadawania przesyłek dla wybranego kuriera. |
getCourierServices | Metoda umożliwia pobranie dodatkowych usług kurierskich, które zależne są od innych ustawień przesyłki. Stosowane wyłącznie przy kurierach X-press oraz BrokerSystem. Nie dotyczy pozostałych kurierów, u których formularze mają stałe opcje. Do metody należy przesłać szczegóły przesyłki (format jak w createPackage) aby otrzymać spis dodatkowych usług. |
getCourierAccounts | Metoda umożliwia pobranie listy kont podłączonych u danego kuriera. |
getLabel | Metoda umożliwia pobranie etykiety (listu przewozowego) dla wybranej przesyłki. |
getOrderPackages | Metoda umożliwia pobranie wcześniej stworzonych przesyłek dla wybranego zamówienia. |
getCourierPackagesStatusHistory | Metoda umożliwia pobranie historii listy statusów danych przesyłek. Maksymalnie po 100 przesyłek jednocześnie. |
deleteCourierPackage | (NOWA) Metoda umożliwia usunięcie wcześniej utworzonej przesyłki. Metoda usuwa przesyłki z systemu BaseLinkera oraz z systemu kuriera, jeżeli API kuriera daje taką możliwość |