Sin saber los endpoints de tu REST, no puedo aconsejarte, pero puedes conseguir los datos de un caso en un trigger de ProcessMaker y llamar un endpoint de REST con CURL así:
Code: Select all$caseId = @@APPLICATION;
$index = @%INDEX;
$oCase = new Cases();
$aCaseInfo = $oCase->LoadCase($caseId, $index);
$aCaseVars = $aCaseInfo['APP_DATA']; //if sending case variables as an array
$sCaseVars = json_encode($aCaseVars); //if sending case variables as a JSON string
$url = "http://example.com/rest/url"; //set to your REST URL
$accessToken = isset($_COOKIE['access_token']) ? $_COOKIE['access_token'] : getAccessToken();
//depende de las variables en el otro servicio de REST
$postParams = array(
'variables' => $aCaseVars, //si esta mandando un array
'otro_variable' => 'algun_valor'
);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authorization: Bearer $accessToken"));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postParams));
$oResult = json_decode(curl_exec($ch));
$statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if (isset($oResult) and isset($oResult->error)) {
print "Error: \nCode: {$oResult->error->code}\nMessage: {$oResult->error->message}\n";
}
else {
print "Error: HTTP status code: $statusCode\n";
}
curl_close($ch);
Esta documentación es para el REST de ProcessMaker, pero puedes llamar qualquier REST en la misma forma:
https://wiki.processmaker.com/3.0/Calli ... points#PHP
Info de Cases::LoadCase():
https://wiki.processmaker.com/3.2/Inter ... Case.28.29