{"id":1864,"date":"2023-12-12T19:25:37","date_gmt":"2023-12-12T19:25:37","guid":{"rendered":"https:\/\/developers.maplink.global\/como-recibir-el-estado-actual-del-problema-a-traves-de-webhook\/"},"modified":"2024-02-28T13:19:38","modified_gmt":"2024-02-28T13:19:38","slug":"como-recibir-el-estado-actual-del-problema-a-traves-de-webhook","status":"publish","type":"post","link":"https:\/\/developers.maplink.global\/es\/como-recibir-el-estado-actual-del-problema-a-traves-de-webhook\/","title":{"rendered":"\u00bfC\u00f3mo recibir el estado actual del problema a trav\u00e9s de webhook?"},"content":{"rendered":"\n<p>La Planning API funciona de forma <strong>as\u00edncrona <\/strong>. Esto significa que cuando se env\u00eda un problema, se devuelve un ID y a trav\u00e9s de este ID ser\u00e1 posible consultar el estado actual del procesamiento y, cuando se complete, la soluci\u00f3n al problema.<\/p>\n\n<p>Utilizando el par\u00e1metro <code>callback<\/code> en la solicitud a Planning, puede informar a un <em>webhook<strong> <\/strong><\/em>para recibir una solicitud en cada cambio de estado en el tratamiento del problema.<\/p>\n\n<p>As\u00ed no tendr\u00e1 que comprobar el estado del problema para ver si se ha tramitado. La API notificar\u00e1 al <em>webhook <\/em>cuando la soluci\u00f3n est\u00e9 disponible para su consulta.<\/p>\n\n<p>Se requieren los siguientes par\u00e1metros:<\/p>\n\n<ul class=\"wp-block-list\">\n<li><code>url<\/code> &#8211; URL con la direcci\u00f3n que recibir\u00e1 lo <em>callback<\/em>.<\/li>\n\n\n\n<li><code>user<\/code>  &#8211; (Opcional) Texto con el nombre del usuario si el endpoint requiere autenticaci\u00f3n<em>.<\/em><\/li>\n\n\n\n<li><code>password<\/code>  &#8211; (Opcional) Texto de la contrase\u00f1a si el endpoint requiere autenticaci\u00f3n.<\/li>\n<\/ul>\n\n<p>A continuaci\u00f3n se muestra un ejemplo de c\u00f3mo se utiliza la devoluci\u00f3n de llamada:<\/p>\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"json\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\"callback\": {\n    \"password\": \"nome_usuario\",\n    \"url\": \"https:\/\/enqkbfcos3dhgchuikd.webhook.net\",\n    \"user\": \"senha\"\n},<\/pre>\n\n<p>El m\u00e9todo HTTP es un POST. La informaci\u00f3n de usuario y contrase\u00f1a va en las cabeceras <code>user<\/code> y <code>password<\/code>. Se enviar\u00e1 un JSON con el formato y los campos que se indican a continuaci\u00f3n:<\/p>\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"json\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">[{\n    id: String,\n    jobId: String,\n    type: Enum (STATUS_CHANGE, ERROR, STEP_CHANGE, PERCENT_CHANGE, WARNING),\n    description: String,\n    createdAt: Date\n}] <\/pre>\n\n<p>La llamada de retorno enviar\u00e1 datos con cada cambio en el estado de procesamiento. La llamada de retorno de la API Planning enviar\u00e1 cada estado junto con el ID del problema en el cuerpo. As\u00ed, una vez que el  <strong><code>\"SOLVED\"<\/code><\/strong>puede crear un disparador para obtener la soluci\u00f3n. A continuaci\u00f3n figura una lista de todos los estados que han enviado sus solicitudes:<\/p>\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">1- Status ENQUEUED\n    [0]\n    createdAt: 1617034915185\n    description: ENQUEUED\n    jobId: 6061fea38031257fe109f0b7\n    type: STATUS_CHANGE\n\n\n    [1]\n    createdAt: 1617034915255\n    description: 1\n    jobId: 6061fea38031257fe109f0b7\n    type: PERCENT_CHANGE\n \n2-Status CONVERT_TO_MATRIX\n    [0]\n    createdAt: 1617034915164\n    description: CONVERT_TO_MATRIX\n    jobId: 6061fea38031257fe109f0b7\n    type: STATUS_CHANGE\n \n3- Status PROCESSING\n    [0]\n    createdAt: 1617034915335\n    description: PROCESSING\n    jobId: 6061fea38031257fe109f0b7\n    type: STATUS_CHANGE\n \n4- Status MATRIX_CALCULATION\n    [0]\n    createdAt: 1617034915608\n    description: MATRIX_CALCULATION\n    jobId: 6061fea38031257fe109f0b7\n    type: STATUS_CHANGE\n \n5- Status progress 60%\n    [0]\n    createdAt: 1617034916863\n    description: progress 60%\n    jobId: 6061fea38031257fe109f0b7\n    type: STEP_CHANGE\n\n\n6- Status CALCULATE_PLANNING\n    [0]\n    createdAt: 1617034917633\n    description: CALCULATE_PLANNING\n    jobId: 6061fea38031257fe109f0b7\n    type: STATUS_CHANGE\n\n\n    [1]\n    createdAt: 1617034917740\n    description: 60\n    jobId: 6061fea38031257fe109f0b7\n    type: PERCENT_CHANGE\n \n7- Status PRE_TREATMENTS\n    [0]\n    createdAt: 1617034918058\n    description: PRE_TREATMENTS\n    jobId: 6061fea38031257fe109f0b7\n    type: STEP_CHANGE\n \n8- Status INITIAL_CONSTRUCTION\n    [0]\n    createdAt: 1617034918207\n    description: INITIAL_CONSTRUCTION\n    jobId: 6061fea38031257fe109f0b7\n    type: STEP_CHANGE\n \n9- Status IMPROVEMENT\n    [0]\n    createdAt: 1617034918346\n    description: IMPROVEMENT\n    jobId: 6061fea38031257fe109f0b7\n    type: STEP_CHANGE\n \n10- Status POST_TREATMENTS\n    [0]\n    createdAt: 1617034918535\n    description: POST_TREATMENTS\n    jobId: 6061fea38031257fe109f0b7\n    type: STEP_CHANGE\n \n11- Status SOLVED\n    [0]\n    createdAt: 1617034918777\n    description: SOLVED\n    jobId: 6061fea38031257fe109f0b7\n    type: STATUS_CHANGE\n\n\n    [1]\n    createdAt: 1617034918885\n    description: 100\n    jobId: 6061fea38031257fe109f0b7\n    type: PERCENT_CHANGE\n\n\n    [2]\n    createdAt: 1617034918992\n    description: TERMINATE\n    jobId: 6061fea38031257fe109f0b7\n    type: STEP_CHANGE<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>La Planning API funciona de forma as\u00edncrona . Esto significa que cuando se env\u00eda un problema, se devuelve un ID y a trav\u00e9s de este ID ser\u00e1 posible consultar el estado actual del procesamiento y, cuando se complete, la soluci\u00f3n al problema. Utilizando el par\u00e1metro callback en la solicitud a Planning, puede informar a un [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[147],"tags":[],"class_list":["post-1864","post","type-post","status-publish","format-standard","hentry","category-planning-es"],"acf":[],"_links":{"self":[{"href":"https:\/\/developers.maplink.global\/es\/wp-json\/wp\/v2\/posts\/1864","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/developers.maplink.global\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/developers.maplink.global\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/developers.maplink.global\/es\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/developers.maplink.global\/es\/wp-json\/wp\/v2\/comments?post=1864"}],"version-history":[{"count":2,"href":"https:\/\/developers.maplink.global\/es\/wp-json\/wp\/v2\/posts\/1864\/revisions"}],"predecessor-version":[{"id":2499,"href":"https:\/\/developers.maplink.global\/es\/wp-json\/wp\/v2\/posts\/1864\/revisions\/2499"}],"wp:attachment":[{"href":"https:\/\/developers.maplink.global\/es\/wp-json\/wp\/v2\/media?parent=1864"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/developers.maplink.global\/es\/wp-json\/wp\/v2\/categories?post=1864"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/developers.maplink.global\/es\/wp-json\/wp\/v2\/tags?post=1864"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}