C.5 REST URLs for Configuring and Registering Custom Callouts

You can configure Cloud Manager by using different REST API calls on the Cloud Manager Application Server. The REST Client plugin for Firefox, or the Advanced Rest Client plugin for the Google Chrome browser have been tested for such calls.

You can visit http://<server>:<port>/cloudmanager-api for a full reference of the REST API, including the contents of the API packets include on return or should include on input.

Table C-2 and Table C-3 show the REST endpoints you can use to view the current Cloud Manager callouts. The URLs in the tables contain variables (that is, address elements surrounded by brackets < >) that imply specific information that you must provide:

  • /<domID>/ implies that you substitute one of the following:

    • /system/

    • /organizations/<orgID>/

    • /businessgroups/<bgID>/

Table C-2 REST Calls for Installed or Available Callouts

URL Suffix

Method

Purpose of the Command / The Resulting Payload

/callouts

GET

Purpose: Represents the list of services mentioned in Section C.2, Using the REST APIs to Modify the Cloud Manager Workflow.

Payload:

{"count":"4",
  "items":[
   {
    "bundleName":"com….taskBasedCallouts",
    "canonicalClassName":"org.eclipse….ServiceReferenceImpl",
    "implementedInterface":"interface com….ApprovalCalloutIfc",
    "provides":"Approval",
    "registrationName":"TaskBasedApproval",
    "simpleClassName":"ServiceReferenceImpl",
    "url":"http://host:8183/cloudmanager-api/callouts/TaskBasedApproval"
   },
…
  ] }

/callouts/{name}

GET

Purpose: Gets the specified callout available in the OSGI system.

{name}=registrationName

NOTE:Everything in this payload is defined by the OSGI bundle, nothing is configurable, so no PUT operation is used.

Payload:

{
  "bundleName":"com….taskBasedCallouts",
  "canonicalClassName":"org.eclipse….ServiceReferenceImpl",
  "implementedInterface":"interface com….ApprovalCalloutIfc",
  "provides":"Approval",
  "registrationName":"TaskBasedApproval",
  "simpleClassName":"ServiceReferenceImpl",
  "url":"http://host:8183/cloudmanager-api/callouts/TaskBasedApproval"
}

Table C-3 REST Calls for Integration Configuration Flags

URL Suffix

Method

Purpose of the Command / The Resulting Payload

/<domID>/integrationconfigs

GET

Purpose: Gets the domain object’s integration configuration flags.

Payload:

{
  "skipChgReqWorkflowApproval":false,
  "skipChgReqWorkflowPostApproval":true,
  "skipChgReqWorkflowPostConfig":false,
  "skipChgReqWorkflowPreConfig":false,
  "skipDelWorkflowApproval":false,
  "skipDelWorkflowPreConfig":true,
  "skipNewWorkflowApproval":false,
  "skipNewWorkflowPostApproval":false,
  "skipNewWorkflowPostConfig":false,
  "skipNewWorkflowPreConfig":false,
  "sourceObjId":1,
  "sourceObjName":"System",
  "sourceObjType":"SYSTEM",
  "url":"http://host:8183/cloudmanager-api/system/integrationconfigs"
}

/<domID>/integrationconfigs

PUT

Purpose: Sets the domain object’s integration configuration “skip” flags.

Payload: Same payload as specified above. Skip flags have a tri-state: True, False, or empty. An empty value implies inheritance from the domain object’s parent.

/<domID>/integrationcalloutitems

GET

Purpose: Lists all callout registrations for the specified domain object.

Payload:

{
  "count":10,
  "items":[
   {
    "key":"NEW_BUSINESS_SERVICE_REQUEST:POST_CONFIG",
    "sourceObjId":1,
    "sourceObjName":"System",
    "sourceObjType":"SYSTEM",
    "value":"TaskBasedPostConfig",
    "url":http://host:8183/cloudmanager-api/system/integrationcalloutitems/<key>
   },
…
  ] }

/<domID>/integrationcalloutitems/{key}

GET

Purpose: Gets the specified callout registration.

Payload: The payload in the example below indicates that at the system level, the TaskBasedPostConfig callout is used for PostConfig phase of new business service requests.

{
  "key":"NEW_BUSINESS_SERVICE_REQUEST:POST_CONFIG",
  "sourceObjId":1,
  "sourceObjName":"System",
  "sourceObjType":"SYSTEM",
  "value":"TaskBasedPostConfig",
  "url":http://host:8183/cloudmanager-api/system/ integrationcalloutitems/<key>
}

/<domID>/integrationcalloutitems

PUT

Purpose: Creates or modifies the registration for the specified domain object.

Payload:

{
  "key":"NEW_BUSINESS_SERVICE_REQUEST:POST_CONFIG",
  "value":"TaskBasedPostConfig",
}

/<domID>/integrationconfigitems

GET

Purpose: Gets the callout-specific configurations for the specified domain object. The “value” tag of the payload is specific to the callout.

Payload: The payload in this example indicates that when the TaskBasedPostConfig callout is invoked for new business service requests. The callout creates a single task and assigns it to the TASK_COMPLETE_CONFIG_BS role.

{
  "count":13,
  "items":[
   {
    "key":"TaskBasedPostConfig:NEW_BUSINESS_SERVICE_REQUEST",
    "sourceObjId":1,
    "sourceObjName":"System",
    "sourceObjType":"SYSTEM",
    "value":"1=TASK_COMPLETE_CONFIG_BS",
    "url":http://host:8183/cloudmanager-api/system/integrationconfigitems/key
   }
…
  ] }

/<domID>/integrationconfigitems/{key}

GET

Purpose: Gets the callout-specific configuration for the specified key and domain object. The “value” tag of the payload is specific to the callout.

Payload:

{
  "key":"TaskBasedPostConfig:NEW_BUSINESS_SERVICE_REQUEST",
  "sourceObjId":1,
  "sourceObjName":"System",
  "sourceObjType":"SYSTEM",
  "value":"1=TASK_COMPLETE_CONFIG_BS",
  "url":http://host:8183/cloudmanager-api/system/integrationconfigitems/key
}

/<domID>/integrationconfigitems/{key}

PUT

Purpose: Sets or modifies the callout-specific configuration for the specified key and domain object. The “value” tag of the payload is specific to the callout.

Payload:

{
  "key":"TaskBasedPostConfig:NEW_BUSINESS_SERVICE_REQUEST",
  "value":"1=TASK_COMPLETE_CONFIG_BS",
  "url":http://host:8183/cloudmanager-api/system/integrationconfigitems/key
}