Dokumentacja API Bagexpress - Foxer

API Foxer

API umożliwia wymianę danych pomiędzy bagexpress.pl a aplikacjami zewnętrznymi np.: sklepami internetowymi.
Wymiana danych opiera się na interfejsie JSON.
Na serwerze klienta wymagana jest biblioteka cURL.



Dostęp do API

Dostęp do API mają zarejestrowani użytkownicy bagexpress.pl z aktywnym kontem.



Wywoływanie metod API Foxer

Adres API: http://bagexpress.pl/api/call
Na podany wyżej adres, należy wysłać zapytanie metodą POST z parametrem „json” - który jest zakodowaną w formacie JSON tablicą z parametrami:


W odpowiedzi zostanie zwrócona zakodowana w JSON tablica asocjacyjna z polami:



Dostępne metody:

login

Metoda służy do uwierzytelnienia użytkownika.

Parametry wejściowe

  • $login login (email) do konta bagexpress.pl
  • $password hasło do konta bagexpress.pl

Parametry wyjściowe

    $result - tablica asocjacyjna, opis pól:
    • $result['status'] - 0-oznacza błąd, 1-sukces
    • $result['errors'] - tablica indeksowana z błędami, w przypadku status=1 tablica jest pusta
    • $result['session_id'] - ID sesji - parametr wejściowy wymagany przy wszystkich wywołaniach innych metod API



Przykład użycia

get.shippings

Metoda służy do pobrania dostępnych form wysyłki

Parametry wejściowe

  • $session_id - ID sesji zwrócony przez wcześniejsze wywyołanie metody login

Parametry wyjściowe

    $result - tablica asocjacyjna, opis pól:
    • $result['status'] - 0-oznacza błąd, 1-sukces
    • $result['errors'] - tablica indeksowana z błędami, w przypadku status=1 tablica jest pusta
    • $result['shippings'] - tablica asocjacyjna z opcjami transportu, opis pól tablicy:
      • $result['shippings'][id]['id'] - id sposobu dostawy
      • $result['shippings'][id]['name'] - nazwa
      • $result['shippings'][id]['dropshipping'] - dostępne tylko dla dropshipping 0/1
      • $result['shippings'][id]['cost'] - koszt w zł
      • $result['shippings'][id]['delivery_time'] - czas dostawy
      • $result['shippings'][id]['description'] - opis



Przykład użycia

order.send

Metoda służy do składania zamówień na bagexpress.pl
API Foxer przyjme zamówienie i zwróci ID zamówienia jeśli w zamawianych produktach jest przynajmniej jeden produkt dostępny w sprzedaży.
W przypadku gdy, oprócz dostępnych w sprzedaży produktów, w zamawianych produktach znajdzie się produkt (lub produkty) nie dostępny w sprzedaży, takie produkty zostaną pominięte przy składaniu zamówienia. Dlatego zalecamy aby po złożeniu zamówienia wywołać metodę order.check aby sprawdzić czy wszystkie produkty zostały zamówione.
Przy wysłaniu zamówienia z swojego sklepu (lub innej aplikacji) powinno się zadbać aby w zamawianych produktach znajdowały się produkty tylko z naszej hurtowni. Dotyczy to sytuacji gdy w zamówieniu klienta jest kilka pozycji od różnych dostawców.
Dopuszczalne jest aby wysłać zamówienie bez sprawdzania czy produkt pochodzi z bagexpress.pl, na własną odpowiedzialność. Takie produkty prawdopodobnie zostaną pominięte przez API Foxer, chyba że kod seryjny produktów od innego dostawcy będzie zbieżny z kodami z bagexpress.pl
Po złożeniu zamówienia przez API Foxer, zostaną rozesłane emaile z potwierdzeniem składanych zamówień, tak jak przy składaniu zamówień przez stronę www.

Parametry wejściowe

  • $session_id - ID sesji zwrócony przez wcześniejsze wywyołanie metody login
  • $arrOrderParams - tablica asocjacyjna z danymi zamówionia, opis pól:
    • -- SPOSÓB PRZESYŁKI --
    • $arrOrderParams ['shipping_id'] - wymagane, ID sposobu dostawy, użyj metody get.shippings aby pobrać ID dostępnych opcji wysyłki
    • -- DANE ODBIORCY PRZESYŁKI --
    • $arrOrderParams ['name'] - wymagane, imię i nazwisko odbiorcy
    • $arrOrderParams ['email'] - wymagane, email odbiorcy
    • $arrOrderParams ['phone'] - wymagane, nr tel odbiorcy
    • $arrOrderParams ['address'] - wymagane, adres odbiorcy
    • $arrOrderParams ['city'] - wymagane, miasto odbiorcy
    • $arrOrderParams ['zip'] - wymagane, kod pocztowy odbiorcy
    • $arrOrderParams ['country'] - wymagane, kraj odbiorcy
    • -- ZAMAWIANE PRODUKTY --
    • $arrOrderParams['products'] - wymagane, tablica asocjacyjna z produktami w zamówieniu, opis pól:
      • $arrOrderParams ['products'][index]['serial_number'] - wymagane, numer seryjny produkty zgodny z oznaczeniami bagexpress.pl index = 0,1...
      • $arrOrderParams ['products'][index]['quantity'] - wymagane, zamawiana ilość
    • -- DANE DO FAKTURY -- w przypadku pozostawienia pustych danych, dane zostaną pobrane z karty użytkownika z bagexpress.pl
    • $arrOrderParams ['company_name'] - opcjonalne, nazwa firmy
    • $arrOrderParams ['company_address'] - opcjonalne, adres firmy
    • $arrOrderParams ['company_city'] - opcjonalne, miasto firmy
    • $arrOrderParams ['company_zip'] - opcjonalne, kod pocztowy firmy
    • $arrOrderParams ['company_country'] - opcjonalne, państwo firmy
    • $arrOrderParams ['company_nip'] - opcjonalne, NIP firmy

