VERSIONE: 1.0
HTTP HANDLER
Questa feature permette l'escuzione di un worflow tramite una chiamata HTTP di tipo Post. É possibile inoltre inviare valori al workflow e utilizzarli con qualunque task.
casi d'uso
- Sostituire i webservices di vtiger per la creazione dei record
- Eseguire processi da una pagina web su record presenti sul CRM
- Elaborare dati sul CRM e restituirli a alla chiamata webservices come ad esempio estrarre l'elenco di ticket aperti per l'azienda indicata nella chiamata triggera l'HTTP handler
prerequisiti
- Workflow designer > 7.02.99
- Suite tools > 7.04
Sicurezza e configurazione
L'accesso alla URL dell'HTTP handler è limitata ai soli IP configurati alla voce Impostazioni HTTP del workflow designer.
Qui oltre ad impostare un titolo è possibile indicare uno o più IP autorizzati ad accedere all'handler e quale workflow deve essere eseguito. É possibile usare un singolo IP o dei range con strutture come
192.168.0.* 192.168.0.100-192.168.0.160 192.168.0.0/24
Esecuzione del workflow
Partiamo da un esempio di chiamata POST:
https://NOMEAZIENDA.opencrmitalia.com/shorturl.php?id=XXXXXXXXXXXXXX.XXXXXXXX?record_id=234&workflow_id=43&campo=valore1&xcampo2=valore2
La prima parte è presa direttamente dall'HTTP handler.
- record_id è l'id del record su cui vuoi eseguire in workflow. Se impostato a 0 il workflow sarà eseguito senza un recordo collegato.
- workflow_id è l'id del workflow da eseguire, deve essere lo stesso indigato nella configurazione dell'handler.
- campo, campo2 ecc sono valori che vogliamo passare al workflow e potranno essere usati come variabile: $env["campo"], $env["campo2"]
Uso come webservices
Nel caso sia necessario restituire informazioni sulla alla chiamata il workflow dovrà contenere un blocco condizioni personalizzate configurato così:
Non ho un ip pubblico da configurare nell'http handler
In questo caso bisogna configurare negli ip permessi quello del server del CRM. Poi la chiamata va modificate come segue:
https://NOMEAZIENDA.opencrmitalia.com/public/wf_api/index.php?id=XXXXXXXXXXXXXX.XXXXXXXX?secret_key=1234&workflow_id=43&campo=valore1&xcampo2=valore2
la secret_key va calcolata così substr(md5('secret='.$vtigerUrl), 0, 4)
o in alternativa modifichi la riga 32 dove viene definita $secretKey harcodandone una
NOTA: nel caso di usi questo entry point sul WF le variabili hanno il formato wf_api_request_NOMECAMPO