Un foro de discusión para nuestra comunidad de hispano hablante
User avatar
By milagrosmaria16
#814248
Chicos buenas tardes, tengo una consulta:

Quisiera saber si a través de un trigger (after routing) se puede enviar los estados TO_DO y COMPLETED (de cada ticket) de ser el caso a un servicio web externo que trabaja con API REST.

Si es posible, favor de explicarme como se podría realizar.

Espero me puedan ayudar.

Muchísimas gracias!!
User avatar
By amosbatto
#814279
Puedes usar uno de estos endpoints para obtener esa información:
    [*]Route Case: [b]PUT /light/cases/{app_uid}/route-case[/b] [*]Get user data of routing rules: [b]GET /light/task/{tas_uid}/case/{app_uid}/{del_index}/assignment[/b] [*]Get case history: [b]GET /light/history/{app_uid}[/b]
Ver:
viewtopic.php?f=47&t=730394

Nota: El equipo de desarrollo ha quitado los endpoints de Light de la documentación oficial, pero siguen funcionando.
User avatar
By milagrosmaria16
#814281
Buen Día amosbatto,

Gracias por tus comentarios pero la información que necesito saber es si existe la posibilidad de que a través de un trigger, nos podamos comunicar con un servicio rest externo que no pertenezca al processmaker.

Quedo a la espera de tus comentarios.

Muchas gracias!
User avatar
By amosbatto
#814285
Puedes usar [url:http://wiki.processmaker.com/3.0/Intern ... Case.28.29]Cases::LoadCase() [/url]para conseguir esta información en un trigger.

El truco es conseguir el número de indice así:
Code: Select all
$caseId = @@APPLICATION; //set the ID of the case
$taskId = '1234567890abcdef1234567890abcde'; //set to the ID of the task where the case is currently located
$sql = "SELECT * FROM APP_CACHE_VIEW WHERE APP_UID='$caseId' AND TAS_UID='$taskId' 
   ORDER BY DEL_INDEX DESC";
$result = executeQuery($sql)
if (empty($result)) {
  throw new Exception("Unable to find task '$taskId' in case '$caseId'");
}
$c = new Cases();
$aCase = $c->LoadCase($caseId, $result[1]['DEL_INDEX']);
@@caseStatus = $aCase['APP_STATUS']; 
Si necesitas el estatus del caso actual después de enrutarlo, este trigger debe ser ejecutado after routing.
User avatar
By milagrosmaria16
#814293
Buen Día amosbatto,

Gracias por tu apoyo, ya entendí como obtener la información del ticket el problema está en como enviar el estado a otro servicio web (REST), que código podría utilizar en el trigger (After routing).

Muchas gracias, saludos!!!!
User avatar
By milagrosmaria16
#814446
Buenas tardes,

Tengo una consulta:

Acabo de crear un servidor de pruebas Rest, almaceno el resultado en una variable para que este se muestre en un campo del formulario del ProcessMaker pero me muestra lo siguiente:

Image

<!DOCTYPE html><!--To change this license header, choose License Headers in Project Properties.To change this template file, choose Tools | Templatesand open the template in the editor.--><html> <head> <meta charset="UTF-8"> <title></title> </head> <body> "CLAUDIO_GET" </body></html>

En el trigger after routing puse lo siguiente:
Code: Select all
$service_url = "http://172.19.44.179/Web_Centrix/index.php";
$curl = curl_init($service_url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$curl_response = curl_exec($curl);
  
@@txtTicketWC = (curl_exec($curl));
curl_close($curl);
Espero me puedan apoyar!!!

Muchas gracias.
User avatar
By amosbatto
#814447
No estas conectando a un endpoint de REST. Estas descargando una pagina web.
¿Tienes documentación del servicio REST que estas tratando de usar? La documentación debe darte una lista de endpoints para usar.

A 1xbet clone script is a pre-designed software so[…]

4rabet clone script is enabling entrepreneurs to e[…]

Parimatch clone script is enabling entrepreneurs t[…]

In the world of cryptocurrency, a wallet is an app[…]