🚀 API для клієнтів FULSTOR

Інтегруйтеся з нашою системою управління складом через безпечний REST API. Автоматизуйте керування замовленнями, доставками та файлами.

Назва послугиОпис послугиЕндпоінт API
📦 Створення документа доставки
Створення документа приймання товару на склад (DM — складський документ). Дає змогу автоматично реєструвати доставки товарів на склад.
  • Автоматичне створення документа PZ (зовнішнє приймання)
  • Підтримка декількох товарів в одній доставці
  • Можливість додавання приміток і документів
  • Публічний ендпоінт, який використовується з ключем API
POST Публічний /api/dm/create
// Приклад запиту
POST https://panel.fulstor.pl/api/dm/create
X-API-Key: vash_api_kliuch_tut
Content-Type: application/json

{
  "tranzit_warehouse": 0,
  "numer_dokumentu": "DOSTAWA005",
  "uwagi_dokumentu": "Повна доставка — коробки WAUDOG",
  "products": [
    {
      "Nazwa": "Автоматичний повідець WAUDOG R-leash, фіолетовий 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": "Автоматичний повідець WAUDOG R-leash, синій 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, сірий 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"
    }
  ]
}

// Приклад успішної відповіді
{
  "status": "success",
  "document_id": 12345,
  "document_number": "DM123/25 - WH1",
  "warehouse_id": 1,
  "warehouse_name": "Головний склад",
  "tranzit_warehouse": 0,
  "numer_dokumentu": "DOSTAWA005",
  "created_products_count": 3,
  "total_products_count": 3,
  "message": "Документ DM успішно створено через API"
}

// Обов’язкові поля: Nazwa, EAN, jednostka (towar/karton/paleta), Ilość, Cena
// Необов’язкові поля: SKU, Waga (kg), розміри, m3, Numer kartonu, Numer palety
📋 Отримання замовлень
Отримання списку замовлень клієнта з можливістю фільтрування за різними критеріями.
  • Фільтрування за датою, статусом і складом
  • Детальна інформація про товари в замовленні
  • Статус виконання та відправлення
  • Потрібна авторизація з дозволом: orders.read
  • date_from — необов’язковий параметр, дата
  • date_to — необов’язковий параметр, дата
  • status — необов’язковий параметр, рядок
  • external_id — необов’язковий параметр, рядок
  • limit — необов’язковий параметр, ціле число, максимум 100
  • offset — необов’язковий параметр, ціле число
GET Потрібна авторизація /api/client/v1/orders
// Приклад запиту
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: vash_api_kliuch_tut

// Приклад відповіді
{
  "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
  }
}
✏️ Створення або оновлення замовлення
Створення нового замовлення або оновлення наявного. Забезпечує повну інтеграцію системи замовлень клієнта зі складом.
  • Автоматичне створення замовлення в системі
  • Оновлення даних замовлення
  • Обробка даних клієнта й адреси доставки
  • Параметр nofaktura (0/1) відповідає за замовлення без рахунку-фактури
  • Параметр sendWhenReady або send_when_ready (0/1) керує відправленням після завершення комплектації
  • Параметр forpalety (0/1) відповідає за пакування на палети
  • Етикетка товару передається через окремий API за orderLineId
  • Документи замовлення передаються через окремий файловий API
  • Потрібна авторизація з дозволом: orders.create
POST Потрібна авторизація /api/client/v1/order
// Приклад створення нового замовлення
POST https://panel.fulstor.pl/api/client/v1/order
X-API-Key: vash_api_kliuch_tut
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,
    "smart": 0,
    "point": {
      "name": "Fulstorw",
      "id": "1111111",
      "address": "ul. Centralna 10",
      "postcode": "01001",
      "city": "Krakow"
    },
    "method": "DPD"
  },
  "nofaktura": 0,
  "sendWhenReady": 0,
  "forpalety": 1,
  "products": [
    {
      "ean": "4823089360478",
      "quantity": 2,
      "price_brutto": 21.99,
      "Remarks": "Додаткова інформація",
      "tax_rate": 23
    }
  ],
  "order_source": "B2B",
  "currency": "PLN",
  "currency_rate": 1,
  "payment_method_cod": "0",
  "date_confirmed": "2025-08-01",
  "comments": "Зателефонуйте перед доставкою"
}

// Приклад відповіді після створення
{
  "success": true,
  "data": {
    "order_id": 12345,
    "order_number": "ZO/2025/10/456",
    "external_order_id": "12345667",
    "status": "Nowe zamówienia",
    "nofaktura": 0,
    "sendWhenReady": 0,
    "forpalety": 1,
    "order_lines": [
      {
        "order_line_id": 98765,
        "ean": "4823089360478",
        "etiketa": 0
      }
    ],
    "created": true
  }
}

// Приклад відповіді після оновлення
{
  "success": true,
  "data": {
    "order_id": 12345,
    "order_number": "ZO/2025/10/456",
    "external_order_id": "12345667",
    "status": "Nie wysyłać",
    "nofaktura": 0,
    "sendWhenReady": 1,
    "forpalety": 1,
    "order_lines": [
      {
        "order_line_id": 98765,
        "ean": "4823089360478",
        "etiketa": 1
      }
    ],
    "updated": true
  }
}

