🚀 Usługi API dla Klientów

Integracja z naszym systemem magazynowym poprzez bezpieczne API REST. Automatyzuj procesy zarządzania zamówieniami, dostawami i plikami.

Bazowy URL: https://panel.fulstor.pl/api
Nazwa UsługiOpis UsługiEndpoint API
📦 Utworzenie dokumentu dostawy
Utworzenie dokumentu przyjęcia towaru na magazyn (DM – Dokument Magazynowy). Umożliwia automatyczne zgłaszanie dostaw produktów do magazynu.
  • Automatyczne utworzenie dokumentu PZ (Przyjęcie Zewnętrzne)
  • Wsparcie dla wielu produktów w jednej dostawie
  • Możliwość dodania uwag i dokumentów
  • Publiczny endpoint – nie wymaga autoryzacji
POST Publiczny
/api/dm/create
// Przykład żądania
POST https://panel.fulstor.pl/api/dm/create
X-API-Key: twoj_klucz_api_tutaj
Content-Type: application/json

{
  "tranzit_warehouse": 0,
  "numer_dokumentu": "DOSTAWA005",
  "uwagi_dokumentu": "Dostawa kompletna - kartony WAUDOG",
  "products": [
    {
      "Nazwa": "Smycz automatyczna WAUDOG R-leash, fioletowa M",
      "EAN": "4823089360478",
      "SKU": "26289",
      "jednostka": "towar",
      "Ilość": 3,
      "Cena": 21.2,
      "Waga (kg)": 0.35,
      "Długość (cm)": 15,
      "Szerokość (cm)": 8,
      "Wysokość (cm)": 4,
      "m3": 0.00048,
      "Numer kartonu": "74989",
      "Numer palety": "PLT001"
    },
    {
      "Nazwa": "Smycz automatyczna WAUDOG R-leash, niebieska L",
      "EAN": "4823089360492",
      "SKU": "26292",
      "jednostka": "towar",
      "Ilość": 3,
      "Cena": 25.32,
      "Waga (kg)": 0.4,
      "Długość (cm)": 18,
      "Szerokość (cm)": 9,
      "Wysokość (cm)": 4.5,
      "m3": 0.000729,
      "Numer kartonu": "74989",
      "Numer palety": "PLT001"
    },
    {
      "Nazwa": "WAUDOG Vet pas higieniczny, szary S",
      "EAN": "4823089381718",
      "SKU": "674211",
      "jednostka": "towar",
      "Ilość": 9,
      "Cena": 10.02,
      "Waga (kg)": 0.05,
      "Długość (cm)": 25,
      "Szerokość (cm)": 15,
      "Wysokość (cm)": 2,
      "m3": 0.00075,
      "Numer kartonu": "74989",
      "Numer palety": "PLT001"
    }
  ]
}

// Przykład odpowiedzi (sukces)
{
  "status": "success",
  "document_id": 12345,
  "document_number": "DM123/25 - WH1",
  "warehouse_id": 1,
  "warehouse_name": "Magazyn Główny",
  "tranzit_warehouse": 0,
  "numer_dokumentu": "DOSTAWA005",
  "created_products_count": 3,
  "total_products_count": 3,
  "message": "Dokument DM został utworzony pomyślnie przez API"
}

// Wymagane pola: Nazwa, EAN, jednostka (towar/karton/paleta), Ilość, Cena
// Opcjonalne: SKU, Waga (kg), wymiary, m3, Numer kartonu, Numer palety
📋 Pobieranie zamówień
Pobieranie listy zamówień klienta z możliwością filtrowania według różnych kryteriów.
  • Filtrowanie według daty, statusu, magazynu
  • Szczegółowe informacje o produktach w zamówieniu
  • Status realizacji i wysyłki
  • Wymaga autoryzacji z uprawnieniem: orders.read

