API StreetCleaner

Endpoint: /TwinHub.Module.StreetCleaner/api/v1/GetData

Dieser Endpunkt gibt eine einfache Antwort zurück, wenn der Benutzer über die erforderlichen Berechtigungen verfügt.

HTTP-Methode

GET

Berechtigungen

Benutzer müssen über die Berechtigung "AccessStreetCleanerConfiguration" verfügen, um auf diesen Endpunkt zugreifen zu können.

Rückgabewert

Ein HTTP 200 OK-Statuscode mit dem Text "HALLO VON API", wenn der Benutzer über die erforderlichen Berechtigungen verfügt. Andernfalls wird ein HTTP 403 Forbidden-Statuscode zurückgegeben.

Beispiel

var result = await ApiClient.GetData("TwinHub.Module.StreetCleaner/api/v1/GetData", Token.access_token, "");

Endpoint: /TwinHub.Module.StreetCleaner/api/v1/UploadGpsInfo

Dieser Endpunkt ermöglicht das Hochladen von GPS-Informationen zur Aktualisierung der GpsInfo-Tabelle in der Datenbank.

HTTP-Methode

POST

Berechtigungen

Benutzer müssen über die Berechtigung "AccessStreetCleanerConfiguration" verfügen, um auf diesen Endpunkt zugreifen zu können.

Anfrageparameter

Keine. Die Daten werden im Request-Body im JSON-Format erwartet.

Anfrageformat

Erwartet wird eine ins JSON serialisierte Liste von GpsInfo-Objekten. Jedes Objekt benötigt dabei folgende Properties:

  • Id (Guid): Eine eindeutige ID.
  • Id2 (string): Interne Id des Mandanten.
  • XCoord (double): Die Längengrad-Koordinate.
  • YCoord (double): Die Breitengrad-Koordinate.

Die Json-Datei sieht auf der Server-Seite vor dem Deserialisieren wie folgt aus:

[
{
"Id": "0fe49476-fcdc-476e-9b20-27b9054c354d",
"Id2": "000020002",
"XCoord": 7.614541495862076,
"YCoord": 51.24223700535066
},
{
"Id": "377b07aa-abc5-4ab9-8300-5a038a01cd38",
"Id2": "000040002",
"XCoord": 7.6158056986343409,
"YCoord": 51.223192927075249
},
{
"Id": "99d5ae0f-30b7-4c46-9e68-939a981f817f",
"Id2": "000050001",
"XCoord": 7.641140153319477,
"YCoord": 51.21290450437497
},
........
]

Rückgabewert

Ein HTTP 200 OK-Statuscode mit der Nachricht "GpsInfo geupdatet", wenn die GPS-Informationen erfolgreich aktualisiert wurden. Andernfalls wird ein HTTP 403 Forbidden-Statuscode zurückgegeben.

Beispiel

BEISPIEL FOR-SCHLEIFE:
GpsInfoDto my_gps_info = new GpsInfoDto
{
Id = Guid.NewGuid(),            
Id2 = data2[0].ToString(),
XCoord = doubleXCoord,
YCoord = doubleYCoord
};
gpsList.Add(my_gps_info);
var post_result = await ApiClient.PostData(UploadGpsInfo, Token.access_token, upload_points_list);

Endpoint: /TwinHub.Module.StreetCleaner/api/v1/UploadProcess

Diese API-Funktion ermöglicht das Hochladen von Prozessinformationen zur Aktualisierung der Process-Tabelle in der Datenbank.

HTTP-Methode

POST

Berechtigungen

Benutzer müssen über die Berechtigung "AccessStreetCleanerConfiguration" verfügen, um auf diesen Endpunkt zugreifen zu können.

Anfrageparameter

Keine. Die Daten werden im Request-Body im JSON-Format erwartet.

Anfrageformat

Erwartet wird eine ins JSON serialisierte Liste von Process-Objekten. Jedes Objekt benötigt dabei folgende Properties:

  • Id (Guid): Eine eindeutige ID.
  • Id2 (string): Interne ID des Mandanten.
  • Length (double): Länge des Prozesses in Metern.
  • Info (string): Bemerkungen zu diesem Prozess.
  • Address (string): Adresse dieses Prozesses.
  • GpsInfoStartId (Guid): ID des Startkoordinatenpunktes in der GpsInfo-Tabelle
  • GpsInfoEndId (Guid): ID des Endkoordinatenpunktes in der GpsInfo-Tabelle

Die Json-Datei sieht auf der Server-Seite vor dem Deserialisieren wie folgt aus:

[
{
"Id": "686d87e2-e7c0-4220-afbb-2ab85fe08377",
"Id2": "0",
"Address": "AHORNWEG",
"Info": "",
"Length": 152.51017967913,
"GpsInfoStartId": "685809d8-793b-442d-9f33-0cfcf3437866",
"GpsInfoEndId": "685809d8-793b-442d-9f33-0cfcf3437866"
},
{
"Id": "bcf30a8a-24fb-4e5a-9c89-7a516eb9910e",
"Id2": "1",
"Address": "ALBRECHTSTR.",
"Info": "",
"Length": 97.69552493339,
"GpsInfoStartId": "01469d6b-3b8a-4088-978f-e365643e7333",
"GpsInfoEndId": "7de47536-c89b-44ab-8f5f-5912b540545f"
},
{
"Id": "1811a6b6-fcae-4a24-b85f-1e18b3276cb6",
"Id2": "2",
"Address": "ALEMANNENSTR.",
"Info": "",
"Length": 229.15256491377,
"GpsInfoStartId": "efad79bc-9a35-4c89-8547-086b9c16fd9b",
"GpsInfoEndId": "8fc98884-da23-4d7a-934b-37d965a261c4"
},
......
]

