Universal Event Web Services

Overview

Universal Controller supports the following RESTful-based web service for Universal Events.

Formatting specifications for the web service, including details about parameter requirements, are provided.

Authorization to publish or push a Universal Event is assigned by the Universal Event Create permission, or by the ops_admin role.

Note

When publishing or pushing Universal Events through the Web Service API, take into consideration both Universal Controller server and Database server sizings.

Publish Universal Event 


Description
URI http://host_name/uc/resources/universalevent/publish
Description Publsh a global Universal Event.

HTTP Method

POST

Example URI

http://localhost:8080/uc/resources/universalevent/publish
Authentication HTTP Basic
Consumes Content-Type application/xml, application/json
Produces Content-Type text/plain
Example Responses
  • Status 200

    • Universal Event "{eventname}" published.

  • Status 400

    • Invalid Time To Live. Value must be non-negative or empty.

    • Universal Event attributes unknown for Universal Event Template "{eventname}".

    • Universal Event attribute name required.

    • Universal Event attribute "{attributename}" duplicated.

    • Universal Event attribute "{attributename}" unknown for Universal Event Template "{eventname}".

    • Universal Event attribute value "{attributevalue}" for attribute "{attributename}" is not a valid integer.

    • Universal Event attribute value "{attributevalue}" for attribute "{attributename}" is not a valid float.

  • Status 403

    • Operation prohibited due to security constraints.

  • Status 404

    • Universal Event Template "{eventname}" not found.

    • A universal template with id "{templateid}" does not exist.

  • Status 500

    • Unexpected request failure. See log(s) for more details.


Publish Universal Event: XML and JSON Example Request

XML Request

JSON Request

 XML
<?xml version="1.0" encoding="UTF-8" ?>
<universalEvent>
  <name>ExampleEvent</name>
  <businessServices>
    <businessService>BusinessServiceName1</businessService>
    <businessService>BusinessServiceName2</businessService>
  </businessServices>
  <ttl>60</ttl>
  <attributes>
    <attribute>
      <name>example_attribute1</name>
      <value>Value1</value>
    </attribute>
    <attribute>
      <name>example_attribute2</name>
      <value>Value2</value>
    </attribute>
  </attributes>
</universalEvent>
 JSON
{
   "name": "ExampleEvent",
   "businessServices": [
      "BusinessServiceName1",
      "BusinessServiceName2"
    ],
    "ttl": 60,
    "attributes": [
       {
          "name": "example_attribute1",
          "value": "Value1"
       },
       {
          "name": "example_attribute2",
          "value": "Value2"
       }
    ]
}

Push Universal Event 

The push endpoint provides an Inbound Webhook endpoint for third party Webhook integration with Universal Events.

  • The request body is captured as the payload attribute.

  • ttl and businessService (multi-value) query parameters specify the Universal Event TTL and Member of Business Services, respectively.

  • All other query parameters are captured as attributes with the exception of an access_token query parameter.

    • Any character in a query parameter name that is not a letter or digit is converted to an underscore (_).

  • All headers are captured as attributes with the exception of authorization and connection.

    • Any character in a header name that is not a letter or digit is converted to an underscore (_).


Description

URL

http://host_name/uc/resources/universalevent/push/${eventName}

HTTP Method

POST

Description

Publish a global Universal Event.

Consumes Content-Type

application/xml, application/json, text/plain, text/xml

Produces Content-Type

text/plain

Example URI

http://localhost:8080/uc/resources/universalevent/push/MyUniversalEvent?ttl=0&businessService=A&businessService=B&query_parameter1=value1

Example Responses

  • Status 200

    • Universal Event "{eventname}" published.

  • Status 400

    • Invalid Time To Live. Value must be non-negative or empty.

    • Universal Event Template "{eventname}" not found.

  • Status 403

    • Operation prohibited due to security constraints.

  • Status 404

    • Universal Event Template "{eventname}" not found.

  • Status 500

    • Unexpected request failure. See log(s) for more details.