1. Strona główna
  2. Dokumentacja
  3. REST API xSale
  4. Przykłady wykorzystania R...
  5. Dodanie zamówienia z własnego sklepu lub marketplace

Dodanie zamówienia z własnego sklepu lub marketplace

Dzięki zasobom REST API możesz wprowadzać do xSale zamówienia z dedykowanych platform e-commerce oraz marketplace, niedostępnych w katalogu integracji xSale. Zakres danych w  zamówieniu wprowadzanym z własnego systemu sprzedażowego obejmuje kilka obszarów. Ten poradnik opisuje dodawanie do xSale zamówień i płatności. Omawia także zasoby, których należy użyć, aby uzupełnić szczegółowe informacje o dostawie i przesyłce oraz dane kontrahenta powiązanego z zamówieniem. Zdecyduj, jakie dane chcesz importować do xSale i skorzystaj z poniższych instrukcji, aby przesłać zamówienie.

1. Wprowadzenie zamówienia do xSale

Aby dodać zamówienie do xSale, użyj zasobu:

POST /{organizationName}/orders

Wymagane pola

Poniższa lista prezentuje pola wymagane do utworzenia zamówienia. Jest to minimalny zakres danych, niezbędny do przesłania w zapytaniu, aby xSale mógł utworzyć zamówienie.

Dane o integracji i płatności:

  • ID integracjiIntegrationId – wskazuje źródło, z którego  pochodzi zamówienie. Sprawdź tutaj, jak dodać integrację REST API.
  • ID formy płatnościPaymentFormId
  • data zamówieniaPurchaseDate  – np. 2024-10-25

Dane kontrahenta:

  • ID nabywcyBuyerId
  • ID odbiorcyRecipientId
  • ID płatnikaPayerId

Dodając zamówienie możesz wyszukać wśród kontrahentów istniejących w bazie xSale twojej firmy (np. po adresie e-mail lub numerze NIP) i użyć ID odnalezionego kontrahenta lub stworzyć nowego kontrahenta. Więcej informacji o danych kontrahenta znajdziesz w dalszej części wpisu.

Zamówione produkty:

  • ID ofertyOfferId
  • ID wariantuVariantId
  • ilośćQuantity
  • cena nettoPriceNet – cena netto za jednostkę towaru
  • cena bruttoPriceGross – cena brutto za jednostkę towaru

Wymagane jest przesłanie wartości przynajmniej w jednym z pól – PriceNet lub PriceGross. Natomiast domyślne mechanizmy w xSale działają w oparciu o cenę brutto, dlatego rekomendujemy wprowadzanie ceny brutto.

Dodatkowe informacje

Opcjonalnie możesz przesłać dodatkowe dane, które ułatwią obsługę zamówienia w xSale i/lub umożliwią prawidłowe działanie dalszych akcji i procesów. Wśród tych akcji znajduje się szereg automatyzacji związanych m. in. z przekazywaniem zamówienia do systemu ERP, tworzeniem przesyłki i drukowaniem listu przewozowego, wystawianiem faktur oraz wysyłaniem do klienta maili z aktualizacjami statusu realizacji zamówienia.

Status i identyfikacja zamówienia

  • numer obcyForeignId – np. ID zamówienia ze sklepu lub marketplace
  • ID statusuStatusId – dla nowych zamówień rekomendujemy użycie statusu Nowe (ID: 3), który domyślnie wyzwala automatyzacje działające np. w integracjach z systemami ERP

Informacje o dostawie i przesyłce

  • ID sposobu dostawyDeliveryMethodId
  • liczba paczekNumberOfPackages
  • punkt dostawyPointOfDelivery – np. numer Paczkomatu InPost – (KRA197M)

Zarządzanie sposobami dostawy odbywa się z wykorzystaniem zasobu DeliveryMethod. Aby pobrać listę dostępnych sposobów dostawy odpytaj endpoint:

GET /{organizationName}/delivery-method

Adres odbiorcy, nabywcy i płatnika

Powiązanie kontrahenta z zamówieniem odbywa się poprzez ID odbiorcy, nabywcy i płatnika. Jeśli jednak nie zamierzasz wyszukiwać kontrahenta w bazie xSale, prześlij w danych zamówienia dane adresowe, uzupełniając odpowiednie sekcje:

  • adres kupującegoBuyerAddress
  • adres odbiorcyRecipientAddress – dane do wysyłki
  • adres płatnikaPayerAddress

Zestaw pól, które możesz uzupełnić, wygląda następująco:

  • nazwaName, np. imię lub nazwa firmy
  • nazwa 2Name2, np. nazwisko
  • nazwa 3Name3
  • NIPTaxNumber
  • numer telefonuPhone – użyj tego pola, aby podać numer do przekazania kurierowi
  • numer telefonu komórkowegoMobilePhone
  • e-mailEmail
  • miastoCity
  • ulicaStreet
  • numer budynku / lokaluStreetNumber
  • kod pocztowyZipCode
  • krajCountry
  • notatkiNotes

Pozostałe informacje

  • ID walutyCurrencyId
  • dokument liczony od bruttoIsVatTypeGross – domyślna i rekomendowana wartość to false
  • rodzaj dokumentuInvoiceTypeId – 1 – faktura, 2 – paragon
  • uwagi klientaComments
Po poprawnym utworzeniu zamówienia aplikacja zwróci jego dane - ID i FGUID oraz status 201.

2. Dodawanie płatności za zamówienie

Ze względu na szerokie funkcjonalności w obszarze eksportu danych o płatnościach do zintegrowanych z xSale systemów ERP, płatności stanowią odrębny zasób. Dodając płatność możesz powiązać ją z zamówieniem, dlatego jest to operacja, którą należy wykonać chronologicznie później – wymagane jest podanie ID zamówienia. Prześlij zapytanie na endpoint:

POST /{organizationName}/payment

Wprowadź wymagane dane:

  • ID kontrahenta CustomerId
  • wartośćAmount
  • ID walutyCurrencyId
  • ID integracjiIntegrationId
  • rodzaj płatnościTypeId – 5 – wpłata, 6 – wypłata
  • dataDate – np. 2024-10-25
  • ID statusu płatnościStatusId

Dodatkowo endpoint przyjmuje poniższe dane:

  • ID zamówieniaOrderId
  • rejestrRegister – np. Allegro
  • operacjaOperation – np. KP
  • uwagiComments
  • data importu pliku zamówieńImportKPFileDate – np. 2024-08-29T07:56:55.356Z

Zmianę statusu płatności i aktualizację jej wartości wykonasz komunikując się z API przez endpoint:

PUT /{organizationName}/payment{id}