HTTP Handler Webservices

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.

image

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ì:

image

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