Dokumentacja API
Lista metod
Testowanie wywołań


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:
  1. token - unikalny klucz API użytkownika
  2. method - nazwę wywoływanej metody API
  3. parameters - argumenty wywoływanej funkcji w formacie JSON

Przykład: https://api.baselinker.com/connector.php , POST: token=1-23-ASOIM234MFDSK534LDS &method=getOrders &parameters={"date_from": 1407341754}


Magazyn produktów
addCategoryMetoda umożliwia dodanie kategorii do magazynu BaseLinkera lub magazynu sklepu podłączonego do BaseLinkera. Ponowne dodanie kategorii z takim samym identyfikatorem, powoduje aktualizacje zapisanej wcześniej kategorii.
addProductMetoda umożliwia dodanie nowego produktu do magazynu BaseLinkera lub magazynu sklepu podłączonego do BaseLinkera. Podanie produktu wraz z ID, powoduje aktualizacje zapisanego wcześniej produktu.
addProductVariantMetoda umożliwia dodanie nowego wariantu do produktu w magazynie BaseLinkera lub magazynie sklepu podłączonego do BaseLinkera. Podanie wariantu wraz z ID, powoduje aktualizacje zapisanego wcześniej wariantu.
deleteCategoryMetoda umożliwia usunięcie kategorii z magazynu BaseLinkera lub magazynu sklepu podłączonego do 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.
deleteProductMetoda umożliwia usunięcie produktu z magazynu BaseLinkera lub magazynu sklepu podłączonego do BaseLinkera.
deleteProductVariantMetoda umożliwia usunięcie wariantu produktu z magazynu BaseLinkera lub magazynu sklepu podłączonego do BaseLinkera.
getCategoriesMetoda umożliwia pobranie listy kategorii magazynu BaseLinkera lub magazynu sklepu podłączonego do BaseLinkera.
getProductsDataMetoda umożliwia pobranie dokładnych danych wybranych produktów z magazynu BaseLinkera lub magazynu sklepu podłączonego do BaseLinkera.
getProductsListMetoda umożliwia pobranie dokładnych danych wybranych produktów z magazynu BaseLinkera lub magazynu sklepu podłączonego do BaseLinkera.
getStoragesListMetoda umożliwia pobranie listy dostępnych magazynów związanych z danym kontem BaseLinkera. Mogą to być magazyny wbudowane w BaseLinker lub magazyny podłączonych do konta sklepów internetowych.
updateProductsQuantityMetoda umożliwia masowe aktualizowanie stanów magazynowych produktów (i/lub ich wariantów). Maksymalnie po 1000 produktów jednocześnie.
updateProductsPricesMetoda umożliwia masowe aktualizowanie cen produktów (i/lub ich wariantów). Maksymalnie po 1000 produktów jednocześnie.


Zamówienia
getJournalListMetoda umożliwia pobieranie listy zdarzeń dotyczących zamówień. Jest to podstawowa metoda, która powinna być wykorzystywana przy większości integracji pobierających zamówienia z BaseLinkera. Informuje np. o pobraniu nowego zamówienia, otrzymaniu płatności, wystawieniu faktury itp. Aplikacje pobierające zamówienia z BaseLinkera powinny śledzić dziennik zwracany przez tę funkcję i pobierać szczegóły nowych danych odpowiednimi funkcjami (np. gdy w dzienniku znajduje się informacja o nowym zamówieniu, pobierać to zamówienie metodą getOrders). Dzięki temu rozwiązaniu unika się wielkorotnego pobierania tych samych danych (aby znaleźć ewentualne aktualizacje). Zawsze otrzymuje się wyłącznie nowe informacje.
addOrderMetoda umożliwia dodanie nowego zamówienia do managera zamówień BaseLinker.
getOrdersMetoda 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.
getOrdersByEmailMetoda 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).
getInvoicesMetoda 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.
getOrderStatusListMetoda umożliwia pobranie statusów zamówień stworzonych przez klienta w managerze zamówień BaseLinker.
getNewReceiptsMetoda umożliwia pobranie paragonów oczekujących na wystawienie.
setOrderFieldsMetoda 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.
setOrderPaymentMetoda umożliwia dodanie wpłaty do zamówienia.
setOrderStatusMetoda umożliwia zmianę statusu zamówienia.
setOrderReceiptMetoda umożliwia oznaczanie zamówień z wystawionym paragonem.


Przesyłki kurierskie
createPackageMetoda umożliwia tworzenie przesyłki w systemie wybranego kuriera.
createPackageManualMetoda umożliwia wprowadzenie numeru paczki i nazwy kuriera do zamówienia (funkcja wykorzystana tylko do wprowadzania paczek utworzonych poza BaseLinkerem).
getCouriersListMetoda umożliwia pobranie listy dostępnych kurierów.
getCourierFieldsMetoda umożliwia pobranie pól formularza do nadawania paczek dla wybranego kuriera.
getCourierServicesMetoda umożliwia pobranie dodatkowych usług kurierskich, które zależne są od innych ustawień paczki. 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 paczki (format jak w createPackage) aby otrzymać spis dodatkowych usług.
getCourierAccountsMetoda umożliwia pobranie listy kont podłączonych u danego kuriera.
getLabelMetoda umożliwia pobranie etykiety (listu przewozowego) dla wybranej paczki.
getOrderPackagesMetoda umożliwia pobranie wcześniej stworzonych paczek dla wybranego zamówienia.
getCourierPackagesStatusHistoryMetoda umożliwia pobranie historii listy statusów danych paczek.