Na tej stronie

Dokumentacja API: symulacje

Symulacje pozwalają sprawdzać scenariusze „co, jeśli” na modelach procesów. Można ustawić czasy przetwarzania, przydział zasobów i tempo napływu spraw, aby przewidzieć przebieg procesu.

Wyświetl symulacje procesu

Endpoint: GET /v1/tenant/{tenantId}/processes/{processId}/simulations

Uwierzytelnianie: Klucz API przypisany do tenanta · zakres read

Parametry:

Nazwa Typ Lokalizacja Wymagane Opis
tenantId string ścieżka Tak Format: uuid
processId string ścieżka Tak Format: uuid
limit integer zapytanie Nie Maksymalna liczba zwracanych elementów
offset integer zapytanie Nie Liczba pomijanych elementów

Odpowiedź (200):

Lista symulacji

[
	{
		"id": "00000000-0000-0000-0000-000000000000",
		"displayName": "string",
		"datasetName": "string",
		"startTime": "2024-03-15T16:30:00Z",
		"endTime": "2024-03-15T16:30:00Z",
		"useWarmUp": true
	}
]

Błędy:

  • 400 Nieprawidłowe żądanie, np. nieprawidłowe wyrażenie filtra, proces bez modelu, nieobsługiwany typ przesyłanego pliku lub brak wymaganego pola
  • 401 Brakujący, nieprawidłowy, wyłączony lub wygasły klucz API
  • 404 Nie znaleziono zasobu

Utwórz symulację (jeśli podano identyfikator, ponowienie żądania nie utworzy duplikatu)

Endpoint: POST /v1/tenant/{tenantId}/processes/{processId}/simulations

Uwierzytelnianie: Klucz API przypisany do tenanta · zakres write

Parametry:

Nazwa Typ Lokalizacja Wymagane Opis
tenantId string ścieżka Tak Format: uuid
processId string ścieżka Tak Format: uuid

Treść żądania:

{
	"id": "00000000-0000-0000-0000-000000000000",
	"displayName": "string",
	"datasetName": "string",
	"startTime": "2024-03-15T16:30:00Z",
	"endTime": "2024-03-15T16:30:00Z",
	"useWarmUp": true
}
Pole Typ Wymagane Opis
id string Nie Opcjonalny identyfikator do ponawiania żądań bez tworzenia duplikatów (musi być UUID)
Format: uuid
displayName string Nie Nazwa symulacji
Domyślnie: New Simulation
datasetName string Nie Nazwa zbioru danych używanego w symulacji
startTime string Nie Czas rozpoczęcia symulacji
Format: date-time
endTime string Nie Czas zakończenia symulacji
Format: date-time
useWarmUp boolean Nie Czy pominąć okres rozgrzewki
Domyślnie: false

Odpowiedź (201):

Utworzono symulację

{
	"simulation": {
		"id": "00000000-0000-0000-0000-000000000000",
		"displayName": "string"
	},
	"message": "string"
}
Pole Typ Wymagane Opis
simulation object Tak
message string Tak

Błędy:

  • 400 Nieprawidłowe żądanie, np. nieprawidłowe wyrażenie filtra, proces bez modelu, nieobsługiwany typ przesyłanego pliku lub brak wymaganego pola
  • 401 Brakujący, nieprawidłowy, wyłączony lub wygasły klucz API
  • 404 Nie znaleziono zasobu
  • 409 Żądanie jest sprzeczne z bieżącym stanem, np. z ograniczeniem liczby licencji lub ponownym użyciem identyfikatora

Pobierz symulację wraz z ustawieniami elementów, atrybutami i zasobami

Endpoint: GET /v1/tenant/{tenantId}/processes/{processId}/simulations/{simulationId}

Uwierzytelnianie: Klucz API przypisany do tenanta · zakres read

Parametry:

Nazwa Typ Lokalizacja Wymagane Opis
tenantId string ścieżka Tak Format: uuid
processId string ścieżka Tak Format: uuid
simulationId string ścieżka Tak Format: uuid

Odpowiedź (200):

Szczegóły symulacji