Rückgabewert

Ein HTTP 200 OK-Statuscode mit der Nachricht "Process geupdatet", wenn die Prozessinformationen erfolgreich aktualisiert wurden. Andernfalls wird ein HTTP 403 Forbidden-Statuscode zurückgegeben.

Beispiel

BEISPIEL FOR-SCHLEIFE:
GpsInfoDto guid_start_point = importPointsList.Where(r => r.Id2 == data2[12].ToString()).FirstOrDefault();
GpsInfoDto guid_end_point = importPointsList.Where(r => r.Id2 == data2[13].ToString()).FirstOrDefault();
//Neues Objekt
Process my_process_info = new Process
{
Id = Guid.NewGuid(),
Id2 = counter.ToString(),
Length = doubleLength,
Info = data2[11].ToString(),
Address = data2[9].ToString(),
GpsInfoStartId = guid_start_point.Id,
GpsInfoEndId = guid_end_point.Id
};
processList.Add(my_process_info);
var post_result = await ApiClient.PostData(UploadProcess, Token.access_token, processList);

Endpoint: /TwinHub.Module.StreetCleaner/api/v1/UploadOrder

Diese API-Funktion ermöglicht das Hochladen von Auftragsinformationen zur Aktualisierung der Order-Tabelle in der Datenbank.

HTTP-Methode

POST

Berechtigungen

Benutzer müssen über die Berechtigung "AccessStreetCleanerConfiguration" verfügen, um auf diesen Endpunkt zugreifen zu können.

Anfrageparameter

Keine. Die Daten werden im Request-Body im JSON-Format erwartet.

Anfrageformat

Erwartet wird ein ins JSON serialisiertes Order-Objekt mit folgenden Eigenschaften:

  • Id (Guid): Eine eindeutige ID des Auftrags.
  • OrderTypeId (Guid): ID des Auftrafstypes aus der OrderType-Tabelle.
  • Name (string): Der Name des Auftrags.
  • CreatedBy (string): Name es Auftragserstellers.
  • Created (DateTime): Zeitpunkt der Auftragserstellung.

Die Json-Datei sieht auf der Server-Seite vor dem Deserialisieren wie folgt aus:

{
"Id": "9fe39188-614e-474c-bd1b-0f8c2ded7097",
"Name": "LKW01",
"OrderTypeId": "3d18c865-b1c3-4843-4609-08dc008d28f8",
"Comment": null,
"Created": "2024-02-01T12:46:01.3295058+01:00",
"Updated": "0001-01-01T00:00:00",
"CreatedBy": "UPLOADED",
"OrderType": null
}

Rückgabewert

Ein HTTP 200 OK-Statuscode mit der Nachricht "Order geupdatet", wenn die Bestellinformationen erfolgreich aktualisiert wurden. Andernfalls wird ein HTTP 403 Forbidden-Statuscode zurückgegeben.

Beispiel

Order my_order = new Order
{
Id = Guid.NewGuid(),
OrderTypeId = new Guid("3d18c865-b1c3-4843-4609-08dc008d28f8"), //DEFAULT
Name = name_of_order,
CreatedBy = "UPLOADED",
Created = DateTime.Now
};
var post_result = await ApiClient.PostData(UploadOrder, Token.access_token, my_order);

Endpoint: /TwinHub.Module.StreetCleaner/api/v1/UploadOrderProcess

Diese API-Funktion ermöglicht das Hochladen von OrderProcess-Informationen zur Aktualisierung der OrderProcess-Tabelle in der Datenbank. Diese Tabelle fungiert als Zuordnungstabelle zwischen der Order- und Process-Tabelle.

HTTP-Methode

POST

Berechtigungen

Benutzer müssen über die Berechtigung "AccessStreetCleanerConfiguration" verfügen, um auf diesen Endpunkt zugreifen zu können.

Anfrageparameter

Keine. Die Daten werden im Request-Body im JSON-Format erwartet.

Anfrageformat

Erwartet wird eine ins JSON serialisierte Liste von OrderProcess-Objekten. Jedes Objekt benötigt dabei folgende Properties:

  • Id (Guid): Eine eindeutige ID.
  • OrderId (Guid): Die ID der Bestellung.
  • ProcessId (Guid): Die ID des Prozesses.
  • Info (string): Bemerkung zu diesem Objekt.
  • SortOrder (int): Der Rang in der Abarbeitungsreihenfolge dieses Prozesses.

Die Json-Datei sieht auf der Server-Seite vor dem Deserialisieren wie folgt aus:

