Interfejs REST API AMAGE - typy elementów
Wstęp/Kontekst
Kontekst dla operacji na obiektach dotyczących typów elementów (ElementType/Parameter/ParameterTemplate) w systemie AMAGE, którą należy w zapytaniu rozszerzyć o odpowiednią metodę.
-
rest/amage/v1/element-types
Struktury danych
Struktury i typy danych wykorzystywane w zapytaniach i odpowiedziach.
Rezultat
W polach ID/UUID znajduje się identyfikator nowo utworzonego lub edytowanego obiektu. W przypadku poprawnego wykonania operacji pole success jest ustawiane na true
. W przypadku wystąpienia błędu pole success jest ustawiane na false
, a w polu message znajduje się opis błędu. Kod błędu zawiera wtedy kod HTTP typu NOT_FOUND lub BAD_REQUEST. Zwracany w zapytaniu wtedy jest również kod BAD_REQUEST. W zależności od typu błędu podczas przetwarzania zapytania kod błędu może być różny niż zwracany główny kod zapytania. Kod zapytania będzie BAD_REQUEST, a kod wewnętrzny będzie ustawiony na NOT_FOUND w przypadku takim, gdy zapytanie będzie ustawiało właściwość obiektu na inny obiekt w systemie. Parametr JSON będzie poprawny (UUID rekordu), ale takiego rekordu nie będzie w systemie. W związku z tym w polu errorCode pojawi się kod NOT_FOUND. W polu opisowym message
komunikat informujący jakiego rekordu nie znaleziono, a główny kod błędu zapytania będzie wynosił BAD_REQUEST.
{
"id": 1,
"uuid":"f25e62ea-0100-4f4e-aad2-853cf48df2b9",
"success":true,
"errorCode":0,
"message":""
}
Typ parametru
Element wyliczeniowy, który określa typ parametru (ParameterType):
-
STRING,
-
FLOAT,
-
INTEGER,
-
ENUM,
-
DATETIME,
-
DATE,
-
TIME
Typ identyfikatora
Element wyliczeniowy, który określa typ identyfikatora (IdentifierType):
-
BARCODE,
-
DATAMATRIX,
-
QRCODE,
-
RFID_LF,
-
RFID_HF,
-
RFID_MIFARE,
-
RFID_UHF,
-
BEACON
Typy elementów - Operacje API
Typy elementów - operacje dotyczące typów elementów. Parametry typów objęte są dodatkowymi metodami.
Pobieranie liczby typów elementów
-
Metoda:
GET
-
Ścieżka:
/count
-
Generuje:
text/plain
-
Wymaga:
application/json, text/plain
-
Autoryzacja: podpis API (device-uuid, api-key, api-sign)
Zwraca liczbę wszystkich typów elementów w systemie.
{
123456
}
Pobranie listy typów elementów
-
Metoda:
GET
-
Ścieżka:
/list
-
Generuje:
application/json
-
Wymaga:
application/json, text/plain
-
Autoryzacja: podpis API (device-uuid, api-key, api-sign)
Parametry:
-
page
- RequestParam - strona - liczona od 1 -
size
- RequestParam - rozmiar strony - liczba rekordów na stronie, sugerujemy ograniczenie do 1000 elementów. W zależności od implementacji API, wartość może być ograniczona do mniejszej liczby.
Zwracane dane to obiekt JSON ze strukturą:
[
{
"id": 12345,
"uuid": "f25e62ea-0100-4f4e-aad2-853cf48df2b9",
"globalId": "f25e62ea-0100-4f4e-aad2-853cf48df2b9",
"ifcTag": "1sd3df3d3dfd",
"name": "Nazwa elementu",
"description": "Opis elementu",
"icon": "",
"category": "Kategoria elementu",
"catalogNumber": "123456",
"manufacturerUuid": "f25e62ea-0100-4f4e-aad2-853cf48df2b9",
"orderNumber": "123456",
"website": "https://www.example.com",
"identifierList": [
{
"id": 12345,
"uuid": "f25e62ea-0100-4f4e-aad2-853cf48df2b9",
"value": "Wartość identyfikatora",
"type": "STRING"
}
],
"warehouseIndex": "123456",
"measurementUnitUuid": "f25e62ea-0100-4f4e-aad2-853cf48df2b9",
"unitPrice": 123.45,
"currencyCode": "PLN",
"taxUuid": "f25e62ea-0100-4f4e-aad2-853cf48df2b9",
"weight": 123.45,
"area": 123.45,
"minimumCount": 123.45,
"maximumCount": 123.45,
"requireParameters": true,
"requiredParametersList": "Lista wymaganych parametrów",
"requireIdentifiers": true
}
]
Pobranie typu elementu po UUID
-
Metoda:
GET
-
Ścieżka:
/get/by-uuid/{uuid}
-
Generuje:
application/json
-
Wymaga:
application/json, text/plain
-
Autoryzacja: podpis API (device-uuid, api-key, api-sign)
Parametry:
-
UUID - identyfikator typy elementów
Zwracane dane to pojedynczy obiekt JSON ze strukturą typu elementu tożsamą z metodą /list
.
Dodanie nowego typu elementów
-
Metoda:
PUT
-
Ścieżka:
/add
-
Generuje:
application/json
-
Wymaga:
application/json, text/plain
-
Autoryzacja: podpis API (device-uuid, api-key, api-sign)
Parametry:
-
ElementType - BodyContent - struktura JSON tożsama z pojedynczym elementem z metody
/list
. Pole ID zostanie zastąpione podczas zapisu rekordu
Zwracane dane to obiekt odpowiedzi z polem ID/UUID nowo utworzonego typu elementów.
Aktualizacja typu elementów
-
Metoda:
POST
-
Ścieżka:
/update/{uuid}
-
Generuje:
application/json
-
Wymaga:
application/json, text/plain
-
Autoryzacja: podpis API (device-uuid, api-key, api-sign)
Parametry:
-
UUID
- identyfikator typu elementów -
ElementType - BodyContent - struktura JSON tożsama z pojedynczym elementem z metody
/list
. Pole ID/UUID zostają zignorowane podczas aktualizacji.
Zwracane dane to obiekt odpowiedzi z polem ID/UUID modyfikowanego typu elementów.
Usunięcie typu elementów
-
Metoda:
DELETE
-
Ścieżka:
/delete/{uuid}
-
Generuje:
application/json
-
Wymaga:
application/json, text/plain
-
Autoryzacja: podpis API (device-uuid, api-key, api-sign)
Parametry:
-
uuid
- identyfikator UUID typu elementów
Zwracane dane to obiekt odpowiedzi z polem ID/UUID usuwanego typu elementów.
Usunięcie typu elementu może się nie powieść ze względu na powiązanie typu elementu z innymi rekordami w systemie. W takim przypadku zwrócony zostanie błąd z informacją dotyczącą problemu. |
Parametry - operacje API
Osobne API dotyczące parametrów określających typy elementów.
Liczba parametrów danego typu elementów
-
Metoda:
GET
-
Ścieżka:
/{element-type-uuid}/parameters/count
-
Generuje:
text/plain
-
Wymaga:
application/json, text/plain
-
Autoryzacja: podpis API (device-uuid, api-key, api-sign)
Parametry:
-
element-type-uuid
- UUID typu elementów
Zwraca liczbę wszystkich parametrów dla danego typu elementów w systemie.
{
123456
}
Lista parametrów w danym typie elementów
-
Metoda:
GET
-
Ścieżka:
/{element-type-uuid}/parameters/list
-
Generuje:
application/json
-
Wymaga:
application/json, text/plain
-
Autoryzacja: podpis API (device-uuid, api-key, api-sign)
Parametry:
-
element-type-uuid
- UUID typu elementów -
page
- RequestParam - strona - liczona od 1 -
size
- RequestParam - rozmiar strony - liczba rekordów na stronie, sugerujemy ograniczenie do 1000 elementów. W zależności od implementacji API, wartość może być ograniczona do mniejszej liczby.
Zwracane dane to obiekt JSON ze strukturą j/n. Typ parametru wyjaśniony w danych słownikowych.
[
{
"id": 12345,
"uuid": "f25e62ea-0100-4f4e-aad2-853cf48df2b9",
"name": "Parametr",
"description": "opis parametru",
"type": "STRING",
"category": "Narzędzia",
"expression": ".*",
"defaultValue": "100",
"unit": "Szt.",
"protocolData": ""
}
]
Pobranie pojedynczego parametr dla typu elementów
-
Metoda:
GET
-
Ścieżka:
/{element-type-uuid}/parameters/get/by-uuid/{uuid}
-
Generuje:
application/json
-
Wymaga:
application/json, text/plain
-
Autoryzacja: podpis API (device-uuid, api-key, api-sign)
Parametry:
-
element-type-uuid
- UUID typu elementów -
uuid
- identyfikator parametru
Zwracane dane to obiekt JSON ze strukturą tożsamą z metodą /list
dla parametrów.
Dodanie nowego parametru do typu elementów
-
Metoda:
PUT
-
Ścieżka:
/{element-type-uuid}/parameters/add
-
Generuje:
application/json
-
Wymaga:
application/json, text/plain
-
Autoryzacja: podpis API (device-uuid, api-key, api-sign)
Parametry:
-
element-type-uuid
- UUID typu elementów
W ciele zapytania należy przesłać obiekt JSON z parametrem. Pole ID zostanie zastąpione podczas zapisu rekordu. Struktura JSON tożsama z pojedynczym elementem z metody /list
dla parametrów.
Zwracany jest obiekt odpowiedzi z polem ID/UUID nowo utworzonego parametru.
Aktualizacja parametru dla typu elementów
-
Metoda:
POST
-
Ścieżka:
/{element-type-uuid}/parameters/update/{uuid}
-
Generuje:
application/json
-
Wymaga:
application/json, text/plain
-
Autoryzacja: podpis API (device-uuid, api-key, api-sign)
Parametry:
-
element-type-uuid
- UUID typu elementów -
uuid
- identyfikator parametru
W ciele zapytania należy przesłać obiekt JSON z parametrem. Pole ID/UUID nie będą zmieniane w oryginalnym obiekcie. Struktura JSON tożsama z pojedynczym elementem z metody /list
dla parametrów.
Zwracany jest obiekt odpowiedzi z polem ID/UUID modyfikowanego parametru.
Usunięcie parametru z typu elementów
-
Metoda:
GET
-
Ścieżka:
/{element-type-uuid}/parameters/delete/{uuid}
-
Generuje:
application/json
-
Wymaga:
application/json, text/plain
-
Autoryzacja: podpis API (device-uuid, api-key, api-sign)
Parametry:
-
element-type-uuid
- UUID typu elementów -
uuid
- identyfikator parametru
Zwracane dane to obiekt odpowiedzi z polem ID/UUID usuwanego parametru dla typu elementów.
Usunięcie parametru dla typu elementu może się nie powieść ze względu na powiązanie rekordu z innymi rekordami w systemie. W takim przypadku zwrócony zostanie błąd z informacją dotyczącą problemu. |
Uzupełnienie (dodanie) parametrów dla typu elementu z szablonu parametrów
-
Metoda:
POST
-
Ścieżka:
/{element-type-uuid}/parameters/append-from-template/{template-uuid}
-
Generuje:
application/json
-
Wymaga:
application/json, text/plain
-
Autoryzacja: podpis API (device-uuid, api-key, api-sign)
Parametry:
-
element-type-uuid
- UUID typu elementów -
template-uuid
- identyfikator szablonów parametru
Operacja wykonuje dodanie do istniejących parametrów, nowych parametrów, które znajdują się w szablonie parametrów. Zwracany jest obiekt rezultatu ze statusem operacji.
Zamiana parametrów dla typu elementu z szablonu parametrów
-
Metoda:
GET
-
Ścieżka:
/{element-type-uuid}/parameters/replace-from-template/{template-uuid}
-
Generuje:
application/json
-
Wymaga:
application/json, text/plain
-
Autoryzacja: podpis API (device-uuid, api-key, api-sign)
Parametry:
-
element-type-uuid
- UUID typu elementów -
template-uuid
- identyfikator szablonów parametru
Operacja wykonuje usunięcie istniejących parametrów, a następnie dodanie nowych parametrów, które znajdują się w szablonie parametrów. Zwracany jest obiekt rezultatu ze statusem operacji.
Szablony parametrów - operacje API
Do operacji dotyczących szablonów parametrów możemy odwołać się poprzez API. Szablony parametrów są zbiorem parametrów, które mogą być wykorzystane do uzupełnienia parametrów dla typu elementu.
Liczba szablonów parametrów
-
Metoda:
GET
-
Ścieżka:
/parameter-templates/count
-
Generuje:
text/plain
-
Wymaga:
application/json, text/plain
-
Autoryzacja: podpis API (device-uuid, api-key, api-sign)
Zwraca liczbę wszystkich szablonów parametrów w systemie.
{
123456
}
Lista szablonów parametrów
-
Metoda:
GET
-
Ścieżka:
/parameter-templates/list
-
Generuje:
application/json
-
Wymaga:
application/json, text/plain
-
Autoryzacja: podpis API (device-uuid, api-key, api-sign)
Lista szablonów parametrów
-
Metoda:
GET
-
Ścieżka:
/parameter-templates/list
-
Generuje:
application/json
-
Wymaga:
application/json, text/plain
-
Autoryzacja: podpis API (device-uuid, api-key, api-sign)
Zapytanie zwraca listę szablonów parametrów w systemie. Zwracana jest lista zgodna z formatem JSON.
[
{
"id": 12345,
"uuid": "f25e62ea-0100-4f4e-aad2-853cf48df2b9",
"name": "Szablon parametrów",
"itemList": [
{
"id": 12345,
"uuid": "f25e62ea-0100-4f4e-aad2-853cf48df2b9",
"name": "Parametr",
"description": "opis parametru",
"type": "STRING",
"category": "Narzędzia",
"expression": ".*",
"defaultValue": "100",
"unit": "Szt.",
"protocolData": ""
}
]
}
]