{
	"simulation": {
		"id": "00000000-0000-0000-0000-000000000000",
		"displayName": "string",
		"datasetName": "string",
		"startTime": "2024-03-15T16:30:00Z",
		"endTime": "2024-03-15T16:30:00Z",
		"useWarmUp": true
	},
	"elementSettings": [
		{
			"simulationId": "00000000-0000-0000-0000-000000000000",
			"modelElementId": "00000000-0000-0000-0000-000000000000",
			"settings": {
				"processingTimeDistribution": [
					{
						"timeslot": {
							"periodicity": "Always"
						},
						"conditions": [
							{
								"type": "Values",
								"attribute": "string",
								"values": [
									"string"
								]
							}
						],
						"distribution": {
							"type": "Fixed",
							"value": 0
						},
						"timeUnit": "seconds",
						"rateUnit": "perTimeSlot"
					}
				],
				"processingTimeUnit": "seconds",
				"updateAttributeRules": [
					{
						"id": "string",
						"attributeId": "00000000-0000-0000-0000-000000000000",
						"timeslot": {
							"periodicity": "Always"
						},
						"conditions": [
							{
								"type": "Values",
								"attribute": "string",
								"values": [
									"string"
								]
							}
						],
						"newValue": "string",
						"isEnabled": true
					}
				],
				"requiredResources": [
					{
						"resourceId": "00000000-0000-0000-0000-000000000000",
						"amount": 0
					}
				],
				"caseStartsDistribution": [
					{
						"timeslot": {
							"periodicity": "Always"
						},
						"conditions": [
							{
								"type": "Values",
								"attribute": "string",
								"values": [
									"string"
								]
							}
						],
						"distribution": {
							"type": "Fixed",
							"value": 0
						},
						"timeUnit": "seconds",
						"rateUnit": "perTimeSlot"
					}
				],
				"caseStartsTimeUnit": "perTimeSlot",
				"capacityInterval": "perHour",
				"skipChanceDistribution": [
					{
						"timeslot": {
							"periodicity": "Always"
						},
						"conditions": [
							{
								"type": "Values",
								"attribute": "string",
								"values": [
									"string"
								]
							}
						],
						"distribution": {
							"type": "Fixed",
							"value": 0
						},
						"timeUnit": "seconds",
						"rateUnit": "perTimeSlot"
					}
				],
				"queueStrategy": "fifo",
				"chanceToTakeDistribution": [
					{
						"timeslot": {
							"periodicity": "Always"
						},
						"conditions": [
							{
								"type": "Values",
								"attribute": "string",
								"values": [
									"string"
								]
							}
						],
						"distribution": {
							"type": "Fixed",
							"value": 0
						},
						"timeUnit": "seconds",
						"rateUnit": "perTimeSlot"
					}
				]
			}
		}
	],
	"attributes": [
		{
			"id": "00000000-0000-0000-0000-000000000000",
			"simulationId": "00000000-0000-0000-0000-000000000000",
			"displayName": "string",
			"valueDistribution": {
				"type": "Number",
				"numberDistributions": [
					{
						"timeslot": {
							"periodicity": "Always"
						},
						"conditions": [
							{
								"type": "Values",
								"attribute": "string",
								"values": [
									"string"
								]
							}
						],
						"distribution": {
							"type": "Fixed",
							"value": 0
						},
						"timeUnit": "seconds",
						"rateUnit": "perTimeSlot",
						"id": "string",
						"isEnabled": true,
						"isDefault": true
					}
				],
				"textDistributions": [
					{
						"id": "string",
						"timeslot": {
							"periodicity": "Always"
						},
						"isEnabled": true,
						"isDefault": true,
						"mode": "list",
						"textValues": [
							{
								"id": "string",
								"value": "string",
								"chance": 0
							}
						]
					}
				]
			},
			"simulationAttributeType": "string"
		}
	],
	"resources": [
		{
			"id": "00000000-0000-0000-0000-000000000000",
			"simulationId": "00000000-0000-0000-0000-000000000000",
			"displayName": "string",
			"levelDistribution": [
				{
					"timeslot": {
						"periodicity": "Always"
					},
					"conditions": [
						{
							"type": "Values",
							"attribute": "string",
							"values": [
								"string"
							]
						}
					],
					"distribution": {
						"type": "Fixed",
						"value": 0
					},
					"timeUnit": "seconds",
					"rateUnit": "perTimeSlot"
				}
			],
			"attributeId": "00000000-0000-0000-0000-000000000000"
		}
	]
}
Pole Typ Wymagane Opis
simulation object Tak Podstawowe informacje o symulacji
elementSettings object[] Tak Ustawienia symulacji dla poszczególnych elementów
attributes object[] Tak Symulowane atrybuty
resources object[] Tak Pule zasobów

Błędy:

  • 400 Nieprawidłowe żądanie, np. nieprawidłowe wyrażenie filtra, proces bez modelu, nieobsługiwany typ przesyłanego pliku lub brak wymaganego pola
  • 401 Brakujący, nieprawidłowy, wyłączony lub wygasły klucz API
  • 404 Nie znaleziono zasobu