[
{
"Id": "00000000-0000-0000-0000-000000000000",
"OrderId": "9fe39188-614e-474c-bd1b-0f8c2ded7097",
"ProcessId": "61d7f523-b6a6-4ec5-958d-fa24479e88f5",
"SortOrder": 0,
"Info": "",
"Process": null,
"Order": null
},
{
"Id": "00000000-0000-0000-0000-000000000000",
"OrderId": "9fe39188-614e-474c-bd1b-0f8c2ded7097",
"ProcessId": "13be7ccb-a371-4734-a8cc-da6d728d06f9",
"SortOrder": 1,
"Info": "",
"Process": null,
"Order": null
},
{
"Id": "00000000-0000-0000-0000-000000000000",
"OrderId": "9fe39188-614e-474c-bd1b-0f8c2ded7097",
"ProcessId": "7f7f7731-af02-408e-ae99-38478f1941bb",
"SortOrder": 2,
"Info": "bis Treppe Hueck",
"Process": null,
"Order": null
},	
......
]

Rückgabewert

Ein HTTP 200 OK-Statuscode mit der Nachricht "OrderProcess geupdatet", wenn die Bestellprozessinformationen erfolgreich aktualisiert wurden. Andernfalls wird ein HTTP 403 Forbidden-Statuscode zurückgegeben.

Beispiel

orderprocess_list.Add(new OrderProcess
{
Id = new Guid(),
OrderId = my_order.Id,
Info = data2[5].ToString(),
ProcessId = straße.Id,
SortOrder = counter,
});
var post_result_orderprocess = await ApiClient.PostData(UploadOrderProcess, Token.access_token, orderprocess_list);

Endpoint: /TwinHub.Module.StreetCleaner/api/v1/UploadVehicle

Dieser Endpunkt ermöglicht das Hochladen von Fahrzeugen zur Aktualisierung der Vehicle-Tabelle in der Datenbank.

HTTP-Methode

POST

Berechtigungen

Benutzer müssen über die Berechtigung "AccessStreetCleanerConfiguration" verfügen, um auf diesen Endpunkt zugreifen zu können.

Anfrageparameter

Keine. Die Daten werden im Request-Body im JSON-Format erwartet.

Anfrageformat

Erwartet wird eine ins JSON serialisierte Liste von GpsInfo-Objekten. Jedes Objekt benötigt dabei folgende Properties:

  • Id (Guid): Eine eindeutige ID.
  • Name (string): Fahrzeugname.
  • CompanyName (string): Unternehmensname.
  • isSub (bool): Ob Fahrzeug einem Subunternehmen gehört.

Die Json-Datei sieht auf der Server-Seite vor dem Deserialisieren wie folgt aus:

{
"Id": "4193915e-75df-4e37-973d-6fa6a1967c99",
"Name": "LKW01",
"CompanyName": "Stl",
"isSub": false
}

Rückgabewert

Ein HTTP 200 OK-Statuscode mit der Nachricht "Vehicle geupdatet", wenn die Fahrzeug-Informationen erfolgreich aktualisiert wurden. Andernfalls wird ein HTTP 403 Forbidden-Statuscode zurückgegeben.

Beispiel

VehicleDto vehicle = new VehicleDto
{
Id = Guid.NewGuid(),
CompanyName = CompanyName,
isSub = isSubCompany,
Name = name_of_order
};
post_result = await ApiClient.PostData(UploadVehicle, Token.access_token, vehicle);

Endpoint: /TwinHub.Module.StreetCleaner/api/v1/UploadOrderVehicle

Dieser Endpunkt ermöglicht das Hochladen von OrderVehicle-Zuweisungen zur Aktualisierung der OrderVehicle-Tabelle in der Datenbank.

HTTP-Methode

POST

Berechtigungen

Benutzer müssen über die Berechtigung "AccessStreetCleanerConfiguration" verfügen, um auf diesen Endpunkt zugreifen zu können.

Anfrageparameter

Keine. Die Daten werden im Request-Body im JSON-Format erwartet.

Anfrageformat

Erwartet wird eine ins JSON serialisierte Liste von GpsInfo-Objekten. Jedes Objekt benötigt dabei folgende Properties:

  • Id (Guid): Eine eindeutige ID.
  • OrderId (Guid): Id des Auftrags.
  • VehicleId (Guid): Id des Fahrzeugs.
  • ValidTo (DateTime): Datum bis zu dem die Zuweisung gültig ist.

Die Json-Datei sieht auf der Server-Seite vor dem Deserialisieren wie folgt aus:

{
"Id": "ecc943cf-b59c-4cec-8aec-13691208bced",
"OrderId": "ab358678-bf43-46bd-b8d8-513b4f47161a",
"VehicleId": "100fb9e1-db2a-4a20-84a0-0ba33b9cefe9",
"ValidTo": "9999-12-31T23:59:59.9999999"
}

Rückgabewert

Ein HTTP 200 OK-Statuscode mit der Nachricht "OrderVehicle geupdatet", wenn die OrderVehicle-Informationen erfolgreich aktualisiert wurden. Andernfalls wird ein HTTP 403 Forbidden-Statuscode zurückgegeben.

Beispiel

OrderVehicle ordervehicle = new OrderVehicle
{
Id = Guid.NewGuid(),
OrderId = my_order.Id,
VehicleId = vehicle.Id,
ValidTo = DateTime.MaxValue
};
post_result = await ApiClient.PostData(UploadOrderVehicle, Token.access_token, ordervehicle);

