Jak zwiększyć sprzedaż w okresie świątecznym z Kauflandem i Apilo? Zapisz się na darmowy webinar!

Apilo

[API] Zamówienia – pobieranie listy, szczegółów. Tworzenie zamówień

Połączenie z Shoper Połączenie z kontem Allegro Połączenie z Erli.pl Połączenie z kontem eBay Połączenie z kontem Amazon Połączenie z Empik Połączenie z Decathlon Połączenie z OLX Połączenie z Morele Marketplace Połączenie z Ceneo.pl Lista programów magazynowo – księgowych, które podłączysz pod Apilo Połączenie z Kaufland DE / PL / CZ / SK Połączenie z Shopify Połączenie z Etsy.com Połączenie z InPost Fresh Połączenie z IdoSell Połączenie z Prestashop Połączenie z WooCommerce Połączenie z ShopGold Połączenie z eMag Połączenie z RedCart Połączenie z Labelcall Połączenie z Magento Połączenie z kurierem Inpost Wysyłam z Allegro, Allegro Smart, Allegro One Połączenie z kurierem Rohling Suus Połączenie z kurierem DPD Połączenie z kurierem GLS Połączenie z kurierem UPS Połączenie z kurierem DHL Polska Połączenie z kurierem Poczta Polska Połączenie z Orlen Paczka Połączenie z Eurohermes Połączenie z kurierem Raben Połączenie z kurierem DPD (Niemcy) Połączenie z kurierem DHL (Niemcy) Połączenie z brokerem Erli.pl Połączenie z brokerem Furgonetka.pl Połączenie z brokerem Apaczka Połączenie z brokerem BliskaPaczka Lista wszystkich kurierów i brokerów, których podłączysz pod Apilo Magazyn Apilo – na podstawie zewnętrznego programu magazynowo – księgowego typu ERP Połączenie z wFirma.pl – faktury i paragony Połączenie z FakturaXL – faktury Połączenie z Fakturownia.pl – faktury i paragony Połączenie z inFakt Połączenie z Shoper Faktury i Magazyn Połączenie z iFirma.pl Połączenie z Subiekt GT – łącznik Sellintegro Połączenie z Subiekt GT/Nexo/Nexo Pro – łącznik integratory.pl Paragony – podłączenie drukarki fiskalnej Obsługa zamówień z wykorzystaniem skanera kodów kreskowych Kody kreskowe EAN – Skaner kodów kreskowych Etykiety – Podłączenie etykieciarki i drukowanie etykiet prosto na drukarkę (PrintNode)

Endpoint

Aby wykonywać działania na zamówieniach skorzystaj z endpointu

GET /rest/api/orders/

Pobieranie listy zamówień

Zaleca się używanie filtra orderedAfter oraz isOrderDocument przy pobieraniu listy zamówień.

Filtr orderedAfter pozwala na ograniczenie wyników do zamówień złożonych po określonej dacie, co może znacznie poprawić wydajność i szybkość odpowiedzi API.

Filtr isOrderDocument umożliwia filtrowanie zamówień, które posiadają dokument sprzedaży, co jest przydatne w kontekście specyficznych operacji na tych dokumentach.

Przykład:

GET /rest/api/orders/?isOrderDocument=1&orderedAfter=2024-01-01T19%3A55%3A12%2B01%3A00

Pobieranie szczegółów zamówienia

Aby uzyskać szczegóły zamówienia, użyj endpointu get_rest_order_documents_detail.

Upewnij się, że przekazujesz odpowiednie identyfikatory zamówienia, aby otrzymać pełne i dokładne informacje na temat konkretnego zamówienia.

Podstawowe informacje o zamówieniu uzyskasz również przez podanie id w filtrach dla endpointu
GET /rest/api/orders/

W celu wyświetlenia szczegółów zamówienia prosimy o korzystanie z endpointu
GET /rest/api/orders/{id}/

Przykład:

JSON
GET /rest/api/orders/?id=MA240100001
GET /rest/api/orders/MA240100001

 

Tworzenie nowego zamówienia

Dla utworzenia zamówienia użyj endpointu
POST /rest/api/orders

W trakcie tworzenia zamówienia istnieje możliwość podania numeru zamówienia z systemu zewnętrznego. Ważne jest, aby wspomnieć, że ten numer będzie widoczny w dokumentach powiązanych, co ułatwi śledzenie i zarządzanie zamówieniami w przyszłości.

Przykład:

POST /rest/api/orders + JSON RequestBody

 

 

Aktualizacja listy zamówień