Zaktualizuj symulację (pola lub ustawienia elementów)

Endpoint: PUT /v1/tenant/{tenantId}/processes/{processId}/simulations/{simulationId}

Uwierzytelnianie: Klucz API przypisany do tenanta · zakres write

Parametry:

Nazwa Typ Lokalizacja Wymagane Opis
tenantId string ścieżka Tak Format: uuid
processId string ścieżka Tak Format: uuid
simulationId string ścieżka Tak Format: uuid

Treść żądania:

{
	"displayName": "string",
	"datasetName": "string",
	"startTime": "2024-03-15T16:30:00Z",
	"endTime": "2024-03-15T16:30:00Z",
	"useWarmUp": true,
	"elementSettings": [
		{
			"modelElementId": "00000000-0000-0000-0000-000000000000",
			"settings": {
				"caseStartsDistribution": [
					{
						"timeslot": {
							"periodicity": "Always"
						},
						"conditions": [
							{
								"type": "Values",
								"attribute": "string",
								"values": [
									"string"
								]
							}
						],
						"distribution": {
							"type": "Fixed",
							"value": 0
						},
						"timeUnit": "seconds",
						"rateUnit": "perTimeSlot"
					}
				],
				"processingTimeDistribution": [
					{
						"timeslot": {
							"periodicity": "Always"
						},
						"conditions": [
							{
								"type": "Values",
								"attribute": "string",
								"values": [
									"string"
								]
							}
						],
						"distribution": {
							"type": "Fixed",
							"value": 0
						},
						"timeUnit": "seconds",
						"rateUnit": "perTimeSlot"
					}
				]
			}
		}
	]
}
Pole Typ Wymagane Opis
displayName string Nie Nazwa symulacji
datasetName string Nie Nazwa zbioru danych używanego w symulacji
startTime string Nie Czas rozpoczęcia symulacji
Format: date-time
endTime string Nie Czas zakończenia symulacji
Format: date-time
useWarmUp boolean Nie Czy pominąć okres rozgrzewki
elementSettings object[] Nie Nadpisania ustawień poszczególnych elementów

Odpowiedź (200):

Zaktualizowano symulację

{
	"message": "string"
}
Pole Typ Wymagane Opis
message string Tak

Błędy:

  • 400 Nieprawidłowe żądanie, np. nieprawidłowe wyrażenie filtra, proces bez modelu, nieobsługiwany typ przesyłanego pliku lub brak wymaganego pola
  • 401 Brakujący, nieprawidłowy, wyłączony lub wygasły klucz API
  • 404 Nie znaleziono zasobu

Trwale usuń symulację

Endpoint: DELETE /v1/tenant/{tenantId}/processes/{processId}/simulations/{simulationId}

Uwierzytelnianie: Klucz API przypisany do tenanta · zakres write

Parametry:

Nazwa Typ Lokalizacja Wymagane Opis
tenantId string ścieżka Tak Format: uuid
processId string ścieżka Tak Format: uuid
simulationId string ścieżka Tak Format: uuid

Odpowiedź (200):

Usunięto symulację

{
	"message": "string"
}
Pole Typ Wymagane Opis
message string Tak

Błędy:

  • 400 Nieprawidłowe żądanie, np. nieprawidłowe wyrażenie filtra, proces bez modelu, nieobsługiwany typ przesyłanego pliku lub brak wymaganego pola
  • 401 Brakujący, nieprawidłowy, wyłączony lub wygasły klucz API
  • 404 Nie znaleziono zasobu

Te endpointy wykorzystują AI do automatycznego generowania ustawień symulacji na podstawie modelu procesu.

Generowanie ustawień symulacji za pomocą AI (asynchronicznie; sprawdzanie statusu przez endpoint)

Endpoint: POST /v1/tenant/{tenantId}/processes/{processId}/simulations/{simulationId}/generate-settings

Uwierzytelnianie: Klucz API przypisany do tenanta · zakres write · limit 2 żądań/s (maksymalnie 4 jednocześnie)

Parametry:

Nazwa Typ Lokalizacja Wymagane Opis
tenantId string ścieżka Tak Format: uuid
processId string ścieżka Tak Format: uuid
simulationId string ścieżka Tak Format: uuid

Treść żądania:

{
	"processDescription": "string",
	"additionalContext": "string"
}
Pole Typ Wymagane Opis
processDescription string Nie
additionalContext string Nie

Odpowiedź (200):

Rozpoczęto generowanie / wynik

{
	"message": "string"
}
Pole Typ Wymagane Opis
message string Tak