Endpoint: /TwinHub.Module.StreetCleaner/api/v1/GetOrderVehicle

Diese API-Funktion liefert alle vorhandenen OrderVehicle zusammen mit den zugehörigen Details zurück, einschließlich der Order, OrderType, OrderTypeProperty, OrderProcesses und Processes, die mit dem OrderVehicle verbunden sind.

HTTP-Methode

POST

Berechtigungen

Benutzer müssen über die Berechtigungen "StreetCleanerDriverAccessConfiguration" oder "AccessStreetCleanerConfiguration" verfügen, um auf diesen Endpunkt zugreifen zu können.

Anfrageparameter

vehicleId (GUID): Id des Fahrzeugs, zu dem die Order zugewiesen sind.

Rückgabewert

Ein JSON-Objekt, das alle vorhandenen OrderVehicle zusammen mit den zugehörigen Details zu dem Fahrzeug mit der eingegebenen vehicleId enthält. Die empfangene Json-Datei wie folgt aus:

[
{
"Id": "a7387cfd-428b-47c5-b44e-688188943e26",
"ValidTo": "9999-12-31T23:59:59.9999999",
"Order": {
"Id": "df84f11e-5863-4c2f-a48f-1ca052763722",
"Name": "LKW01",
"Comment": null,
"OrderType": {
"Id": "3d18c865-b1c3-4843-4609-08dc008d28f8",
"Name": "DEFAULT",
"OrderTypeProperty": [
{
"Id": "6b416cf5-41de-417d-fc5f-08dc2eee4971",
"PropertyType": "System.String",
"PropertyName": "TEST STRING"
},
....
]
},
"Processes": [
{
"SortOrder": 0,
"Info": "",
"Order": null,
"Process": {
"Id": "8c0193cc-22ca-48c3-bb15-815cdd331b8a",
"Address": "Wiesmannstraße",
"Info": null,
"Length": 138.0
},
.....
]
},
.....
]

Beispiel

var post_result = await ApiClient.PostData("TwinHub.Module.StreetCleaner/api/v1/GetOrderVehicle", Token.access_token, vehicleId);

Endpoint: /TwinHub.Module.StreetCleaner/api/v1/UpdatePropertyValue

Diese API-Funktion ermöglicht das Hinzufügen von beladenen Eigenschaften (PropertyValue) zur Datenbank.

HTTP-Methode

POST

Berechtigungen

Benutzer müssen über die Berechtigungen "StreetCleanerDriverAccessConfiguration" oder "AccessStreetCleanerConfiguration" verfügen, um auf diesen Endpunkt zugreifen zu können.

Anfrageparameter

Keine. Die Daten werden im Request-Body im JSON-Format erwartet.

Anfrageformat

Erwartet wird eine ins JSON serialisierte Liste von PropertyValue-Objekten. Jedes Objekt benötigt dabei folgende Properties:

  • Id (Guid): Eine eindeutige ID.
  • OperatingOrderHeaderId (Guid): Die ID des aktiven Auftrages aus der OperatingOrderHeader-Tabelle, zu dem diese Property beladen worden ist.
  • OrderTypePropertyId (Guid): Die Id der Property aus der OrderTypeProperty-Tabelle.
  • Value (string): Der Wert der beladenen Eigenschaft.

Die Json-Datei sieht auf der Server-Seite vor dem Deserialisieren wie folgt aus:

[
{
"Id": "a83866a2-0fe8-4a45-b441-08e69300f413",
"OperatingOrderHeaderId": "c67c3448-931d-4ffa-8739-694bcf900f4e",
"OrderTypePropertyId": "6a1c3aac-e4ef-41f0-70d7-08dc1cc3dabe",
"Value": "2"
},
{
"Id": "6e40915b-cf94-4948-abef-612a4a5783aa",
"OperatingOrderHeaderId": "c67c3448-931d-4ffa-8739-694bcf900f4e",
"OrderTypePropertyId": "8abadd70-3ebb-4e71-70d8-08dc1cc3dabe",
"Value": "1"
},
{
"Id": "7a351255-9ffb-43ac-81c3-0e06aac32048",
"OperatingOrderHeaderId": "c67c3448-931d-4ffa-8739-694bcf900f4e",
"OrderTypePropertyId": "0d9adb6b-eb1a-4e6e-70d9-08dc1cc3dabe",
"Value": "2"
},
{
"Id": "6f29eb46-65f6-47a2-855a-a74a5c7e45f1",
"OperatingOrderHeaderId": "c67c3448-931d-4ffa-8739-694bcf900f4e",
"OrderTypePropertyId": "781f566d-7019-4d38-70da-08dc1cc3dabe",
"Value": "200"
}
]

Rückgabewert

Ein HTTP 200 OK-Statuscode, wenn die beladenen Eigenschaften erfolgreich zur Datenbank hinzugefügt wurden.

Beispiel

BEISPIEL FOR-SCHLEIFE:
{
PropertyValue myValue = new PropertyValue
{
Id = Guid.NewGuid(),
OperatingOrderHeaderId = OperatingOrderHeader.Id,
OrderTypePropertyId = OrderTypeProperty.Id,
Value = input_propertyvalue
};
Values.Add(myValue);
}
post_result = await ApiClient.PostData("TwinHub.Module.StreetCleaner/api/v1/UpdatePropertyValue", Token.access_token, Values);

Endpoint: /TwinHub.Module.StreetCleaner/api/v1/UpdateOperatingProcess

Diese API-Funktion ermöglicht das Hinzufügen oder Aktualisieren von Betriebsprozessen (OperatingProcesses) in der Datenbank.

HTTP-Methode

POST

Berechtigungen

Benutzer müssen über die Berechtigungen "StreetCleanerDriverAccessConfiguration" oder "AccessStreetCleanerConfiguration" verfügen, um auf diesen Endpunkt zugreifen zu können.

Anfrageparameter

Keine. Die Daten werden im Request-Body im JSON-Format erwartet.

Anfrageformat

Erwartet wird eine ins JSON serialisierte OperatingProcess-Liste mit folgenden Eigenschaften:

  • Id (Guid): Eine eindeutige ID des Betriebsprozesses.
  • SortOrder (int): Der Rang in der Abarbeitungsreihenfolge dieses Betriebsprozesses.
  • StartTime (DateTime): Der Startzeitpunkt des Betriebsprozesses.
  • EndTime (DateTime): Der Endzeitpunkt des Betriebsprozesses.
  • Comment (string): Kommentar zu diesem Betriebsprozess.
  • OperatingOrderHeaderId (Guid): Die ID des Betriebsauftrags zu dem dieser Betriebsprozess zugeordnet ist.

Die Json-Datei sieht auf der Server-Seite vor dem Deserialisieren wie folgt aus:

[{
"Id": "85e777db-afa1-4f77-9e39-47a426146c62",
"OperatingOrderHeaderId": "2d790a9a-abd3-482b-9519-586a9a0c23ce",
"ProcessId": "ce4857b7-0bfb-40cf-874a-3a8f6b0c1a04",
"SortOrder": 0,
"StartTime": "2024-02-14T10:19:56.2421777+01:00",
"EndTime": "2024-02-14T10:19:56.2421777+01:00",
"OperatingOrderHeader": null,
"Process": null,
"Comment": null
}]

Rückgabewert

Ein HTTP 200 OK-Statuscode, wenn der Betriebsprozess erfolgreich hinzugefügt oder aktualisiert wurde.

Verhalten

Wenn ein Betriebsprozess mit der angegebenen ID bereits vorhanden ist, wird er aktualisiert, indem StartTime und EndTime aktualisiert werden.

  • Wenn kein Betriebsprozess mit der angegebenen ID vorhanden ist, wird ein neuer Betriebsprozess erstellt und in die Datenbank eingefügt.

Info

Beim Ausführungsstart eines Auftrages muss zuerst ein OperatingOrderHeader mit den notwendingen Informationen in der OperatingOrderHeader-Tabelle abgelegt werden. Anschließend werden alle Prozesse, die zu dem jeweiligen Auftrag (Order) zugeordnet sind, als OperatingProcess in die OperatingProcess-Tabelle abgelegt. Dabei muss der Wert in EndTime gleich DateTime.MinValue sein, damit auf dem Dashboard die noch nicht bearbeiteten Prozesse zu diesem Betriebsauftrag (OperatingOrderHeader) identifiziert werden können. Wenn ein Prozess abgearbeitet worden ist, muss der entsprechende Eintrag in der Tabelle mit der neuen EndTime aktualisiert werden. Bereits abgearbeitete Prozesse lassen sich dadurch identifizieren, in dem sie einen plausiblen Wert in EndTime haben. Diese Infos über bereits bearbeitete und nicht bearbeitete Prozesse sind notwendig, um die entsprechende Visualisierung auf dem Dashboard umsetzen zu können.

Beispiel

var OperatingProcess = new OperatingProcess
{
Id = Guid.NewGuid(),
Address = orderprocess.Process.Address,
SortOrder = orderprocess.SortOrder,
Info = orderprocess.Process.Info,
Length = orderprocess.Process.Length,
StartTime = start,
EndTime = start,
Comment = orderprocess.Info,
OperatingOrderHeaderId = OperatingOrderHeader.Id,
GpsInfoStartId = orderprocess.Process.GpsInfoStartId,
GpsInfoEndId = orderprocess.Process.GpsInfoEndId,
};
post_result = await ApiClient.PostData("TwinHub.Module.StreetCleaner/api/v1/UpdateOperatingProcess", Token.access_token, OperatingProcess);

Endpoint: /TwinHub.Module.StreetCleaner/api/v1/UpdateOperatingOrderHeader

Diese API-Funktion ermöglicht das Hinzufügen oder Aktualisieren von OperatingOrderHeader-Objekten in der Datenbank.

HTTP-Methode

POST

Berechtigungen

Benutzer müssen über die Berechtigungen "StreetCleanerDriverAccessConfiguration" oder "AccessStreetCleanerConfiguration" verfügen, um auf diesen Endpunkt zugreifen zu können.

Anfrageparameter

Keine. Die Daten werden im Request-Body im JSON-Format erwartet.

Anfrageformat

Erwartet wird ein ins JSON serialisiertes OperatingOrderHeader-Objekt mit folgenden Eigenschaften:

  • Id (Guid): Eine eindeutige ID des OperatingOrderHeaders.
  • OrderId (Guid): Die ID des Auftrages.
  • Vehicle (string): Name des Fahrzeuges.
  • DriverName (string): Name des Fahrers.
  • StartTime (DateTime): Der Startzeitpunkt des OperatingOrderHeaders.
  • EndTime (DateTime): Der Endzeitpunkt des OperatingOrderHeaders.

Die Json-Datei sieht auf der Server-Seite vor dem Deserialisieren wie folgt aus:

{
"Id": "c67c3448-931d-4ffa-8739-694bcf900f4e",
"OrderId": "370d6b1f-2bd9-410a-b2c8-e90a1087876b",
"Vehicle": "LKW01 - Schneeräumung",
"DriverName": "Tibet",
"StartTime": "2024-02-01T13:08:31.9775681+01:00",
"EndTime": "2024-02-01T13:14:21.5615868+01:00",
"Comment": null
}

Rückgabewert

Ein HTTP 200 OK-Statuscode, wenn das OperatingOrderHeader-Objekt erfolgreich hinzugefügt oder aktualisiert wurde.

Verhalten

  • Wenn ein OperatingOrderHeader mit der angegebenen ID bereits vorhanden ist, wird er aktualisiert, indem die EndTime aktualisiert wird.
  • Wenn kein OperatingOrderHeader mit der angegebenen ID vorhanden ist, wird ein neuer OperatingOrderHeader erstellt und in die Datenbank eingefügt.

Info

Beim Ausführungsstart eines Auftrages wird hiermit ein OperatingOrderHeader mit den notwendingen Informationen in der OperatingOrderHeader-Tabelle abgelegt. Dabei ist EndTime gleich DateTime.MinValue, um so dem Dashboard zu signalisieren, dass dieser Auftrag aktiv ist und somit ausgeführt wird. Wenn ein Auftrag erfolgreich abgeschlossen wurde, muss die EndTime des jeweiligen Eintrags in der Tabelle aktualisiert werden. Diese Infos über aktive und nicht aktive Aufträge sind notwendig, um die entsprechende Visualisierung auf dem Dashboard umsetzen zu können.

Beispiel

var OperatingOrderHeader = new OperatingOrderHeader
{
Id = Guid.NewGuid(),
OrderId = ActiveOrder.Id,
Vehicle = ActiveOrder.Name,
DriverName = name,
StartTime = start,
EndTime = start
};
post_result = await ApiClient.PostData("TwinHub.Module.StreetCleaner/api/v1/UpdateOperatingOrderHeader", Token.access_token, OperatingOrderHeader);

Endpoint: /TwinHub.Module.StreetCleaner/api/v1/EarlyEndOperation

Diese API-Funktion ermöglicht das vorzeitige Abbrechen eines begonnenen Auftrags

HTTP-Methode

POST

Berechtigungen

Benutzer müssen über die Berechtigungen "StreetCleanerDriverAccessConfiguration" oder "AccessStreetCleanerConfiguration" verfügen, um auf diesen Endpunkt zugreifen zu können.

Anfrageparameter

Keine. Die Daten werden im Request-Body im JSON-Format erwartet.

Anfrageformat

Erwartet wird ein ins JSON serialisiertes OperatingOrderHeader-Objekt mit folgenden Eigenschaften:

  • Id (Guid): Eine eindeutige ID des OperatingOrderHeaders.
  • OrderId (Guid): Die ID des Auftrages.
  • Vehicle (string): Name des Fahrzeuges.
  • DriverName (string): Name des Fahrers.
  • StartTime (DateTime): Der Startzeitpunkt des OperatingOrderHeaders.
  • EndTime (DateTime): Der Endzeitpunkt des OperatingOrderHeaders.
  • Comment (string): Kommentar zum Auftrag.

Die Json-Datei sieht auf der Server-Seite vor dem Deserialisieren wie folgt aus:

}
"Id": "bc358e6e-c3e1-4392-b603-8a50e1749e3c",
"OrderId": "9ee7ff03-033a-452e-af73-a1d6d4876454",
"VehicleId": "b9e3ab47-f478-44c9-ce62-08dc392a5d75",
"DriverName": "Tibet",
"StartTime": "2024-03-12T11:55:23.4380768+01:00",
"EndTime": "0001-01-01T00:00:00",
"Comment": null
}