– **Query Parameters:**
– `date_from` (optional, date)
– `date_to` (optional, date)
– `status` (optional, string)
– `external_id` (optional, string)
– `limit` (optional, integer, max 100)
– `offset` (optional, integer)

POST Wymaga Auth
/api/client/v1/orders
// Przykład żądania
GET https://panel.fulstor.pl/api/client/v1/orders?date_from=2025-10-01&date_to=2025-10-22&status=Nowe zamówienia&limit=50
X-API-Key: twoj_klucz_api_tutaj

// Przykład odpowiedzi
{
  "success": true,
  "data": [
    {
      "IDOrder": 12345,
      "Number": "ZO/2025/10/001",
      "Created": "2025-10-20 14:30:00",
      "Modified": "2025-10-20 15:45:00",
      "status": "Nowe zamówienia",
      "external_order_id": "SHOP-2025-456",
      "customer_name": "Jan Kowalski",
      "customer_email": "jan.kowalski@example.com",
      "products": [
        {
          "ean": "5901234123457",
          "quantity": 2,
          "price_brutto": 799.99
        }
      ]
    }
  ],
  "meta": {
    "limit": 50,
    "offset": 0,
    "count": 1
  }
}
✏️ Utworzenie/Aktualizacja zamówienia
Utworzenie nowego zamówienia lub aktualizacja istniejącego. Umożliwia pełną integrację systemu zamówień klienta z magazynem.
  • Automatyczne tworzenie zamówienia w systemie
  • Aktualizacja danych zamówienia
  • Obsługa danych klienta i adresów dostawy
  • Wymaga autoryzacji z uprawnieniem: orders.create
POST Wymaga Auth
/api/client/v1/order
// Przykład żądania - utworzenie nowego zamówienia
POST https://panel.fulstor.pl/api/client/v1/order
X-API-Key: twoj_klucz_api_tutaj
Content-Type: application/json

{
  "external_id": "12345667",
  "status": "Nie wysyłać",
  "customer": {
    "name": "Fulstor2",
    "email": "Fulstor2@example.com",
    "phone": "+480123456772",
    "NIP": ""
  },
  "delivery": {
    "fullname": "Fulstorw",
    "company": "Fulstor",
    "phone": "+48123456789",
    "country_code": "PL",
    "country": "Poland",
    "postcode": "01001",
    "state": "",
    "city": "Krakow",
    "street": "ul. Centralna",
    "house_number": "15",
    "apartment": "23",
    "price": 50,
    "point": {
      "name": "Fulstorw",
      "id": "1111111",
      "address": "ul. Centralna 10",
      "postcode": "01001",
      "city": "Krakow"
    },
    "method": "DPD"
  },
  "products": [
    {
      "ean": "4823089360478",
      "quantity": 2,
      "price_brutto": 21.99,
      "Remarks": "Some text",
      "tax_rate": 23
    }
  ],
  "order_source": "B2B",
  "currency": "PLN",
  "currency_rate": 1,
  "payment_method_cod": "0",
  "date_confirmed": "2025-08-01",
  "comments": "Zadzwoń przed dostawą"
}

// Przykład odpowiedzi - utworzenie
{
  "success": true,
  "data": {
    "order_id": 12345,
    "order_number": "ZO/2025/10/456",
    "external_id": "12345667",
    "status": "Nie wysyłać",
    "created": true
  }
}

// Przykład odpowiedzi - aktualizacja
{
  "success": true,
  "data": {
    "order_id": 12345,
    "order_number": "ZO/2025/10/456",
    "external_id": "12345667",
    "status": "Nie wysyłać",
    "updated": true
  }
}

// Uwaga: Przy aktualizacji wszystkie produkty są nadpisywane
// Statusy: Anulowany, Nie wysyłać, Nowe zamówienia, W realizacji, Kompletowanie, Do wysłania, Wysłane
📊 Dziennik zdarzeń zamówień
Pobieranie dziennika zdarzeń (logów) dla zamówień. Umożliwia śledzenie wszystkich akcji i zmian statusów zamówień.
  • Historia zmian statusów zamówień
  • Zdarzenia utworzenia i aktualizacji
  • Możliwość filtrowania po typie zdarzenia
  • Wymaga autoryzacji z uprawnieniem: returns.read
