🚀 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
      }
    ]
  }
}