Nesta página

Referência da API: simulações

As simulações permitem testar cenários hipotéticos nos modelos de processo. Você pode configurar tempos de processamento, alocação de recursos e taxas de chegada para prever o comportamento do processo.

Listar simulações de um processo

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

Autenticação: Chave de API vinculada ao ambiente · escopo read

Parâmetros:

Nome Tipo Localização Obrigatório Descrição
tenantId string caminho Sim Formato: uuid
processId string caminho Sim Formato: uuid
limit integer consulta Não Número máximo de itens a retornar
offset integer consulta Não Número de itens a ignorar

Resposta (200):

Lista de simulações

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

Erros:

  • 400 Solicitação inválida: por exemplo, expressão de filtro inválida, processo sem modelo, tipo de upload não compatível ou campo obrigatório ausente
  • 401 Chave de API ausente, inválida, desativada ou expirada
  • 404 Recurso não encontrado

Criar uma simulação (idempotente quando um ID é informado)

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

Autenticação: Chave de API vinculada ao ambiente · escopo write

Parâmetros:

Nome Tipo Localização Obrigatório Descrição
tenantId string caminho Sim Formato: uuid
processId string caminho Sim Formato: uuid

Corpo da solicitação:

{
	"id": "00000000-0000-0000-0000-000000000000",
	"displayName": "string",
	"datasetName": "string",
	"startTime": "2024-03-15T16:30:00Z",
	"endTime": "2024-03-15T16:30:00Z",
	"useWarmUp": true
}
Campo Tipo Obrigatório Descrição
id string Não ID opcional para novas tentativas idempotentes (deve ser um UUID)
Formato: uuid
displayName string Não Nome da simulação
Padrão: New Simulation
datasetName string Não Nome do conjunto de dados usado na simulação
startTime string Não Hora de início da simulação
Formato: date-time
endTime string Não Hora de término da simulação
Formato: date-time
useWarmUp boolean Não Indica se o período de aquecimento deve ser descartado
Padrão: false

Resposta (201):

Simulação criada

{
	"simulation": {
		"id": "00000000-0000-0000-0000-000000000000",
		"displayName": "string"
	},
	"message": "string"
}
Campo Tipo Obrigatório Descrição
simulation object Sim
message string Sim

Erros:

  • 400 Solicitação inválida: por exemplo, expressão de filtro inválida, processo sem modelo, tipo de upload não compatível ou campo obrigatório ausente
  • 401 Chave de API ausente, inválida, desativada ou expirada
  • 404 Recurso não encontrado
  • 409 A solicitação entra em conflito com o estado atual (por exemplo, restrição de licença ou ID já utilizado)

Consultar uma simulação com as configurações dos elementos, atributos e recursos

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

Autenticação: Chave de API vinculada ao ambiente · escopo read

Parâmetros:

Nome Tipo Localização Obrigatório Descrição
tenantId string caminho Sim Formato: uuid
processId string caminho Sim Formato: uuid
simulationId string caminho Sim Formato: uuid

Resposta (200):

Detalhes da simulação

{
	"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"
		}
	]
}
Campo Tipo Obrigatório Descrição
simulation object Sim Dados principais da simulação
elementSettings object[] Sim Configurações da simulação por elemento
attributes object[] Sim Atributos simulados
resources object[] Sim Grupos de recursos

Erros:

  • 400 Solicitação inválida: por exemplo, expressão de filtro inválida, processo sem modelo, tipo de upload não compatível ou campo obrigatório ausente
  • 401 Chave de API ausente, inválida, desativada ou expirada
  • 404 Recurso não encontrado

Atualizar uma simulação (campos e/ou configurações dos elementos)

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

Autenticação: Chave de API vinculada ao ambiente · escopo write

Parâmetros:

Nome Tipo Localização Obrigatório Descrição
tenantId string caminho Sim Formato: uuid
processId string caminho Sim Formato: uuid
simulationId string caminho Sim Formato: uuid

Corpo da solicitação:

{
	"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"
					}
				]
			}
		}
	]
}
Campo Tipo Obrigatório Descrição
displayName string Não Nome da simulação
datasetName string Não Nome do conjunto de dados usado na simulação
startTime string Não Hora de início da simulação
Formato: date-time
endTime string Não Hora de término da simulação
Formato: date-time
useWarmUp boolean Não Indica se o período de aquecimento deve ser descartado
elementSettings object[] Não Substituições das configurações por elemento

Resposta (200):

Simulação atualizada

{
	"message": "string"
}
Campo Tipo Obrigatório Descrição
message string Sim

Erros:

  • 400 Solicitação inválida: por exemplo, expressão de filtro inválida, processo sem modelo, tipo de upload não compatível ou campo obrigatório ausente
  • 401 Chave de API ausente, inválida, desativada ou expirada
  • 404 Recurso não encontrado

Excluir permanentemente uma simulação

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