Błędy:

  • 400 Nieprawidłowe żądanie, np. nieprawidłowe wyrażenie filtra, proces bez modelu, nieobsługiwany typ przesyłanego pliku lub brak wymaganego pola
  • 401 Brakujący, nieprawidłowy, wyłączony lub wygasły klucz API
  • 404 Nie znaleziono zasobu

Sprawdź status generowania ustawień symulacji

Endpoint: GET /v1/tenant/{tenantId}/processes/{processId}/simulations/{simulationId}/generate-settings/status

Uwierzytelnianie: Klucz API przypisany do tenanta · zakres write

Parametry:

Nazwa Typ Lokalizacja Wymagane Opis
tenantId string ścieżka Tak Format: uuid
processId string ścieżka Tak Format: uuid
simulationId string ścieżka Tak Format: uuid

Odpowiedź (200):

Status generowania

{
	"message": "string"
}
Pole Typ Wymagane Opis
message string Tak

Błędy:

  • 400 Nieprawidłowe żądanie, np. nieprawidłowe wyrażenie filtra, proces bez modelu, nieobsługiwany typ przesyłanego pliku lub brak wymaganego pola
  • 401 Brakujący, nieprawidłowy, wyłączony lub wygasły klucz API
  • 404 Nie znaleziono zasobu

Uruchom symulację (asynchronicznie; wyniki trafiają do tabel danych procesu)

Endpoint: POST /v1/tenant/{tenantId}/processes/{processId}/simulations/{simulationId}/run

Uwierzytelnianie: Klucz API przypisany do tenanta · zakres write · limit 5 żądań/s (maksymalnie 10 jednocześnie)

Parametry:

Nazwa Typ Lokalizacja Wymagane Opis
tenantId string ścieżka Tak Format: uuid
processId string ścieżka Tak Format: uuid
simulationId string ścieżka Tak Format: uuid

Odpowiedź (200):

Rozpoczęto symulację

{
	"message": "string"
}
Pole Typ Wymagane Opis
message string Tak

Błędy:

  • 400 Nieprawidłowe żądanie, np. nieprawidłowe wyrażenie filtra, proces bez modelu, nieobsługiwany typ przesyłanego pliku lub brak wymaganego pola
  • 401 Brakujący, nieprawidłowy, wyłączony lub wygasły klucz API
  • 404 Nie znaleziono zasobu

Sprawdź status ostatniego uruchomienia symulacji (ustalany na podstawie tabeli wynikowej)

Endpoint: GET /v1/tenant/{tenantId}/processes/{processId}/simulations/{simulationId}/run/status

Uwierzytelnianie: Klucz API przypisany do tenanta · zakres read

Parametry:

Nazwa Typ Lokalizacja Wymagane Opis
tenantId string ścieżka Tak Format: uuid
processId string ścieżka Tak Format: uuid
simulationId string ścieżka Tak Format: uuid

Odpowiedź (200):

Status uruchomienia

{
	"state": "notStarted",
	"startedAt": "2024-03-15T16:30:00Z",
	"completedAt": "2024-03-15T16:30:00Z",
	"step": "string",
	"casesSimulated": 0,
	"targetCases": 0,
	"eventsGenerated": 0,
	"errorMessage": "string",
	"simulationId": "00000000-0000-0000-0000-000000000000"
}
Pole Typ Wymagane Opis
state notStarted | running | processing | ready | error Tak Dozwolone wartości: notStarted, running, processing, ready, error
startedAt string Nie Format: date-time
completedAt string Nie Format: date-time
step string Nie
casesSimulated number Nie
targetCases number Nie
eventsGenerated number Nie
errorMessage string Nie
simulationId string Tak Format: uuid

Błędy:

  • 400 Nieprawidłowe żądanie, np. nieprawidłowe wyrażenie filtra, proces bez modelu, nieobsługiwany typ przesyłanego pliku lub brak wymaganego pola
  • 401 Brakujący, nieprawidłowy, wyłączony lub wygasły klucz API
  • 404 Nie znaleziono zasobu

Projektuj lepsze procesy. Buduj spójną architekturę. Zachowaj kontrolę.

Uzyskaj dostęp od razu, bez karty kredytowej i czekania. Przedstaw sposób działania organizacji w postaci przejrzystych, powiązanych modeli procesów.

Buduj architekturę procesów, określaj właścicieli i mechanizmy kontroli oraz uzgadniaj role i zakresy odpowiedzialności na każdym poziomie.

Rozpocznij okres próbny i stwórz solidną podstawę do nadzorowania, zarządzania i ciągłego doskonalenia procesów.