// Увага: під час оновлення всі товари перезаписуються
// nofaktura: 1 = замовлення без рахунку-фактури, 0 = стандартний режим
// sendWhenReady / send_when_ready: 1 = відправити після готовності, 0 = вимкнено
// forpalety: 1 = пакування на палети, 0 = стандартне пакування
// Етикетки товарів і документи замовлення обробляються окремими ендпоінтами
// Статуси API: Anulowany, Nie wysyłać, Nowe zamówienia, W realizacji, Kompletowanie, Do wysłania, Wysłane
📊 Журнал подій замовлень
Отримання журналу подій для замовлень. Дає змогу відстежувати всі операції та зміни статусів.
  • Історія змін статусів замовлення
  • Події створення та оновлення
  • Можливість фільтрування за типом події
  • Потрібна авторизація з дозволом: returns.read
POST Потрібна авторизація /api/client/v1/getJournalList
// Приклад отримання подій замовлення
POST https://panel.fulstor.pl/api/client/v1/getJournalList
X-API-Key: vash_api_kliuch_tut
Content-Type: application/json

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

// Приклад відповіді
{
  "success": true,
  "data": [
    {
      "last_log_id": 105,
      "order_id": 12345,
      "type": 18,
      "message": "Зміна статусу: 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": "Зміна статусу: W realizacji → Wysłane",
      "created_at": "2025-10-21 10:15:00",
      "object_id": "ZO/2025/10/001"
    }
  ],
  "meta": {
    "count": 2,
    "total": 2
  }
}

// Типи подій:
// 1 — створення замовлення
// 16 — оновлення замовлення
// 18 — зміна статусу
📤 Завантаження файлів
Передавання файлів, пов’язаних із замовленнями або складськими документами.
  • Підтримка різних форматів файлів: PDF, PNG, JPG, XLSX, DOC тощо
  • Прив’язування файлів до конкретних документів або замовлень
  • Автоматичне визначення категорії файлу
  • Потрібна авторизація API
Підтримувані типи файлів:
  • invoice — рахунок-фактура
  • label — етикетка
  • aviso — авізо
  • packing_list — пакувальний лист
  • certificate — сертифікат
  • photo — фотографія
  • consignment_note — транспортна накладна
  • other — інший файл
POST Потрібна авторизація /api/client/v1/files/upload
// Приклад запиту (multipart/form-data)
POST https://panel.fulstor.pl/api/client/v1/files/upload
X-API-Key: vash_api_kliuch_tut
Content-Type: multipart/form-data

// Поля форми:
doc_type: "ZO" // або "DM"
doc_id: "12345" // ID у системі FULSTOR
files[]: [invoice.pdf, photo.jpg]
file_types[]: ["invoice", "photo"]
descriptions[]: ["Рахунок-фактура VAT", "Фото товару"]
client_doc_number: "CLIENT-001"
reference_number: "FST-2025-001"

// Приклад cURL:
curl -X POST https://panel.fulstor.pl/api/client/v1/files/upload \
  -H "X-API-Key: vash_api_kliuch" \
  -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[]=Рахунок-фактура VAT" \
  -F "descriptions[]=Фото товару"

// Приклад відповіді
{
  "success": true,
  "message": "Файли успішно завантажено",
  "data": {
    "uploaded_files": [
      {
        "id": 123,
        "name": "invoice.pdf",
        "type": "invoice",
        "description": "Рахунок-фактура VAT",
        "uploaded_at": "2025-10-22 12:34:56",
        "status": "uploaded_successfully"
      }
    ],
    "summary": {
      "total_files": 2,
      "uploaded_successfully": 2,
      "failed": 0
    }
  }
}

// Типи файлів: invoice, label, aviso, packing_list, certificate, photo, consignment_note, other
// Формати: jpg, jpeg, png, webp, pdf, doc, docx, xls, xlsx, txt, csv, ods, odt, rtf
🏷️ Етикетка товару (Order Line)
Керування файлом етикетки для конкретної позиції замовлення.
  • Завантаження файлу етикетки: POST /api/client/v1/order-lines/{orderLineId}/label
  • Отримання файлу етикетки: GET /api/client/v1/order-lines/{orderLineId}/label
  • Видалення файлу етикетки: DELETE /api/client/v1/order-lines/{orderLineId}/label
  • Після завантаження для позиції встановлюється значення etiketa=1
  • Після видалення файлу значення автоматично повертається до etiketa=0
  • orderLineId можна отримати з відповіді ендпоінта POST /api/client/v1/order у полі data.order_lines[]
// Завантаження файлу етикетки (multipart/form-data)
POST https://panel.fulstor.pl/api/client/v1/order-lines/98765/label
X-API-Key: vash_api_kliuch_tut

file: label_product_98765.pdf

// Отримання файлу етикетки
GET https://panel.fulstor.pl/api/client/v1/order-lines/98765/label
X-API-Key: vash_api_kliuch_tut

// Видалення файлу етикетки
DELETE https://panel.fulstor.pl/api/client/v1/order-lines/98765/label
X-API-Key: vash_api_kliuch_tut
// Фрагмент відповіді POST /api/client/v1/order
{
  "success": true,
  "data": {
    "order_id": 12345,
    "order_lines": [
      {
        "order_line_id": 98765,
        "ean": "4823089360478",
        "etiketa": 0
      }
    ]
  }
}