Planning

¿Cómo recibir el estado actual del problema a través de webhook?

La Planning API funciona de forma asíncrona . Esto significa que cuando se envía un problema, se devuelve un ID y a través de este ID será posible consultar el estado actual del procesamiento y, cuando se complete, la solución al problema.

Utilizando el parámetro callback en la solicitud a Planning, puede informar a un webhook para recibir una solicitud en cada cambio de estado en el tratamiento del problema.

Así no tendrá que comprobar el estado del problema para ver si se ha tramitado. La API notificará al webhook cuando la solución esté disponible para su consulta.

Se requieren los siguientes parámetros:

  • url – URL con la dirección que recibirá lo callback.
  • user – (Opcional) Texto con el nombre del usuario si el endpoint requiere autenticación.
  • password – (Opcional) Texto de la contraseña si el endpoint requiere autenticación.

A continuación se muestra un ejemplo de cómo se utiliza la devolución de llamada:

"callback": {
    "password": "nome_usuario",
    "url": "https://enqkbfcos3dhgchuikd.webhook.net",
    "user": "senha"
},

El método HTTP es un POST. La información de usuario y contraseña va en las cabeceras user y password. Se enviará un JSON con el formato y los campos que se indican a continuación:

[{
    id: String,
    jobId: String,
    type: Enum (STATUS_CHANGE, ERROR, STEP_CHANGE, PERCENT_CHANGE, WARNING),
    description: String,
    createdAt: Date
}] 

La llamada de retorno enviará datos con cada cambio en el estado de procesamiento. La llamada de retorno de la API Planning enviará cada estado junto con el ID del problema en el cuerpo. Así, una vez que el "SOLVED"puede crear un disparador para obtener la solución. A continuación figura una lista de todos los estados que han enviado sus solicitudes:

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