Rückgabewert

Ein HTTP 200 OK-Statuscode, wenn das OperatingOrderHeader-Objekt erfolgreich hinzugefügt oder aktualisiert wurde.

Info

Hiermit wird die aktuelle OperatingOrderHeader in der Datenbank vorzeitig abgebrochen, indem die Endzeit gesetzt und der Auftragskommentar mit "+ Abgebrochen" erweitert wird. Zusätzlich werden alle zu diesem Auftrag gehörenden OperatingProcesses ebenfalls um die Endzeit und den Kommentar erweitert, um diese abzubrechen.

Beispiel

post_result = await ApiClient.PostData("TwinHub.Module.StreetCleaner/api/v1/EarlyEndOperation", Token.access_token, OperatingOrderHeader);

API StreetCleaner V2 - Driver Functions

Endpoint: /TwinHub.Module.StreetCleaner/api/v2/GetOrderHeads

Diese API-Funktion ermöglicht das Abrufen von Auftragsköpfen zu einem bestimmten Fahrzeug.

HTTP-Methode

POST

Berechtigungen

Benutzer müssen über die Berechtigungen "StreetCleanerDriverAccessConfiguration" oder "AccessStreetCleanerConfiguration" verfügen, um auf diesen Endpunkt zugreifen zu können.

