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