callback
O parâmetro callback é um objeto que contém os dados do webhook que será utilizado para receber os eventos do cálculo do problema.
Assim não será necessário consultar o status do problema para verificar se o mesmo foi processado. A API irá notificar o webhook quando a solução estiver disponível para consulta.
Os seguintes parâmetros são necessários:
url
- URL com o endereço que irá receber o callback.user
- (Opcional) Texto com o nome do usuário caso o endpoint precisar de autenticação.password
- (Opcional) Texto com a senha caso o endpoint precisar de autenticação.
Abaixo um exemplo com a utilização do callback:
"callback": {
"password": "nome_usuario",
"url": "https://enqkbfcos3dhgchuikd.webhook.net",
"user": "senha"
},
O verbo HTTP utilzado será um POST
. As informações de usuário e senha serão enviadas nos headers user
e password
. No body, será enviado um JSON com o formato e campos abaixo:
[{
id: String,
jobId: String,
type: Enum (STATUS_CHANGE, ERROR, STEP_CHANGE, PERCENT_CHANGE, WARNING),
description: String,
createdAt: Date
}]
O callback irá enviar dados a cada mudança de status, com o ID do problema.
Uma vez que atingiu o status “SOLVED”, pode-se criar um gatilho para obter a solução. Abaixo os status que o callback envia:
1- Status ENQUEUED
[0]
createdAt: 1617034915185
description: ENQUEUED
jobId: 6061fea38031257fe109f0b7
type: STATUS_CHANGE[1]
createdAt: 1617034915255
description: 1
jobId: 6061fea38031257fe109f0b7
type: PERCENT_CHANGE
2-Status CONVERT_TO_MATRIX
[0]
createdAt: 1617034915164
description: CONVERT_TO_MATRIX
jobId: 6061fea38031257fe109f0b7
type: STATUS_CHANGE
3- Status PROCESSING
[0]
createdAt: 1617034915335
description: PROCESSING
jobId: 6061fea38031257fe109f0b7
type: STATUS_CHANGE
4- Status MATRIX_CALCULATION
[0]
createdAt: 1617034915608
description: MATRIX_CALCULATION
jobId: 6061fea38031257fe109f0b7
type: STATUS_CHANGE
5- Status progress 60%
[0]
createdAt: 1617034916863
description: progress 60%
jobId: 6061fea38031257fe109f0b7
type: STEP_CHANGE
6- Status CALCULATE_PLANNING
[0]
createdAt: 1617034917633
description: CALCULATE_PLANNING
jobId: 6061fea38031257fe109f0b7
type: STATUS_CHANGE[1]
createdAt: 1617034917740
description: 60
jobId: 6061fea38031257fe109f0b7
type: PERCENT_CHANGE
7- Status PRE_TREATMENTS
[0]
createdAt: 1617034918058
description: PRE_TREATMENTS
jobId: 6061fea38031257fe109f0b7
type: STEP_CHANGE
8- Status INITIAL_CONSTRUCTION
[0]
createdAt: 1617034918207
description: INITIAL_CONSTRUCTION
jobId: 6061fea38031257fe109f0b7
type: STEP_CHANGE
9- Status IMPROVEMENT
[0]
createdAt: 1617034918346
description: IMPROVEMENT
jobId: 6061fea38031257fe109f0b7
type: STEP_CHANGE
10- Status POST_TREATMENTS
[0]
createdAt: 1617034918535
description: POST_TREATMENTS
jobId: 6061fea38031257fe109f0b7
type: STEP_CHANGE
11- Status SOLVED
[0]
createdAt: 1617034918777
description: SOLVED
jobId: 6061fea38031257fe109f0b7
type: STATUS_CHANGE[1]
createdAt: 1617034918885
description: 100
jobId: 6061fea38031257fe109f0b7
type: PERCENT_CHANGE[2]
createdAt: 1617034918992
description: TERMINATE
jobId: 6061fea38031257fe109f0b7
type: STEP_CHANGE