Anfrageparameter

Keine. Die Daten werden im Request-Body im JSON-Format erwartet.

Anfrageformat

Erwartet wird eine ins JSON serialisierte FahrzeugId-GUID

"0621dc42-d167-46ce-6fde-08dcedd14c92"

Rückgabewert

Die empfangene Json-Datei wie folgt aus:

[
	{
		"Id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
		"Name": "2542_Freitag",
		"Comment": null,
		"OrderTypeId": "0a1d2d72-2bc5-46cc-432c-08dbea8dde00",
		"StartDate": "2024-11-22T00:00:00",
		"Status": 20,
		"OrderProcesses": [
			{
				"Id": "a1dd5149-bcf4-40db-4915-08dd07c0aa9d",
				"OrderHeadId": "6a7a5a1e-a8c0-4a1c-b422-03613767f848",
				"SortOrder": 1,
				"Info": null,
				"Comment": "Das ist ein Testkommentar",
				"Driver": "Ilyas Tibet Tabaktas",
				"StartTime": "2024-11-20T00:00:00",
				"EndTime": "2024-11-23T00:00:00",
				"Address": "Schulstraße",
				"Length": 1431
			}, 
			.....
		],
		"OrderTypeName": "Straßenreinigung",
		"PropertyValue": [
			{
				"Id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
				"Value": "",
				"PropertyId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
				"PropertyName": "Anzahl Pylonen",
				"PropertyType": "System.Int32"
			},
			{
				"Id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
				"Value": "",
				"PropertyId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
				"PropertyName": "Anzahl Schaufeln",
				"PropertyType": "System.Int32"
			},
			{
				"Id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
				"Value": "",
				"PropertyId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
				"PropertyName": "Handschuhe",
				"PropertyType": "System.Int32"
			}
		]
	}, ...
]