POST Wymaga Auth
/api/client/v1/getJournalList
// Przykład żądania - pobieranie zdarzeń dla zamówienia
POST https://panel.fulstor.pl/api/client/v1/getJournalList
X-API-Key: twoj_klucz_api_tutaj
Content-Type: application/json

{
  "order_id": 12345,
  "type": 18,
  "last_log_id": 100
}

// Przykład odpowiedzi
{
  "success": true,
  "data": [
    {
      "last_log_id": 105,
      "order_id": 12345,
      "type": 18,
      "message": "Zmiana statusu: Nowe zamówienia → W realizacji",
      "created_at": "2025-10-20 14:30:00",
      "object_id": "ZO/2025/10/001"
    },
    {
      "last_log_id": 108,
      "order_id": 12345,
      "type": 18,
      "message": "Zmiana statusu: W realizacji → Wysłane",
      "created_at": "2025-10-21 10:15:00",
      "object_id": "ZO/2025/10/001"
    }
  ],
  "meta": {
    "count": 2,
    "total": 2
  }
}

// Typy zdarzeń:
// 1 - utworzenie zamówienia
// 16 - aktualizacja zamówienia
// 18 - zmiana statusu
📤 Upload plików
Przesyłanie plików związanych z zamówieniami lub dokumentami magazynowymi.
  • Wsparcie dla wielu formatów plików (PDF, PNG, JPG, XLSX, DOC, itp.)
  • Przypisanie plików do konkretnych dokumentów lub zamówień
  • Automatyczna kategoryzacja plików
  • Wymaga autoryzacji API

#### Supported File Types:
– `invoice` – Invoice
– `packing_list` – Packing List
– `certificate` – Certificate
– `photo` – Photo
– `consignment_note` – Consignment Note
– `other` – Other

POST Wymaga Auth
/api/client/v1/files/upload
// Przykład żądania (multipart/form-data)
POST https://panel.fulstor.pl/api/client/v1/files/upload
X-API-Key: twoj_klucz_api_tutaj
Content-Type: multipart/form-data

// Pola formularza:
doc_type: "ZO" // lub "DM"
doc_id: "12345" // w systemie Fulstor
files[]: [invoice.pdf, photo.jpg]
file_types[]: ["invoice", "photo"]
descriptions[]: ["Faktura VAT", "Zdjęcie produktu"]
client_doc_number: "CLIENT-001"
reference_number: "FST-2025-001"

// Przykład w cURL:
curl -X POST https://panel.fulstor.pl/api/client/v1/files/upload \
  -H "X-API-Key: twoj_klucz_api" \
  -F "doc_type=ZO" \
  -F "doc_id=12345" \
  -F "files[]=@invoice.pdf" \
  -F "files[]=@photo.jpg" \
  -F "file_types[]=invoice" \
  -F "file_types[]=photo" \
  -F "descriptions[]=Faktura VAT" \
  -F "descriptions[]=Zdjęcie produktu"

// Przykład odpowiedzi
{
  "success": true,
  "message": "Files uploaded successfully",
  "data": {
    "uploaded_files": [
      {
        "id": 123,
        "name": "invoice.pdf",
        "type": "invoice",
        "description": "Faktura VAT",
        "uploaded_at": "2025-10-22 12:34:56",
        "status": "uploaded_successfully"
      }
    ],
    "summary": {
      "total_files": 2,
      "uploaded_successfully": 2,
      "failed": 0
    }
  }
}

// Typy plików: invoice, packing_list, certificate, photo, consignment_note, other
// Formaty: jpg, jpeg, png, webp, pdf, doc, docx, xls, xlsx, txt, csv, ods, odt, rtf