Parametry wyjściowe

    $result - tablica asocjacyjna, opis pól:
    • $result['status'] - 0-oznacza błąd, 1-sukces
    • $result['errors'] - tablica indeksowana z błędami, w przypadku status=1 tablica jest pusta
    • $result['order_id'] - ID złożonego zamówienia



Przykład użycia

order.check

Metoda służy pobierania informacji o złożonym zamówieniu

Parametry wejściowe

  • $session_id - ID sesji zwrócony przez wcześniejsze wywyołanie metody login
  • $order_id - ID zamówienia do sprawdzenia

Parametry wyjściowe

    $result - tablica asocjacyjna, opis pól:
    • $result['status'] - 0-oznacza błąd, 1-sukces
    • $result['errors'] - tablica indeksowana z błędami, w przypadku status=1 tablica jest pusta
    • $result['order'] - tablica asocjacyjna z danymi zamówienia, opis pól:
      • -- STATUSY --
      • $arrOrderParams ['orders_status_id'] - ID statusu zamówienia
      • $arrOrderParams ['orders_status'] - nazwa statusu zamówienia
      • $arrOrderParams ['payment_status_id'] - ID statusu płatności
      • $arrOrderParams ['payment_status'] - nazwa statusu płatności
      • $arrOrderParams ['shipping_id'] - ID sposobu wysyłki
      • $arrOrderParams ['shipping'] - nazwa sposobu wysyłki
      • $arrOrderParams ['payment_id'] - ID sposobu płatności
      • $arrOrderParams ['payment'] - nazwa sposobu płatności
      • -- DANE ZAMÓWIENIA --
      • $arrOrderParams ['name'] - imię i nazwisko odbiorcy
      • $arrOrderParams ['email'] - email odbiorcy
      • $arrOrderParams ['phone'] - nr tel odbiorcy
      • $arrOrderParams ['address'] - adres odbiorcy
      • $arrOrderParams ['city'] - miasto odbiorcy
      • $arrOrderParams ['zip'] - kod pocztowy odbiorcy
      • $arrOrderParams ['country'] - kraj odbiorcy
      • $arrOrderParams ['note'] - uwagi
      • $arrOrderParams ['company_name'] - dane do faktury, nazwa
      • $arrOrderParams ['company_address'] - dane do faktury, adres
      • $arrOrderParams ['company_city'] - dane do faktury, miasto
      • $arrOrderParams ['company_zip'] - dane do faktury, kod pocztowy
      • $arrOrderParams ['company_country'] - dane do faktury, kraj
      • $arrOrderParams ['company_nip'] - dane do faktury, NIP
      • $arrOrderParams ['weight'] - waga paczki
      • $arrOrderParams ['total'] - suma zamówienia
      • $arrOrderParams ['total_shipping'] - koszt dostawy
      • $arrOrderParams ['total_products'] - suma wartości produktów w zamówieniu
      • $arrOrderParams ['total_products_retail'] - suma wartości produktów w zamówieniu liczona w cenach detalicznych
      • $arrOrderParams ['tracking_company'] - śledzenie paczki, nazwa firmy transportowej
      • $arrOrderParams ['tracking_code'] - śledzenie paczki, kod śledzenia
      • $arrOrderParams ['tracking_link'] - śledzenie paczki, link do śledzenia paczki
      • $arrOrderParams ['estimated_delivery_date'] - przypuszczalny czas dostawy paczki
      • $arrOrderParams ['created_at'] - data utoworzenia zamówienia
      • $arrOrderParams ['updated_at'] - data ostatniej modyfikacji zamówienia
      • -- ZAMÓWIONE PRODUKTY --
      • $arrOrderParams['products'] - tablica asocjacyjna z produktami w zamówieniu, opis pól:
        • $arrOrderParams ['products'][index]['serial_number'] - numer seryjny produktu
        • $arrOrderParams ['products'][index]['quantity'] - zamówiona ilość
        • $arrOrderParams ['products'][index]['price'] - cena jednostkowa, zgodna z pakietem hurtowym



Przykład użycia

Hurtownia torebek bagExpress © 2018. All rights reserved. | wykonanie BITS LAB

Projekt współfinansowany ze środków Europejskiego Funduszu Rozwoju Regionalnego w ramach Programu Operacyjnego Innowacyjna Gospodarka
Dotacje na innowacje – Inwestujemy w Waszą przyszłość
Tytuł projektu: Stworzenie i wdrożenie systemu B2B usprawniającego współpracę Nidea sp. z o.o. z partnerami w zakresie zamówień, obsługi należności i wymiany dokumentów.