API platformaERP - Indeksy
Dokuemntacja API do sprawdzania i zakładania indeksów (kartotek towarowych) w platformaERP.
Podsumowanie
| Operacja | Metoda | Endpoint | Wymagana rola |
|---|---|---|---|
| Sprawdzenie, czy indeks istnieje | GET |
/api/srs/714/item.lower.json?search={tekst}&pscope=item |
erp_indeksy |
| Utworzenie / aktualizacja indeksu | POST |
/api/srs/901/api.json |
erp_magazyn + uprawnienie item_insertupdate |
| Lista jednostek miary | GET |
/api/srs/821/run.lower.json?dictionary=itemUnit |
- |
| Lista grup asortymentowych | GET |
/api/srs/957/list.lower.json?pscope=list |
- |
- slowo
lowerjest opcjona;lnie normalizuje nazwy atrybutów do malych liter
Uwierzytelnianie
W systemie należy utworzyć użytkownika w kontekście ktorego ma pracoać api np api@klient.com nadać odpowiednie uprawnienia i wygenerować TOKEN API.
Token przekaż w nagłówku Authorization (zalecane):
Przykład weryfikacji uwierzytelninieniaa
| Bash | |
|---|---|
Przykładowa odpowiedz
| JSON | |
|---|---|
Scenariusz integracji
- Jednorazowo pobierz słowniki: jednostki miary i grupy asortymentowe .
- Sprawdź, czy indeks istnieje - wyszukaj po kodzie indeksu (
srs/714). - Jeśli istnieje - zapisz u siebie zwrócony
itemid. - Jeśli nie istnieje - wygeneruj nowy GUID
itemID, utwórz indeks (srs/901) i zapiszitemIDu siebie.
Sprawdzenie, czy indeks istnieje
Request
| Bash | |
|---|---|
Parametry
search- szukany tekst: kod indeksu, nazwa magazynowa, nazwa handlowa, grupa asortymentowa, materiał, uwagipscope=item- wymagany; ogranicza wyszukiwanie do indeksów (bez niego przeszukiwane są wszystkie moduły do którego użytkownik ma dostęp)
Response
| JSON | |
|---|---|
itemid- identyfikator indeksu (GUID)itemcode- kod indeksuname- nazwa magazynowaitemstockquantity,itemorderquantity,itemreservationquantity- stan, ilość w zamówieniach, rezerwacje
Indeks nie istnieje - pusta lista: "data": { "item": [] }.
Wyszukiwanie jest pełnotekstowe, nie dokładne
- Zwraca indeksy zawierające wszystkie podane słowa, w dowolnej kolejności, bez względu na wielkość liter i polskie znaki.
- Dopasowanie częściowe:
search=3957zwraca3957Ai3957B. - Maksymalnie 100 wierszy, tylko indeksy aktywne.
Utworzenie indeksu
Przykład (Uwaga potwierdź kody na swojej instancji):
- JM Sztuka
59fda1d1-1f33-41fb-ae24-e0c1ff42ec0d - GRUPA
DETALE / DETALOWE / INDEKSY PRODUKCYJNE:f6b8eeb8-5e8e-4cdd-a796-905988696d62
Request
Note
Parametry wysyłaj w treści JSON (POST). Pole itemclass jest odczytywane tylko z treści JSON.
Pola wymagane
| Pole | Typ | Opis |
|---|---|---|
itemID |
GUID | Identyfikator indeksu, generowany przez system zewnętrzny. Nowy GUID = nowy indeks, istniejący GUID = aktualizacja |
itemName |
tekst (250) | Nazwa magazynowa |
itemUnitID |
GUID | Jednostka miary, zob. sekcję Słowniki poniżej |
itemclass |
tablica | Grupy asortymentowe. Dokładnie jedna z mainGroup: true (grupa główna) i dokładnie jedna z discountGroup: true (grupa cennikowa); może to być ta sama grupa |
Pola opcjonalne
| Pole | Typ | Domyślnie | Opis |
|---|---|---|---|
itemCode |
tekst (20) | generowany | Kod indeksu, zapisywany wielkimi literami. Puste = kod nadany automatycznie wg prefiksu grupy głównej |
itemNameShort |
tekst (100) | itemName |
Nazwa krótka |
itemNameCommercial |
tekst (250) | - | Nazwa handlowa |
itemNameCommercialForeign |
tekst (250) | - | Nazwa handlowa obcojęzyczna |
itemMemo |
tekst | - | Uwagi |
itemWeight |
liczba | - | Waga |
dimensionX, dimensionY, dimensionZ |
liczba | - | Wymiary |
itemMaterial |
tekst (100) | - | Materiał |
itemTaxRate |
liczba całkowita | 23 |
Stawka VAT (%) |
isStorable |
0/1 |
1 |
Indeks magazynowy |
pkwiu |
tekst (50) | - | PKWiU |
cn |
tekst (100) | - | Kod CN |
gtu |
tekst (10) | - | Kod GTU |
countryoforigin |
tekst (3) | - | Kraj pochodzenia, np. PL |
Response
Sprawdzaj pole success. Identyfikatorem utworzonego indeksu jest wysłany itemID.
Słowniki
GUID-y jednostek i grup różnią się między instancjami - pobierz je z API.
Jednostki miary
| Bash | |
|---|---|
| JSON | |
|---|---|
Grupy asortymentowe (value = grupa / podkategoria / kategoria)
| Bash | |
|---|---|
| JSON | |
|---|---|
Obsługa błędów
- HTTP
401- brak lub nieprawidłowy token. - Błąd biznesowy - HTTP
200,"success": falsei opis wmessage.
| JSON | |
|---|---|
message |
Przyczyna |
|---|---|
#NoRights [item_insertupdate] |
Użytkownik tokenu nie ma uprawnienia do zakładania indeksów |