{Oracle PaaS}{Oracle Process Cloud Service} via REST API

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

Et après avoir récupéré les informations processDefId, processName…, on déclenche notre processus, autrement dit, on crée notre instance du processus via l’appel REST API suivant :
POST     /bpm/api/4.0/processes
Qui sert à créer une nouvelle instance de processus ou enregistrer une instance de processus en fonction de la valeur de l’action dans l’entrée.
L’instance de processus peut également être créée avec uniquement des données utiles JSON pour créer une instance de processus si les pièces jointes ne sont pas nécessaires.

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 !