Dans ce présent article, je vous présente deux principaux appels REST API que j’ai utilisé dans le cadre du développent du processus de validation du formulaire en PCS – Process Cloud Service pour l’application de consentement décentralisée développée en utilisant le stack Oracle PaaS incluant : VBCS, ICS, PCS, BlockChain, Chatbot, VueJS, Content Cloud en seulement 2,5 jours et qui a remporté le 1er prix du Hackathon – Oracle PaasSummerCamp 2018 à Lisbonne fin août par l’équipe ‘Team2_4Evah‘ dont je faisais partie.
Les deux principaux appels REST API utilisés pour déclencher notre processus PCS, ainsi que récupérer l’identifiant de mon processus et créer une instance du processus étaient comme suit :
1ère Etape
On passe une requête REST API GET :
GET /bpm/api/4.0/process-definitions
Qui nous permettra de récupérer les définitions de processus et récupérer les informations suivantes :
{
"processDefId": "default~TravelReq!1~TravelApproval",
"processName": "TravelApproval",
"application": "default",
"revision": "1",
"domain": "default",
"interfaces": [
{
"title": "Submit Travel Request(1)",
"serviceName": "TravelApproval.service",
"operation": "start",
"startType": "START_FORM",
"category": "",
"args": [
{..
2ème Etape
POST /bpm/api/4.0/processes
Envoi requête :
https://host_oracle_pcs/bpm/api/version/processes
- <version> correspond à la version REST API
L’exemple suivant montre comment envoyer notre requête JSON pour déclencher le processus TravelApproval :
{ "processDefId":"default~TravelReq!1~TravelApproval", "serviceName":"TravelApproval.service", "operation":"start", "action":"Submit", "params":{"firstName":"John", "lastName":"Doe"} }
Et voici un exemple de réponse, avec le paramètre « state »: »OPEN » :
{ "levels": 0, "links": [ { "href": "http://example.com:7001/bpm/api/4.0/processes/20017", "length": 0, "rel": "self" }, { "href": "http://example.com:7001/bpm/api/4.0/processes/20017/audit", "length": 0, "rel": "audit" } ], "title": "Instance #20017 of Travel Approval", "processId": "20017", "processDefId": "default/TravelReq!1/TravelApproval", "processName": "TravelApproval", "priority": 0, "state": "OPEN", "owner": "TravelReq.ProcessOwner", "creator": "Admin" }
Qui signifie que notre processus a été bien déclenché, et on a bien notre instance du processus associée …
Et ainsi le flow de notre process PCS est déclenché 🙂
Bonne lecture !