Autenticação: Chave de API vinculada ao ambiente · escopo write

Parâmetros:

Nome Tipo Localização Obrigatório Descrição
tenantId string caminho Sim Formato: uuid
processId string caminho Sim Formato: uuid
simulationId string caminho Sim Formato: uuid

Resposta (200):

Simulação excluída

{
	"message": "string"
}
Campo Tipo Obrigatório Descrição
message string Sim

Erros:

  • 400 Solicitação inválida: por exemplo, expressão de filtro inválida, processo sem modelo, tipo de upload não compatível ou campo obrigatório ausente
  • 401 Chave de API ausente, inválida, desativada ou expirada
  • 404 Recurso não encontrado

Estes endpoints usam IA para gerar automaticamente configurações de simulação com base no modelo de processo.

Gerar configurações da simulação com IA (assíncrono; consulte o endpoint de status)

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

Autenticação: Chave de API vinculada ao ambiente · escopo write · limite de requisições: 2 req/s (pico de 4)

Parâmetros:

Nome Tipo Localização Obrigatório Descrição
tenantId string caminho Sim Formato: uuid
processId string caminho Sim Formato: uuid
simulationId string caminho Sim Formato: uuid

Corpo da solicitação:

{
	"processDescription": "string",
	"additionalContext": "string"
}
Campo Tipo Obrigatório Descrição
processDescription string Não
additionalContext string Não

Resposta (200):

Geração iniciada / resultado

{
	"message": "string"
}
Campo Tipo Obrigatório Descrição
message string Sim

Erros:

  • 400 Solicitação inválida: por exemplo, expressão de filtro inválida, processo sem modelo, tipo de upload não compatível ou campo obrigatório ausente
  • 401 Chave de API ausente, inválida, desativada ou expirada
  • 404 Recurso não encontrado

Consultar o status da geração das configurações da simulação

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

Autenticação: Chave de API vinculada ao ambiente · escopo write

Parâmetros:

Nome Tipo Localização Obrigatório Descrição
tenantId string caminho Sim Formato: uuid
processId string caminho Sim Formato: uuid
simulationId string caminho Sim Formato: uuid

Resposta (200):

Status da geração

{
	"message": "string"
}
Campo Tipo Obrigatório Descrição
message string Sim

Erros:

  • 400 Solicitação inválida: por exemplo, expressão de filtro inválida, processo sem modelo, tipo de upload não compatível ou campo obrigatório ausente
  • 401 Chave de API ausente, inválida, desativada ou expirada
  • 404 Recurso não encontrado

Iniciar uma execução da simulação (assíncrona; os resultados ficam nas tabelas de dados do processo)

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

Autenticação: Chave de API vinculada ao ambiente · escopo write · limite de requisições: 5 req/s (pico de 10)

Parâmetros:

Nome Tipo Localização Obrigatório Descrição
tenantId string caminho Sim Formato: uuid
processId string caminho Sim Formato: uuid
simulationId string caminho Sim Formato: uuid

Resposta (200):

Simulação iniciada

{
	"message": "string"
}
Campo Tipo Obrigatório Descrição
message string Sim

Erros:

  • 400 Solicitação inválida: por exemplo, expressão de filtro inválida, processo sem modelo, tipo de upload não compatível ou campo obrigatório ausente
  • 401 Chave de API ausente, inválida, desativada ou expirada
  • 404 Recurso não encontrado

Consultar o status da última execução da simulação (obtido da tabela de saída)

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

Autenticação: Chave de API vinculada ao ambiente · escopo read

Parâmetros:

Nome Tipo Localização Obrigatório Descrição
tenantId string caminho Sim Formato: uuid
processId string caminho Sim Formato: uuid
simulationId string caminho Sim Formato: uuid

Resposta (200):

Status da execução

{
	"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"
}
Campo Tipo Obrigatório Descrição
state notStarted | running | processing | ready | error Sim Valores permitidos: notStarted, running, processing, ready, error
startedAt string Não Formato: date-time
completedAt string Não Formato: date-time
step string Não
casesSimulated number Não
targetCases number Não
eventsGenerated number Não
errorMessage string Não
simulationId string Sim Formato: uuid

Erros:

  • 400 Solicitação inválida: por exemplo, expressão de filtro inválida, processo sem modelo, tipo de upload não compatível ou campo obrigatório ausente
  • 401 Chave de API ausente, inválida, desativada ou expirada
  • 404 Recurso não encontrado

Melhore seus processos. Crie uma arquitetura conectada. Mantenha o controle.

Acesse na hora, sem cartão de crédito nem espera. Transforme a forma como sua organização trabalha em modelos de processo claros e conectados.

Crie sua arquitetura de processos, defina responsabilidades e controles e alinhe papéis e atribuições em todos os níveis.

Comece o teste grátis e crie uma base confiável para governar, gerenciar e melhorar seus processos continuamente.