Beispiel

var post_result = await ApiClient.PostData("TwinHub.Module.StreetCleaner/api/v2/GetOrderHeads", Token.access_token, vehicleId);

Endpoint: /TwinHub.Module.StreetCleaner/api/v2/UpdatePropertyValue

Diese API-Funktion ermöglicht das Hochladen von PropertyValues und das Aktualisieren der Values von bereits vorhandenen Properties.

HTTP-Methode

POST

Berechtigungen

Benutzer müssen über die Berechtigungen "StreetCleanerDriverAccessConfiguration" oder "AccessStreetCleanerConfiguration" verfügen, um auf diesen Endpunkt zugreifen zu können.

Anfrageparameter

Keine. Die Daten werden im Request-Body im JSON-Format erwartet.

Anfrageformat

Erwartet wird eine ins JSON serialisierte PropertyValue-Liste mit folgenden Eigenschaften:

  • Id (Guid): Eine eindeutige ID des PropValues.
  • Value (string): Der Wert der Property.

Die Json-Datei sieht auf der Server-Seite vor dem Deserialisieren wie folgt aus:

[
	{
		"Id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
		"Value": "1"
	},
	{
		"Id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
		"Value": "2"
	},
	{
		"Id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
		"Value": "3"
	}
]

Rückgabewert

Ein HTTP 200 OK-Statuscode, wenn die PropValue-Liste erfolgreich hinzugefügt oder aktualisiert wurde.

Beispiel

post_result = await ApiClient.PostData("TwinHub.Module.StreetCleaner/api/v2/UpdatePropertyValue", Token.access_token, PropValuesList);

Endpoint: /TwinHub.Module.StreetCleaner/api/v2/UpdateOrderProcess

Diese API-Funktion ermöglicht das Aktualiseren von OrderProcessen Aktualisiert werden die Properties: StartTime, EndTime, Comment, Driver, SortOrder

HTTP-Methode

POST

Berechtigungen

Benutzer müssen über die Berechtigungen "StreetCleanerDriverAccessConfiguration" oder "AccessStreetCleanerConfiguration" verfügen, um auf diesen Endpunkt zugreifen zu können.

Anfrageparameter

Keine. Die Daten werden im Request-Body im JSON-Format erwartet.

Anfrageformat

Erwartet wird eine ins JSON serialisierte OrderProcess-Liste mit folgenden Eigenschaften:

  • Id (Guid): Eine eindeutige ID des OrderProcesses.
  • OrderHeadId (Guid): Die ID des Auftragkopfs.
  • Driver (string): Name des Fahrers.
  • SortOrder (int): Reihenfolge des OrderProcesses.
  • StartTime (DateTime): Der Startzeitpunkt des OperatingOrderHeaders.
  • EndTime (DateTime): Der Endzeitpunkt des OperatingOrderHeaders.
  • Comment (string): Kommentar zum Auftrag.

Die empfangene Json-Datei wie folgt aus:

[
	{
		"Id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
		"OrderHeadId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
		"SortOrder": 1,
		"Info": null,
		"Comment": "",
		"Driver": "Tibet",
		"StartTime": "2024-10-31T10:35:21.4117987+01:00",
		"EndTime": null,
		"Process": null
	}
]

Rückgabewert

Ein HTTP 200 OK-Statuscode, wenn die OrderProcess-Liste erfolgreich hinzugefügt oder aktualisiert wurde.

Beispiel

post_result = await ApiClient.PostData("TwinHub.Module.StreetCleaner/api/v2/UpdateOrderProcess", Token.access_token, Orderprocess_List);

Endpoint: /TwinHub.Module.StreetCleaner/api/v2/UpdateOrderConfirmation

Diese API-Funktion ermöglicht das Aktualisieren und Hochladen von OrderConfirmations

HTTP-Methode

POST

Berechtigungen

Benutzer müssen über die Berechtigungen "StreetCleanerDriverAccessConfiguration" oder "AccessStreetCleanerConfiguration" verfügen, um auf diesen Endpunkt zugreifen zu können.

Anfrageparameter

Keine. Die Daten werden im Request-Body im JSON-Format erwartet.

Anfrageformat

Erwartet wird ein ins JSON serialisierte OrderConfirmation-Objekt mit folgenden Eigenschaften:

  • Id (Guid): Eine eindeutige ID des PropValues.
  • TenantId (Guid): DARF LEER SEIN.
  • Id2 (int): DARF LEER SEIN.
  • OrderHeadId (Guid): Die ID des OrderHeads.
  • Driver (string): Fahrername.
  • Start (DateTime): Startdatum
  • End (DateTime): Enddatum
{
"Id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"TenantId": "00000000-0000-0000-0000-000000000000",
"Id2": 0,
"OrderHeadId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"Driver": "Tibet",
"Start": "2024-11-05T12:28:41.1834609+01:00",
"End": null
}

Rückgabewert

Ein HTTP 200 OK-Statuscode, wenn die OrderConfirmation erfolgreich hinzugefügt oder aktualisiert wurde.

Beispiel

post_result = await ApiClient.PostData("TwinHub.Module.StreetCleaner/api/v2/UpdateOrderProcess", Token.access_token, OrderConfirmation);

Endpoint: /TwinHub.Module.StreetCleaner/api/v2/UpdateOrderHeadComment

Diese API-Funktion ermöglicht das Aktualisieren der Kommentar-Property von einem bestimmten OrderHead

HTTP-Methode

POST

Berechtigungen

Benutzer müssen über die Berechtigungen "StreetCleanerDriverAccessConfiguration" oder "AccessStreetCleanerConfiguration" verfügen, um auf diesen Endpunkt zugreifen zu können.

Anfrageparameter

Keine. Die Daten werden im Request-Body im JSON-Format erwartet.

Anfrageformat

Erwartet wird ein ins JSON serialisierte OrderHead-Objekt mit folgenden Eigenschaften:

  • Id (Guid): Eine eindeutige ID des OrderHeads.
  • Name (string): DARF LEER SEIN.
  • Comment (string): Kommentar zum Auftrag
  • OrderTypeId (Guid): DARF LEER SEIN
  • OrderRefId (Guid): DARF LEER SEIN
  • Status (Status): DARF LEER SEIN
  • Date (DateTime): DARF LEER SEIN
{
	"Id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
	"Name": null,
	"Comment": "TEST 12345",
	"VehicleId": "00000000-0000-0000-0000-000000000000",
	"OrderTypeId": "00000000-0000-0000-0000-000000000000",
	"OrderRefId": "00000000-0000-0000-0000-000000000000",
	"Status": 0
	"Date": "0001-01-01T00:00:00"
}

Rückgabewert

Ein HTTP 200 OK-Statuscode, wenn der Kommentar erfolgreich hinzugefügt wurde.

Beispiel

post_result = await ApiClient.PostData("TwinHub.Module.StreetCleaner/api/v2/UpdateOrderProcess", Token.access_token, orderheadcomment);

Endpoint: /TwinHub.Module.StreetCleaner/api/v2/GetVehicleName

Diese API-Funktion ermöglicht das Auslesen des Fahrzeugnamens zu einer bestimmten VehicleId

HTTP-Methode

POST

Berechtigungen

Benutzer müssen über die Berechtigungen "StreetCleanerDriverAccessConfiguration" oder "AccessStreetCleanerConfiguration" verfügen, um auf diesen Endpunkt zugreifen zu können.

Anfrageparameter

Keine. Die Daten werden im Request-Body im JSON-Format erwartet.

Anfrageformat

Erwartet wird ein ins JSON serialisiertes GUID mit folgenden Eigenschaften:

  • VehicleId (Guid): Eine eindeutige ID des Fahrzeugs.
	"0621dc42-d167-46ce-6fde-08dcedd14c92"

Rückgabewert

Den Fahrzeugnamen zu der VehicleId oder "NO VEHICLE" wenn kein Fahrzeug zu der ID gefunden wurde.

Beispiel

post_result = await ApiClient.PostData("TwinHub.Module.StreetCleaner/api/v2/UpdateOrderProcess", Token.access_token, vehicleId);