Configure deployments

Deployments use API calls and scripts to take action automatically, triggered by user events, as described in the overview of API callbacks.

In response to a single user event, deployments can make multiple API calls. For example, when a user creates a subscription, the deployment can:

  1. Do an API call to your provisioning endpoint.
  2. Then do an API call to your SAP system to register the purchase.

API calls and scripts are executed in order, from top to bottom. All actions for a given event must execute successfully for the deployment to be considered successful.

Suppose, for example, a deployment has three API calls. The first call succeeds, the second fails, and therefore the third is not executed. The effects of the first API call remain in place and are not "undone." There is no rollback of the first call. However, because all calls in the deployment are not executed successfully, the deployment status is marked as failed.

Action chains

The API calls can be "chained." This means that response values can be captured and used as input to a subsequent action within the deployment.

Response values cannot currently be captured and used at a later time. They must be used within the working deployment.

Select a user event

Go to Products

  1. Find your product and click Edit.
  2. Under Deployment Actions, click Add+.

    Under Event, select a user event:

    • Deployment
    • Subscription create
    • Subscription trial end
    • Subscription change
    • Subscription cancel

Configure an API call

  1. Under Type, select API.
  2. Enter the endpoint URL.

Set the API request type

Under Request Type, select:

  • Post: Create a resource.
  • Get: Retrieve information about a resource.
  • Put: Update a resource.

Add any input fields

  1. Click Fields and Add+.
  2. Enter a field name and a label name. Field and label are the same, by default.
  3. Enter a type:

    • String
    • Password
    • Number
    • Select
    • Multi-select
    • Cloud account
  4. (Optional) Enter a default value.

  5. (Optional) Enter a description.

Set the content type

  • Form URL-Encoded
  • JSON
  • Custom JSON

Edit the API credentials

Currently, only basic authentication is supported.

Add any query parameter names and user-input fields

Add key-value pairs as request parameters sent with the API call. The values can contain placeholders that are replaced with values during deployment.

When deploying a product with an API callback, the customer completes a form built using input fields. To automatically generate the user-input fields, click Inp+.

You can use placeholders in URLs, query strings, and content bodies.

Examples

  • URL: http://www.example.com/{<placeHolder>}/myservice

  • Query string: http://www.example.com/myresource/myservice?var1={<placeHolder1>}&var2={<placeHolder2>}

  • Content body: { "mykey": "{<placeHolder>}" }

Add output field names and mapping

Output fields allow you to take output from this call and use it as input to the next call.

Example API call: create entitlement

Entitlement example

Example API call: create report key

Output from "Create entitlement" is used as input to this API call.

Report key example

Notes on API calls

  • Only JSON responses supported.
  • Following redirects is not currently supported.
  • Only GET, POST and PUT methods are supported.
  • Only 2xx status codes are considered successful.
  • The binary file substitute parameter returns a signed and timed URL to the file in a GCS bucket.
  • Currently, output variables can only be defined from root-level objects in JSON responses. Data types must be a string, number, or bool.

Example

{
  "first_name": "Jane", // <== OK to extract
  "last_name": "Doe", // <== OK to extract
  "addresses": [ // <== Can't extract from nested datatype
    { "address": "1234 main st", "city": "mycity", "state": "zip": "11111" },
    ...
  ]
  "is_customer": true
}

Test API calls

As a best practice, use cURL to test and verify API calls prior to entering the calls into Orbitera.

Example

curl -D --X POST -d '{"foo": "bar"}' http://register.example.com/api/newSignup/

View your deployments

You can view your deployments at:

Go to Deployments