OpenEdge FlowOps Webhook Documentation
OpenEdge FlowOps uses webhooks to communicate with outside resources. This communication can be used to notify external systems that a change has occurred. Additionally, webhooks provider external systems an opportunity to send data back to OpenEdge and customize and/or authorize the requested action. The following descriptions are for the webhooks that OpenEdge FlowOps supports.
Webhook: PLAN_CHANGE |
Description: This webhook is triggered after a subscription has successfully changed from one plan to another plan. |
Purpose:
- Notify the service provider of changes to a subscription
- Allow the user to change from one plan to another within the same service.
|
PLAN_CHANGE Request:
-
- transaction_id (Guid that will be the same if there are multiple webhooks triggered for one “action of the subscriber”)
- request_time (Time that the webhook was triggered, includes timezone)
- request_type (Type of webhook being triggered)
- data[operator_id] (Guid representing the operator the request came from)
- data[subscription_id] (Guid representing the specific subscription that will be used when the subscription has been created)
- data[previous][service][id] (Guid that represents that service the subscriber is subscribed to)
- data[previous][service][Name] (Name of the service in the portal)
- data[previous][service][Up] (Upload speed of the service as listed in the portal)
- data[previous][service][Down] (Download speed of the service as listed in the portal)
- data[previous][service][LinkSpeed] (The setting the interface will be set to [possible values are 10, 100, 1000, auto])
- data[previous][service][Price] (Price of the service as listed in the portal)
- data[previous][service][…] (Any additional fields that the network operator has associated with the service)
- data[new][service][id] (Guid that represents that service the that subscriber will be subscribed to)
- data[new][service][Name] (Name of the service in the portal)
- data[new][service][Up] (Upload speed of the service as listed in the portal)
- data[new][service][Down] (Download speed of the service as listed in the portal)
- data[new][service][LinkSpeed] (The setting the interface will be set to [possible values are 10, 100, 1000, auto])
- data[new][service][Price] (Price of the service as listed in the portal)
- data[new][service][…] (Any additional fields that the network operator has associated with the service)
|
PLAN_CHANGE Response
- The system will log what response is given back for troubleshooting purposes but does not make any decisions based on the response
- The call’s purpose is to notify that the event has taken place
|
Webhook: PRE_PLAN_CHANGE |
Description: This webhook is triggered after a user, the service provider or network operator selects a new plan to change the subscription to. |
Purpose:
- Allow the user to change from one plan to another within the same service.
- This is a notification to the service provider so they can do any checks on their system before allowing the subscription to change.
|
PRE_PLAN_CHANGE Request:
-
- transaction_id (Guid that will be the same if there are multiple webhooks triggered for one “action of the subscriber”)
- request_time (Time that the webhook was triggered, includes timezone)
- request_type (Type of webhook being triggered)
- data[operator_id] (Guid representing the operator the request came from)
- data[subscription_id] (Guid representing the specific subscription that will be used when the subscription has been created)
- data[previous][service][id] (Guid that represents that service plan the subscriber is subscribed to)
- data[previous][service][Name] (Name of the service in the portal)
- data[previous][service][Up] (Upload speed of the service as listed in the portal)
- data[previous][service][Down] (Download speed of the service as listed in the portal)
- data[previous][service][LinkSpeed] (The setting the interface will be set to [possible values are 10, 100, 1000, auto])
- data[previous][service][Price] (Price of the service as listed in the portal)
- data[previous][service][…] (Any additional fields that the network operator has associated with the service)
- data[new][servive][id] (Guid that represents that service plan the that subscriber will be subscribed to)
- data[new][service][Name] (Name of the service in the portal)
- data[new][service][Up] (Upload speed of the service as listed in the portal)
- data[new][service][Down] (Download speed of the service as listed in the portal)
- data[new][service][LinkSpeed] (The setting the interface will be set to [possible values are 10, 100, 1000, auto])
- data[new][service][Price] (Price of the service as listed in the portal)
- data[new][service][…] (Any additional fields that the network operator has associated with the service)
|
PRE_PLAN_CHANGE Response (Potential)
- Deny Subscription
- subscription[action] = ‘deny’
- subscription[code] = integer
- (Not required) Will be shown to user attempting to subscribe so that they can report it to provider (Defaults to 0)
- subscription[message] = string
- (Not required) but will be shown to user attempting to subscribe so that they have an idea why they were denied (Defaults to “Reason not provided”)
- Examples
- Deny Example in JSON format
- {“subscription”:{“action”:”deny”,”code”:100,”message”:”System is overwhelmed”}}
|
Webhook: PRE_SUBSCRIBE |
Description: This webhook is triggered after the user has selected a service but before they have been subscribed. The data provided in this webhook is details about the service plan that was selected, details about the subscriber such as contact information and location information. |
Purpose:
- Deny subscribe requests from a user(s) that has been blacklisted from the service by the provider.
- Return specific user (customer) configuration information that is applied to a virtual machine associated to the service.
|
PRE_SUBSCRIBE Request:
-
- transaction_id (Guid that will be the same if there are multiple webhooks triggered for one “action of the subscriber”)
- request_time (Time that the webhook was triggered, includes timezone)
- request_type (Type of webhook being triggered)
- data[operator_id] (Guid representing the operator the request came from)
- data[service_id] (Guid representing the specific plan selected)
- data[subscription_id] (Guid representing the specific subscription that will be used when the subscription has been created)
- data[service][Name] (Name of the service in the portal)
- data[service][Up] (Upload speed of the service as listed in the portal)
- data[service][Down] (Download speed of the service as listed in the portal)
- data[service][LinkSpeed] (The setting the interface will be set to [possible values are 10, 100, 1000, auto])
- data[service][Price] (Price of the service as listed in the portal)
- data[service][…] (Any additional fields that the network operator has associated with the service)
- data[contacts] – a list of the contacts associated with the account
- data[contacts][0][id] (Unique identifier for the contact)
- data[contacts][0][first_name] (Name of the contact list)
- data[contacts][0][last_name] (Name of the contact list)
- data[contacts][0][phone] (Phone of the contact list)
- data[contacts][0][email_name] (Email of the contact list)
- data[contacts][0][location][address1]
- data[contacts][0][location][address2]
- data[contacts][0][location][city]
- data[contacts][0][location][state]
- data[contacts][0][location][zip]
- data[contacts][0][location][lon] (if not empty)
- data[contacts][0][location][lat] (if not empty)
- data[contacts][0][location][elevation] (if not empty)
|
PRE_SUBSCRIBE Response (Potential)
- Custom VM File(s)
- NOTE: Can be multiple files
- NOTE: It is strongly discourages to put files in the /tmp directory of the VM. This is because on boot the OS will typically clear the /tmp directory.
- copy_vm_file[0][file_contents] = String
- (REQUIRED) base64 encoded string representing the contents of the file
- copy_vm_file[0][file_path]
- (REQUIRED) Full path from the root of the VM (including the leading slash) including file name
- copy_vm_file[0][file_permissions]
- (Not required) will set the permissions of the file on the VM (only linux style permissions are supported like 777 or 644)
- Deny Subscription
- subscription[action] = ‘deny’
- subscription[code] = integer
- (Not required) Will be shown to user attempting to subscribe so that they can report it to provider (Defaults to 0)
- subscription[message] = string
- (Not required) but will be shown to user attempting to subscribe so that they have an idea why they were denied (Defaults to “Reason not provided”)
- Provided CTAG
- service_provider_label = String
- (REQUIRED) label to be applied to the flows
- Examples
- Custom VM File in JSON format
- {“copy_vm_file”:[{“file_contents”:”SGVsbG8gV29ybGQ=”,”file_path”:”\/var\/hello.txt”,”file_permissions”:”444″}]}
- Deny Example in JSON format
- {“subscription”:{“action”:”deny”,”code”:100,”message”:”System is overwhelmed”}}
- Provided CTAG
- {“service_provider_label”:”100″}
|
Webhook: SUBSCRIBE |
Description: This webhook is triggered after a subscription has been successfully created |
Purpose:
- Notify the service provider that a subscription to a service was successfully completed.
|
SUBSCRIBE Request:
-
- transaction_id (Guid that will be the same if there are multiple webhooks triggered)
- request_time (Time that the webhook was triggered, includes timezone)
- request_type (Type of webhook being triggered)
- data[operator_id] (Guid representing the operator the request came from)
- data[service_id] (Guid representing the specific plan selected)
- data[subscription_id] (Guid representing the specific subscription that will be used when the subscription has been created)
- data[service][Name] (Name of the service in the portal)
- data[service][Up] (Upload speed of the service as listed in the portal)
- data[service][Down] (Download speed of the service as listed in the portal)
- data[service][LinkSpeed] (The setting the interface will be set to [possible values are 10, 100, 1000, auto])
- data[service][Price] (Price of the service as listed in the portal)
- data[service][…] (Any additional fields that the network operator has associated with the service)
- data[port] (The port name associated to the subscription)
- data[mac_address] (The mac address of the virtual system if a virtual system was included as part of the subscription)
- data[contacts] – a list of the contacts associated with the account
- data[contacts][0][id] (Unique identifier for the contact)
- data[contacts][0][first_name] (Name of the contact list)
- data[contacts][0][last_name] (Name of the contact list)
- data[contacts][0][phone] (Phone of the contact list)
- data[contacts][0][email_name] (Email of the contact list)
- data[contacts][0][location][address1]
- data[contacts][0][location][address2]
- data[contacts][0][location][city]
- data[contacts][0][location][state]
- data[contacts][0][location][zip]
- data[contacts][0][location][lon] (if not empty)
- data[contacts][0][location][lat] (if not empty)
- data[contacts][0][location][elevation] (if not empty)
- NOTE: no mac address will be included when a virtual machine is not deployed because the virtual broadband gateway behaves like a switch when there is no virtual system deployed.
|
SUBSCRIBE Response:
- The system will log what response is given back for troubleshooting purposes but does not make any decisions based on the response
- The call’s purpose is to notify that the event has taken place
|
Webhook: UNSUBSCRIBE |
Description: This webhook is triggered after a subscription has been successfully removed |
Purpose: |
UNSUBSCRIBE Request:
-
- transaction_id (Guid that will be the same if there are multiple webhooks triggered)
- request_time (Time that the webhook was triggered, includes timezone)
- request_type (Type of webhook being triggered)
- data[operator_id] (Guid representing the operator the request came from)
- data[service_id] (Guid representing the specific plan selected)
- data[subscription_id] (Guid representing the specific subscription that will be used when the subscription has been created)
- data[service][Name] (Name of the service in the portal)
- data[service][Up] (Upload speed of the service as listed in the portal)
- data[service][Down] (Download speed of the service as listed in the portal)
- data[service][LinkSpeed] (The setting the interface will be set to [possible values are 10, 100, 1000, auto])
- data[service][Price] (Price of the service as listed in the portal)
- data[service][…] (Any additional fields that the network operator has associated with the service)
- data[contacts] – a list of the contacts associated with the account
- data[contacts][0][id] (Unique identifier for the contact)
- data[contacts][0][first_name] (Name of the contact list)
- data[contacts][0][last_name] (Name of the contact list)
- data[contacts][0][phone] (Phone of the contact list)
- data[contacts][0][email_name] (Email of the contact list)
- data[contacts][0][location][address1]
- data[contacts][0][location][address2]
- data[contacts][0][location][city]
- data[contacts][0][location][state]
- data[contacts][0][location][zip]
- data[contacts][0][location][lon] (if not empty)
- data[contacts][0][location][lat] (if not empty)
- data[contacts][0][location][elevation] (if not empty)
|
UNSUBSCRIBE Response:
- The system will log what response is given back for troubleshooting purposes but does not make any decisions based on the response
|