2. Domain-ID-Regeln
Alle Stammdaten in PlantPulse unterliegen einer serverseitigen Regex-Validierung. Der Server erzwingt das Matching der regulären Ausdrücke; bei Verstößen wird die Anfrage mit E1002 (VALIDATION_FAILED) abgelehnt. Ein präzises ID-Design ist der Ausgangspunkt für den Aufbau eines skalierbaren IoT-Systems.
📖 Eine Zusammenfassung der plattformweiten Konventionen finden Sie auf der Seite für Domain-ID-Namenskonventionen.
2.1 ID-Regeln im Überblick (basierend auf Server-Regex)
Eine neue ID besteht aus «Präfix-Vollname + Nummer». Wenn die Platform IDs automatisch vergibt, wird eine sechsstellige Nummer an das Präfix angehängt
(SITE_000001, TAG_000001). Jede Domain hat eine eigene Sequenz, und bei Überschreiten von 999999 erhöht sich die Stellenzahl(ORDER_1000000).
| Domain | Offizielles Präfix | Altes Präfix (weiterhin gültig) | Beispiel |
|---|---|---|---|
| Unternehmen (Enterprise) | ENTERPRISE_ | — | ENTERPRISE_000001 |
| Standort (Site) | SITE_ | — | SITE_000001 |
| Bereich (Area) | AREA_ | ASSET_ | AREA_000001 |
| Linie (Line) | LINE_ | ASSET_ | LINE_000001 |
| Anlage (Equipment) | EQUIPMENT_ | ASSET_ | EQUIPMENT_000001 |
| Verbindung (OPC) | OPC_ | — | OPC_000001 |
| Tag (Tag) | TAG_ | — | TAG_000001 |
| Edge (Edge) | EDGE_ | — | Wird nicht vergeben — wird manuell wie EDGE_LINE1_01 erstellt |
| Alarm-Konfiguration (AlarmConfig) | ALARM_CONFIG_ | Fünfstellige Nummer, ALARM_CONFIG_TAG_… | ALARM_CONFIG_000001 |
| Mitarbeiter (Employee) | EMPLOYEE_ | EMP_ | EMPLOYEE_000001 |
| Kunde (Customer) | CUSTOMER_ | — | CUSTOMER_000001 |
| Produkt (Product) | PRODUCT_ | — | PRODUCT_000001 |
| Flow (Flow) | FLOW_ | — | FLOW_000001 |
| Arbeitsauftrag (Order) | ORDER_ | ORD_ | ORDER_000001 |
| Kalender (Calendar) | CALENDAR_ | CAL_ | CALENDAR_000001 |
| Schichtausnahme (Shift override) | SHIFT_OVERRIDE_ | OV_ | SHIFT_OVERRIDE_000001 |
| Prozesssegment (Process segment) | PROCESS_SEGMENT_ | SEG_ | PROCESS_SEGMENT_000001 |
| Anlagenbeziehung (Asset relation) | ASSET_RELATION_ | REL_ | ASSET_RELATION_000001 |
| Anlagenbefehl (Asset command) | ASSET_COMMAND_ | — | ASSET_COMMAND_000001 |
| PLC-Befehlsbereich (Command area) | COMMAND_AREA_ | CMDAREA_ | COMMAND_AREA_000001 |
| Bild (Image) | IMAGE_ | IMG_ | IMAGE_000001 |
| Instandhaltungsauftrag (Maintenance order) | MAINTENANCE_ORDER_ | Nur Ziffern | MAINTENANCE_ORDER_000001 |
| Benutzerkonto (User) | Keine | — | Wird nicht vergeben — ^[A-Z][A-Z0-9_]*$ |
Nach dem Präfix dürfen nur Großbuchstaben, Ziffern und _ folgen([A-Z0-9_]+). Neue IDs für Instandhaltungsaufträge und Alarm-Konfigurationen akzeptieren nur Nummern mit sechs oder mehr Stellen.
asset_type bestimmtAlte IDs werden nicht neu indiziert und erscheinen daher weiterhin. Da ASSET_ universell für Bereiche, Linien und Anlagen verwendet wurde,
führt die Ableitung der Ebene aus dem Präfix zu Fehlern. Lesen Sie die Ebene stets über asset_type(E · S · A · L · M) aus.
Bei der Unterscheidung von Domains mittels Präfixen gilt: Das längste Präfix ist maßgebend — ASSET_RELATION_… und ASSET_COMMAND_… sind
kein ASSET_, und SHIFT_PATTERN_… ist kein SHIFT_.
Wenn eine ID bei der Erstellung mitgegeben wird und die Formatprüfung besteht, wird der übergebene Wert exakt so gespeichert. Nummern werden nur vergeben, wenn das ID-Feld leer gelassen wurde.
In V5 können Bereiche, Linien und Anlagen(asset_id) sowie Kalender(calendar_id) leer gelassen werden; POST /api/v5/site muss zwingend eine site_id erhalten. Für Bereiche, Linien und Anlagen werden auch neue IDs mit alten Präfixen akzeptiert.
Nummern werden nicht fortlaufend vergeben — da abgelehnte Erstellungsversuche Nummern verbrauchen, ist es normal, dass Lücken in der Nummerierung entstehen.
⚠️ Validierung: Der Server prüft die oben genannten Regeln. Verstöße führen zu einer Ablehnung mit HTTP 422, Code
E1002. Bei bereits existierenden IDs erfolgt HTTP 409.⚠️ Vollnamen sind verbindlich:
CUST_undPROD_sind zu keinem Zeitpunkt gültige Präfixe und werden abgelehnt.EMP_,ORD_undCAL_sind alte Präfixe für bereits existierende IDs; verwenden Sie bei Neuerstellungen stets den Vollnamen.⚠️
opc_idgibt es nur einmal alsOPC_: Egal ob Edge-Quelle oder externer API-Kanal, es muss mitOPC_beginnen.EDGE_,TEST_undAPI_werden abgelehnt — Edge-Quellen werden wieOPC_EDGE_00303nachOPC_angehängt.edge_idist eine separate Domain und akzeptiert nurEDGE_.
2.2 Site ID
정규식: ^SITE_[A-Z0-9_]+$
허용: SITE_… 만
Virtuelle oder aggregierende Standorte verwenden dasselbe Präfix — Namen werden wie bei SITE_V_… innerhalb des Präfixes definiert. Dies ist eine Namenskonvention und kein separates Muster.
Beispiele
import plantpulse.api.v5.dto.request.SiteRequestV5;
import plantpulse.api.v5.dto.response.SiteResponseV5;
SiteRequestV5 req = new SiteRequestV5();
req.setSite_id("SITE_DJ"); // 대전공장
req.setSite_name("대전 1공장");
req.setLat("36.3504");
req.setLng("127.3845");
SiteResponseV5 created = client.site().create(req);
if (created == null) {
System.err.println("등록 실패 — site_id 정규식 확인 필요");
}
// 가상 사이트 (테스트·집계용) — 접두는 SITE_ 그대로
SiteRequestV5 vsite = new SiteRequestV5();
vsite.setSite_id("SITE_V_AGG_01");
vsite.setSite_name("집계 가상 사이트");
client.site().create(vsite);
❌ Falsche Beispiele (verursachen in V5 null)
req.setSite_id("DJ_FACTORY"); // ❌ SITE_ 누락 → E1002
req.setSite_id("site_00001"); // ❌ 소문자 → E1002
req.setSite_id("00001"); // ❌ 접두사 없음 → E1002
req.setSite_id("VSITE_01"); // ❌ V 변형 접두는 없다 → E1002
2.3 OPC ID
정규식: ^OPC_[A-Z0-9_]+$
허용: OPC_… 만
Die OPC ID gibt die physische oder logische Quelle der Datenerfassung an. Wenn innerhalb desselben OPC-Typs eine semantische Trennung erforderlich ist, wird die Hierarchie über _ dargestellt.
Empfohlene Muster nach OPC-Typ
| OPC Typ | Verwendungszweck | Empfohlenes ID-Präfix |
|---|---|---|
OPC | OPC UA / OPC DA Server | OPC_<ua-server-name>_<number> |
PLC | Siemens, Mitsubishi, Allen-Bradley etc. | OPC_PLC_<line>_<number> |
MODBUS | Modbus TCP/RTU Geräte | OPC_MB_<equipment>_<number> |
DATABASE | Externes RDBMS Polling | OPC_DB_<system> |
FILE | REST API/Datei-Import | OPC_FILE_<system>_<number> |
VIRTUAL | Test/Simulation | OPC_TEST_VIRTUAL_<number> |
| Edge Gateway | Edge Gateway (separate edge_id Domain — ^EDGE_[A-Z0-9_]+$) | EDGE_<location>_<number> |
⚠️ Verwenden Sie in der OPC-Domain für externe API-/Dateikanäle oder Testzwecke das Format
OPC_FILE_…·OPC_TEST_….
Beispiele
import plantpulse.api.v5.dto.request.OPCRequestV5;
OPCRequestV5 req = new OPCRequestV5();
req.setOpc_id("OPC_PLC_L1_001");
req.setOpc_name("Line1 메인 PLC");
req.setOpc_protocol("S7"); // 프로토콜 코드 — 소스 유형(PLC)은 여기서 파생
req.setSite_id("SITE_DJ");
req.setOpc_source_ip("192.168.10.50");
req.setOpc_source_port(102);
client.opc().create(req);
// ERP 연동 — REST API 로 들어오는 연결
OPCRequestV5 erp = new OPCRequestV5();
erp.setOpc_id("OPC_API_ERP_001");
erp.setOpc_protocol("API");
erp.setSite_id("SITE_DJ");
client.opc().create(erp);
// 테스트·시뮬레이션
OPCRequestV5 testOpc = new OPCRequestV5();
testOpc.setOpc_id("OPC_TEST_001"); // TEST_ 로 시작하면 E1002
testOpc.setOpc_protocol("API");
testOpc.setSite_id("SITE_DJ");
client.opc().create(testOpc);
// 엣지 자기감시 연결 OPC_SYSTEM_<edge_id> 는 엣지가 sync 로 선언한다 — 직접 만들지 않는다.
2.4 Edge ID
정규식: ^EDGE_[A-Z0-9_]+$
edge_id ist die Kennung für Edge-Gateway-Geräte und eine andere Domain als opc_id.
req.setEdge_id("EDGE_LINE1_01");
// req.setEdge_id("OPC_EDGE_00303"); // ❌ OPC_ 는 edge_id 의 접두사가 아니다
// req.setEdge_id("TEST_EDGE_01"); // ❌ TEST_ 는 어느 도메인에서도 접두사가 아니다
2.5 Asset ID — Kern der Hierarchiestruktur
Die Anlagenhierarchie besteht aus fünf Ebenen: Unternehmen → Standort → Bereich → Linie → Anlage (ISA-95). Alle fünf Ebenen sind Knoten im Asset-Tree, und die Ebene eines Knotens wird durch asset_type definiert.
| asset_type | Ebene | Regex |
|---|---|---|
E | Unternehmen (Enterprise) | ^ENTERPRISE_[A-Z0-9_]+$ |
S | Standort (Site) | ^SITE_[A-Z0-9_]+$ |
A | Bereich (Area) | ^(AREA_[A-Z0-9_]+|ASSET_[A-Z0-9_]+)$ |
L | Linie (Line) | ^(LINE_[A-Z0-9_]+|ASSET_[A-Z0-9_]+)$ |
M | Anlage (Equipment, Machine) | ^(EQUIPMENT_[A-Z0-9_]+|ASSET_[A-Z0-9_]+)$ |
💡 Warum der EQUIPMENT-Code
Mist: Equipment = Machine. In der Suche und Filterung werden kurze, eindeutige Einbuchstabencodes verwendet.
Pro Installation existiert nur ein Unternehmen. Der Versuch, ein zweites Unternehmen zu erstellen oder das einzige bestehende zu löschen, wird mit 409(enterprise.only_one) abgelehnt — siehe Site Service.
Die Ebene eines Knotens kann nicht geändert werden. Eine Änderung eines Bereichs zu einer Linie wird abgelehnt. Wenn die Ebene falsch gewählt wurde, erstellen Sie den Knoten neu, anstatt ihn zu verschieben.
Beispiel für Standard-ID-Muster
Ein Bereich, eine Linie innerhalb dieses Bereichs und eine Anlage über dieser Linie im Werk Daejeon(SITE_DJ) — bei Erstellung mit leerem ID-Feld ergibt sich folgendes Ergebnis:
AREA_000001 ← 구역
└ LINE_000001 ← 라인
└ EQUIPMENT_000001 ← 설비
Beispiel — Erstellung des Asset-Trees
import plantpulse.api.v5.dto.request.AssetRequestV5;
import plantpulse.api.v5.dto.response.AssetResponseV5;
// 1) 사이트 직속 Area
AssetRequestV5 area = new AssetRequestV5();
area.setSite_id("SITE_DJ");
area.setParent_asset_id("SITE_DJ"); // 부모는 사이트 ID
area.setAsset_name("조립구역");
area.setAsset_type("A");
client.asset().create(area);
// asset_id 를 비워 두면 플랫폼이 발급합니다 — 응답에서 AREA_000001 을 받습니다
// 2) Area 산하 Line
AssetRequestV5 line = new AssetRequestV5();
line.setSite_id("SITE_DJ");
line.setParent_asset_id("AREA_000001"); // 부모는 Area
line.setAsset_name("1라인");
line.setAsset_type("L");
client.asset().create(line);
// 3) Line 산하 Equipment
AssetRequestV5 equip = new AssetRequestV5();
equip.setSite_id("SITE_DJ");
equip.setParent_asset_id("LINE_000001"); // 부모는 Line
equip.setAsset_name("CNC #1");
equip.setAsset_type("M");
equip.setAsset_class_code("CNC"); // 설비 분류 — 기준정보에 있는 코드
client.asset().create(equip);
parent_asset_id Regeln
| Kind-Typ | Wert für parent_asset_id |
|---|---|
Bereich (A) | Site ID (z. B. SITE_DJ) |
Linie (L) | asset_id des Bereichs (z. B. AREA_000001) |
Anlage (M) | asset_id der Linie (z. B. LINE_000001) |
Das Parent-Element muss die direkt übergeordnete Ebene sein. Das Überspringen von Ebenen oder die Zuweisung eines Knotens aus einem anderen Standort als Parent wird abgelehnt.
2.6 Tag ID
정규식: ^TAG_[A-Z0-9_]+$
허용: TAG_… 만 (가상 태그도 TAG_ 로 시작한다)
Ein Tag ist die Definition eines Datenpunkts (Sensorwert, Zähler, Status etc.). Es besteht eine 1:1-Beziehung zu OPC und eine 0:N-Beziehung (optionale Verbindung) zu Assets.
Empfohlene Muster
| Szenario | Muster | Beispiel |
|---|---|---|
| OPC-verbundener Tag | TAG_<part-of-opc-id>_<channel-no> | TAG_EDGE_00303_90007 |
| Eigendefinierter Tag | TAG_<domain>_<number> | TAG_PROD_COUNT_001 |
| Virtual Tag | TAG_V_<purpose>_<number> | TAG_V_OEE_LINE1 |
💡 Virtual Tag: Auch für Formel- oder Aggregationstags gibt es nur das Präfix
TAG_. Zur Unterscheidung wird konventionellTAG_V_verwendet (Namenskonvention, kein separates Muster). Ob ein Tag ein «berechneter Wert» ist, wird über die Tag-Berechnungseinstellungen(use_calculation) definiert. Informationen zur Erstellung finden Sie unter Virtual Tag.
Beispiele
import plantpulse.api.v5.dto.request.TagRequestV5;
TagRequestV5 req = new TagRequestV5();
req.setTag_id("TAG_EDGE_00303_90007");
req.setTag_name("Spindle RPM");
req.setOpc_id("OPC_EDGE_00303");
req.setSite_id("SITE_DJ");
req.setLinked_asset_id("EQUIPMENT_000001");
req.setJava_type("Double");
req.setUnit("RPM");
req.setDescription("Spindle 회전수 (RPM)");
client.tag().create(req);
// Virtual Tag — 라인별 OEE 집계
TagRequestV5 vtag = new TagRequestV5();
vtag.setTag_id("TAG_V_OEE_LINE1");
vtag.setTag_name("Line1 OEE");
vtag.setSite_id("SITE_DJ");
client.tag().create(vtag);
tag_id vs tag_name vs alias_name
| Feld | Änderbar in V5 | Verwendungszweck |
|---|---|---|
tag_id | Nicht änderbar (Neuerstellung empfohlen) | Interner systemeigener eindeutiger Schlüssel. Unveränderlich |
tag_name | update() oder patchBasic() | Für den Benutzer sichtbarer Name |
alias_name | patchMetadata() | Alias zum Mapping mit externen Systemen (z. B. HMI-Tagname) |
Es wird empfohlen,
tag_idunveränderlich zu lassen und für Anzeigenamentag_name/alias_namezu verwenden. Änderungen der tag_id können zu Konsistenzproblemen mit externen Zeitreihendaten führen.
2.7 AlarmConfig / Employee / Customer / Product / Flow
Auch für diese Domains ist die Server-Validierung zwingend. Verwenden Sie die korrekten vollständigen Präfixe. Die Alarm-Konfigurations-ID akzeptiert nur das Nummernformat(ALARM_CONFIG_000001).
// Alarm Config
AlarmConfigRequestV5 alarm = new AlarmConfigRequestV5();
alarm.setAlarm_config_id("ALARM_CONFIG_000001");
alarm.setSite_id("SITE_DJ");
// Employee
EmployeeRequestV5 emp = new EmployeeRequestV5();
emp.setEmployee_id("EMPLOYEE_E12345");
emp.setRole_code("OPERATOR"); // OPERATOR, SUPERVISOR 등
// Customer — CUSTOMER_ (전체 단어, CUST_ 아님!)
CustomerRequestV5 cust = new CustomerRequestV5();
cust.setCustomer_id("CUSTOMER_001");
cust.setExternal_customer_id("ERP_C001");
// Product — PRODUCT_ (전체 단어, PROD_ 아님!)
ProductRequestV5 prod = new ProductRequestV5();
prod.setProduct_id("PRODUCT_A001");
prod.setProduct_code("SKU-A001");
// Flow
FlowRequestV5 flow = new FlowRequestV5();
flow.setFlow_id("FLOW_OEE_DAILY");
flow.setSite_id("SITE_DJ");
❌ Häufige Ablehnungsfälle
cust.setCustomer_id("CUST_001"); // ❌ CUST_ 아님 → E1002
prod.setProduct_id("PROD_A001"); // ❌ PROD_ 아님 → E1002
emp.setEmployee_id("E12345"); // ❌ EMPLOYEE_ 누락 → E1002
flow.setFlow_id("flow_oee_daily"); // ❌ 소문자 → E1002
Externe Systemnamen (external_system)
Das Feld external_system für Kunden, Produkte und Mitarbeiter akzeptiert nur Großbuchstaben, Ziffern, _ und : in einer Länge von 1 bis 50 Zeichen(^[A-Z0-9_:]{1,50}$).
: wird verwendet, um den Bereich anzugeben, in dem die Nummer innerhalb dieses Systems eindeutig ist — z. B. clientbezogene SAP_PM:100 in SAP PM.
Die Platform interpretiert den Bereich nicht, sondern verwendet das Paar external_system + external_id direkt als Schlüssel.
Die Verwendung von Bindestrichen wie in SAP-PM wird abgelehnt; die Fehlermeldung gibt die zulässigen Zeichen an.
2.8 User ID (Benutzerkonto)
정규식: ^[A-Z][A-Z0-9_]*$
규칙: 대문자로 시작, 이후 [A-Z0-9_]만 허용
Im Gegensatz zu anderen Domains gibt es kein festes Präfix; der erste Buchstabe muss jedoch ein Großbuchstabe sein.
✅ ADMIN
✅ OPERATOR_01
✅ KOPENS_USER
❌ admin → 소문자 시작
❌ 1USER → 숫자 시작
❌ _ADMIN → _ 시작
2.9 Calendar / Order
Auch für diese beiden Domains prüft der Server das Präfix. Für Kalender ist es ^(CALENDAR_[A-Z0-9_]+|CAL_[A-Z0-9_]+)$, für Arbeitsaufträge ^(ORDER_[A-Z0-9_]+|ORD_[A-Z0-9_]+)$.
Calendar
import plantpulse.api.v5.dto.request.CalendarRequestV5;
CalendarRequestV5 cal = new CalendarRequestV5();
// calendar_id 를 비워 두면 플랫폼이 CALENDAR_000001 꼴로 발급합니다
cal.setSite_id("SITE_DJ");
cal.setAsset_id("EQUIPMENT_000001");
cal.setTarget_type("MTN"); // 점검 일정
| target_type | Bedeutung |
|---|---|
MTN | Regelmäßige Inspektion (Maintenance) |
HOLIDAY | Feiertag / Nicht-Betrieb |
INSPECTION | Prüfung |
MEETING | Besprechung |
Order
import plantpulse.api.v5.dto.Quantity;
import plantpulse.api.v5.dto.request.OrderRequestV5;
OrderRequestV5 order = new OrderRequestV5();
order.setOrder_id("ORDER_000001");
order.setSite_id("SITE_DJ");
order.setAsset_id("EQUIPMENT_000001");
order.setCustomer_id("CUSTOMER_001"); // CUSTOMER_ 주의!
order.setProduct_id("PRODUCT_A001"); // PRODUCT_ 주의!
order.setEmployee_id("EMPLOYEE_E12345");
order.setPlanned_quantity(Quantity.of("500", "EA")); // ISA-95 Quantity — 값 + UN/ECE Rec 20 단위
Status des Arbeitsauftrags (ISA-88): WAIT → START → END / ABORTED (Weitere Details im Order Service).
2.10 Best Practices für das ID-Design
Empfehlungen
- Unveränderlichkeit wahren — Ändern Sie einmal zugewiesene IDs nicht. Wenn eine Änderung erforderlich ist, wird eine Migration auf eine neue ID empfohlen.
- Keine Semantik in IDs legen — Die Ebene wird über
asset_type, die Position über Parent/Pfad definiert. Falls Sie IDs manuell erstellen, halten Sie sich an die vollständigen Präfixe. - Automatische IDs verwenden — Wenn das ID-Feld leer bleibt, vergibt die Platform eine ID bestehend aus Präfix + sechs Ziffern.
- Großbuchstaben und Unterstriche fixieren — Vermeiden Sie innerhalb des Systems eine Mischung aus Groß- und Kleinschreibung und halten Sie das
[A-Z0-9_]Muster ein. - Externe System-IDs in separate Felder — Bewahren Sie Original-IDs aus ERP/MES im Feld
external_*_idund halten Sie für die PlantPulse-ID ein eigenes System bei.
Zu vermeidende Muster
- ❌ Verwendung von Koreanisch, Leerzeichen oder Sonderzeichen —
LINE_라인1,OPC 001 - ❌ Zu kurze oder bedeutungslose IDs —
S1,A,T01 - ❌ Fehlende Präfixe oder falsche Abkürzungen —
CUST_001(Richtig:CUSTOMER_001),PROD_A001(Richtig:PRODUCT_A001) - ❌ In ID eingebettete Bedeutung, die Änderungen unmöglich macht —
LINE_DJ_OLD_BROKEN_LINE
2.11 Überprüfung von Validierungsfehlern
In V5 gibt die Methode bei einem Validierungsfehler null (oder false) zurück. Die detaillierte Fehlermeldung ist im Envelope einsehbar.
import plantpulse.api.v5.service.BaseServiceV5;
import plantpulse.json.JSONObject;
// V5 서비스 내부는 envelope를 외부에 노출하지 않으나,
// 디버그 모드를 켜면 로그에 출력됩니다.
client = new APIClient_V5(proto, host, port, user, token, true); // debug=true
Beispiel für den Antwort-Envelope:
{
"_status": "ERROR",
"_code": "E1002",
"_message": "validation failed: site_id must match ^SITE_[A-Z0-9_]+$",
"_http_status": 422
}
Weitere Fehlercodes finden Sie unter Antwortformat und Fehlerbehandlung.
2.12 IDs vorab anfordern — POST /api/v5/domain-ids
Wird von Simulatoren oder externen Systemen verwendet, die die ID bereits vor der Erstellung des Objekts benötigen.
Anfrage {"domain": "EQUIPMENT", "count": 3} → Antwort {"domain": "EQUIPMENT", "ids": ["EQUIPMENT_000123", ...]}
| Feld | Wert |
|---|---|
domain | Domain-Name (Groß-/Kleinschreibung egal). Nur für Domains mit Sequenz — ASSET · EDGE · SHIFT · SHIFT_PATTERN · HOLIDAY · BLOB sind nicht zulässig |
count | 1~1000, Standard: 1 |
Ein ADMIN- oder API-Token ist erforderlich. Da Nummern reserviert werden, ohne dass sofort eine Zeile erstellt wird, ist es normal, dass Nummern lückenhaft sind. Ein erneuter Aufruf liefert eine neue Nummer (es sei denn, derselbe Idempotency-Key wird gesendet).
| Antwort | Bedeutung |
|---|---|
400 domain_id.domain_required | Keine domain |
404 domain_id.unknown | Domain existiert nicht oder hat keine Sequenz |
422 domain_id.count_invalid | count liegt außerhalb von 1~1000 |
ID-Feld im Registrierungsbildschirm der Konsole
Rechts neben dem ID-Feld im Registrierungsbildschirm befindet sich ein Erstellen-Symbol (Tooltipp «Erstellen»). Bei Klick wird eine neue Nummer eingetragen. Manuelle Eingaben werden in Großbuchstaben umgewandelt; beim Verlassen des Feldes werden Format und Duplikate geprüft, und Probleme werden unter dem Feld angezeigt. Im Bearbeitungsbildschirm ist das ID-Feld gesperrt und das Symbol fehlt. Domains ohne Vergabesequenz (Edge, Schicht, Schichtmuster, Feiertag, Objekt) verfügen ebenfalls über kein Symbol.
In der Konsole ist das ID-Feld ein Pflichtfeld. Verwenden Sie die Schaltfläche Erstellen oder geben Sie die ID manuell ein. Einzig bei Prozessabschnitten wird die ID automatisch vergeben, wenn das Feld leer gelassen wird. Die Erstellung und Duplikatsprüfung ist nur für Benutzer mit ADMIN- oder API-Rollen verfügbar.
Nächste Schritte
- Antwortformat und Fehlerbehandlung — Mapping von Fehlercodes
- Site Service — Start mit der Standort-Erstellung
- Asset Service — Aufbau des Asset-Trees
- Tag Service — Definition von Datenpunkten