Przejdź do głównej zawartości

API importu danych — Bizami

Dokumentacja opisuje endpoint służący do importu danych do systemu przez zewnętrznych klientów (np. system SAP Business One).

:::info Zakres Ten dział dokumentacji obejmuje wyłącznie import danych (POST /api/push). Eksport danych (GET /api/getData) jest opisany osobno. :::

Uwierzytelnianie

WymaganieWartość
Middlewareauth:sanctum, token_ip
Metoda autoryzacjiToken Bearer (Laravel Sanctum)
NagłówekAuthorization: Bearer {token}
Ograniczenie IPŻądanie musi pochodzić z adresu IP przypisanego do tokenu (middleware token_ip)

Tokeny dostępowe są zarządzane w panelu administracyjnym systemu (sekcja API Tokens).

Format żądania i odpowiedzi

  • Format treści: application/json
  • Metoda: POST
  • Każde żądanie może zawierać jeden lub więcej typów importu jednocześnie — jako klucze najwyższego poziomu obiektu JSON.
  • Odpowiedź zawiera, dla każdego wysłanego typu, tablicę wyników przetwarzania poszczególnych rekordów.

Wspólny format wyniku rekordu

Każdy przetworzony rekord (niezależnie od typu importu) zwraca w odpowiedzi obiekt:

PoleTypOpis
PKstring/numberIdentyfikator rekordu przekazany przez klienta w żądaniu — zwracany bez zmian, służy do powiązania wyniku z wysłanym rekordem
SendStatus"Y" | "N"Czy rekord został zaimportowany poprawnie
SendMessagestringTreść błędu — obecna tylko gdy SendStatus = "N"

Błąd nieprawidłowego JSON

Jeśli treść żądania nie jest poprawnym JSON-em, odpowiedź to:

{
"error": {
"code": 4,
"message": "not Valid JSON"
}
}

Obsługiwane typy importu

Klucz JSONOpis
productsKartoteka produktów
documentsDokumenty sprzedażowe
stockStany magazynowe (ilości)
statusesStatus/norma dostępności produktu na magazynie
MaterialGroupSłownik grup towarowych
ProducerSłownik producentów
SupplierSłownik dostawców
warehousesKartoteka magazynów

Przykład żądania z wieloma typami naraz

curl -X POST https://{host}/api/push \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{
"warehouses": [ ... ],
"products": [ ... ],
"stock": [ ... ]
}'

Uwagi ogólne

  • Wartości liczbowe dziesiętne mogą być przesyłane z przecinkiem (,) jako separatorem — są automatycznie normalizowane do float.
  • Import każdego rekordu jest niezależny — błąd jednego rekordu (SendStatus: "N") nie przerywa przetwarzania pozostałych.
  • Każde żądanie jest logowane w kanale logów api (treść żądania i odpowiedzi).