Po utworzeniu nowego zamówienia za pomocą endpointu „`POST /rest/api/orders/„`, konieczne jest zaktualizowanie listy zamówień, aby odzwierciedlić zmiany i uniknąć duplikatów. Oto kroki, które należy podjąć:

  1. Pobranie aktualnej listy zamówień:

    Użyj endpointu
    GET /rest/api/orders/ z odpowiednimi filtrami, takimi jak orderedAfter i isOrderDocument, aby pobrać najnowszą listę zamówień.

    Przykład zapytania: http
    GET /rest/api/orders?orderedAfter=2024-09-01T00:00:00Z&isOrderDocument=true

  2. Sprawdzenie nowo utworzonego zamówienia:

    Po utworzeniu zamówienia za pomocą POST /rest/api/orders/, numer zamówienia w systemie integratora powinien być widoczny w odpowiedzi.

    Przykład zapytania: JSON

    POST /rest/api/orders/?id=MA240100001
    Content-Type: application/json
    {
    "orders": [
    {
    "idExternal": "123321123",
    "isInvoice": false,
    "originalCurrency": "CZK",
    "isEncrypted": false,
    "createdAt": "2024-01-31T10:05:07+0100",
    "updatedAt": "2024-06-17T10:07:23+0200",
    "orderItems": [
    {
    "id": 16,
    "idExternal": null,
    "ean": "978020137962",
    "sku": "123213",
    "originalName": "test produkt",
    "originalCode": null,
    "originalPriceWithTax": "123.00",
    "originalPriceWithoutTax": "100.00",
    "media": null,
    "quantity": 1,
    "tax": "23.00",
    "status": 1,
    "unit": "t",
    "type": 1
    },
    
    {
    "id": 17,
    "idExternal": null,
    "ean": null,
    "sku": null,
    "originalName": "ManualCarrier",
    "originalCode": "1",
    "originalPriceWithTax": "0.00",
    "originalPriceWithoutTax": "0.00",
    "media": null,
    "quantity": 1,
    "tax": null,
    "status": 1,
    "unit": null,
    "type": 2
    }
    ],
    
    "addressCustomer": {
    "name": "te",
    "phone": "13123123",
    "email": "t@t.com",
    "id": 41,
    "streetName": null,
    "streetNumber": null,
    "city": null,
    "zipCode": null,
    "country": null,
    "department": null,
    "class": "customer"
    },
    "isCanceledByBuyer": null,
    "id": "MA240100001",
    "status": 5
    }
    ],
    
    "totalCount": 1,
    "currentOffset": 0,
    "pageResultCount": 1
    }
  3. Aktualizacja lokalnej listy zamówień

    Po otrzymaniu odpowiedzi z numerem zamówienia, zaktualizuj lokalną listę zamówień, aby uwzględnić nowe zamówienie.

    Przykład odpowiedzi: JSON

    GET /rest/api/orders/?id=MA240100001
    {
    "orders": [
    {
    "idExternal": "123321123",
    "isInvoice": false,
    "originalCurrency": "CZK",
    "isEncrypted": false,
    "createdAt": "2024-01-31T10:05:07+0100",
    "updatedAt": "2024-06-17T10:07:23+0200",
    "orderItems": [
    {
    "id": 16,
    "idExternal": null,
    "ean": "978020137962",
    "sku": "123213",
    "originalName": "test produkt",
    "originalCode": null,
    "originalPriceWithTax": "123.00",
    "originalPriceWithoutTax": "100.00",
    "media": null,
    "quantity": 1,
    "tax": "23.00",
    "status": 1,
    "unit": "t",
    "type": 1
    },
    {
    "id": 17,
    "idExternal": null,
    "ean": null,
    "sku": null,
    "originalName": "ManualCarrier",
    "originalCode": "1",
    "originalPriceWithTax": "0.00",
    "originalPriceWithoutTax": "0.00",
    "media": null,
    "quantity": 1,
    "tax": null,
    "status": 1,
    "unit": null,
    "type": 2
    }
    ],
    "addressCustomer": {
    "name": "te",
    "phone": "13123123",
    "email": "t@t.com",
    "id": 41,
    "streetName": null,
    "streetNumber": null,
    "city": null,
    "zipCode": null,
    "country": null,
    "department": null,
    "class": "customer"
    },
    "isCanceledByBuyer": null,
    "id": "MA240100001",
    "status": 5
    }
    ],
    "totalCount": 1,
    "currentOffset": 0,
    "pageResultCount": 1
    }
  4. Wykluczenie nowego zamówienia z kolejnych zapytań:

    Podczas kolejnych zapytań do endpointu GET /rest/api/orders, upewnij się, że nowe zamówienie nie jest już uwzględniane w wynikach. Można to osiągnąć poprzez odpowiednie filtrowanie, np. za pomocą orderedAfter z datą utworzenia nowego zamówienia.

    Przykład zapytania: JSON

    GET /rest/api/orders?orderedAfter=2024-09-05T10:00:00Z&isOrderDocument=1

Lista zamówień z limitem elementów

Zaleca się korzystanie z filtra limit przy pobieraniu listy zamówień. Filtr pozwala na ograniczenie wyświetlanie wyników dla zamówień, które posiadają duże ilości produktów lub dokumentów powiązanych.