Oracle Siebel · AsyncAPI Specification

Oracle Siebel CRM Event Pub/Sub

Version 1.0

Event-driven integration framework enabling real-time communication between Oracle Siebel CRM and external systems using Apache Kafka. The Event Pub/Sub system supports publishing events from Siebel to Kafka topics when business object state changes occur, and consuming events from Kafka into Siebel for inbound processing. Events are posted as JSON payloads using the Siebel Event Handler business service (CSSEAIEventHandler) and its SendEvent method. Dedicated sidecar Application Interfaces communicate between Siebel Object Managers and the Kafka server using the Kafka Client Java Producer and Consumer APIs.

View Spec View on GitHub CRMCustomer ManagementEnterprise SoftwareMarketing AutomationOracleSales AutomationService AutomationAsyncAPIWebhooksEvents

Channels

AccountEvent
publish publishAccountEvent
Publish an Account event to Kafka
Channel for Account business object state change events. Events are published when account records are created, updated, or when critical field values change such as Account Status transitioning from Unverified to Verified.
ContactEvent
publish publishContactEvent
Publish a Contact event to Kafka
Channel for Contact business object state change events. Events are published when contact records are created, updated, or deleted within Siebel CRM.
OpportunityEvent
publish publishOpportunityEvent
Publish an Opportunity event to Kafka
Channel for Opportunity business object state change events. Events are published when opportunities are created, advance through sales stages, or have significant field changes.
ServiceRequestEvent
publish publishServiceRequestEvent
Publish a Service Request event to Kafka
Channel for Service Request business object state change events. Events are published when service requests are created, status changes occur, or escalations are triggered.
OrderEvent
publish publishOrderEvent
Publish an Order event to Kafka
Channel for Order business object state change events. Events are published when orders are placed, modified, or when order status transitions occur.

Messages

AccountEvent
Account Event
Event representing a state change on an Account business object in Siebel CRM
ContactEvent
Contact Event
Event representing a state change on a Contact business object in Siebel CRM, including associated Account context
OpportunityEvent
Opportunity Event
Event representing a state change on an Opportunity business object in Siebel CRM
ServiceRequestEvent
Service Request Event
Event representing a state change on a Service Request business object in Siebel CRM
OrderEvent
Order Event
Event representing a state change on an Order business object in Siebel CRM

Servers

kafka
kafkaServer {kafka-bootstrap-server}:{port}
Apache Kafka broker or compatible distribution supporting Java producer and consumer APIs. The Kafka server is user-installed and managed independently from the Siebel deployment.

AsyncAPI Specification

Raw ↑
asyncapi: 2.6.0
info:
  title: Oracle Siebel CRM Event Pub/Sub
  description: >-
    Event-driven integration framework enabling real-time communication
    between Oracle Siebel CRM and external systems using Apache Kafka.
    The Event Pub/Sub system supports publishing events from Siebel to
    Kafka topics when business object state changes occur, and consuming
    events from Kafka into Siebel for inbound processing. Events are
    posted as JSON payloads using the Siebel Event Handler business
    service (CSSEAIEventHandler) and its SendEvent method. Dedicated
    sidecar Application Interfaces communicate between Siebel Object
    Managers and the Kafka server using the Kafka Client Java Producer
    and Consumer APIs.
  version: '1.0'
  contact:
    name: Oracle Support
    url: https://support.oracle.com
  license:
    name: Oracle Cloud Services Agreement
    url: https://www.oracle.com/corporate/contracts/cloud-services/
  externalDocs:
    description: >-
      Overview of Siebel CRM Event Publication and Subscription
    url: https://docs.oracle.com/cd/F26413_50/books/SystAdm/c-Overview-of-Siebel-CRM-Event-Publication-and-Subscription.html
servers:
  kafkaServer:
    url: '{kafka-bootstrap-server}:{port}'
    protocol: kafka
    description: >-
      Apache Kafka broker or compatible distribution supporting Java
      producer and consumer APIs. The Kafka server is user-installed
      and managed independently from the Siebel deployment.
    variables:
      kafka-bootstrap-server:
        default: localhost
        description: Kafka bootstrap server hostname
      port:
        default: '9092'
        description: Kafka broker port
    security:
      - kafkaSasl: []
channels:
  AccountEvent:
    description: >-
      Channel for Account business object state change events. Events
      are published when account records are created, updated, or when
      critical field values change such as Account Status transitioning
      from Unverified to Verified.
    publish:
      operationId: publishAccountEvent
      summary: Publish an Account event to Kafka
      description: >-
        The Siebel Event Handler publishes Account business object events
        to this Kafka topic when account-related state changes occur in
        the CRM system.
      message:
        $ref: '#/components/messages/AccountEvent'
    subscribe:
      operationId: consumeAccountEvent
      summary: Consume an Account event from Kafka
      description: >-
        External systems subscribe to Account events to receive real-time
        notifications of account state changes in Siebel CRM.
      message:
        $ref: '#/components/messages/AccountEvent'
  ContactEvent:
    description: >-
      Channel for Contact business object state change events. Events
      are published when contact records are created, updated, or
      deleted within Siebel CRM.
    publish:
      operationId: publishContactEvent
      summary: Publish a Contact event to Kafka
      description: >-
        The Siebel Event Handler publishes Contact business object events
        to this Kafka topic when contact-related state changes occur.
      message:
        $ref: '#/components/messages/ContactEvent'
    subscribe:
      operationId: consumeContactEvent
      summary: Consume a Contact event from Kafka
      description: >-
        External systems subscribe to Contact events to receive real-time
        notifications of contact changes in Siebel CRM.
      message:
        $ref: '#/components/messages/ContactEvent'
  OpportunityEvent:
    description: >-
      Channel for Opportunity business object state change events. Events
      are published when opportunities are created, advance through sales
      stages, or have significant field changes.
    publish:
      operationId: publishOpportunityEvent
      summary: Publish an Opportunity event to Kafka
      description: >-
        The Siebel Event Handler publishes Opportunity business object
        events to this Kafka topic when opportunity state changes occur.
      message:
        $ref: '#/components/messages/OpportunityEvent'
    subscribe:
      operationId: consumeOpportunityEvent
      summary: Consume an Opportunity event from Kafka
      description: >-
        External systems subscribe to Opportunity events to receive
        real-time notifications of opportunity changes.
      message:
        $ref: '#/components/messages/OpportunityEvent'
  ServiceRequestEvent:
    description: >-
      Channel for Service Request business object state change events.
      Events are published when service requests are created, status
      changes occur, or escalations are triggered.
    publish:
      operationId: publishServiceRequestEvent
      summary: Publish a Service Request event to Kafka
      description: >-
        The Siebel Event Handler publishes Service Request events to
        this Kafka topic when service case state changes occur.
      message:
        $ref: '#/components/messages/ServiceRequestEvent'
    subscribe:
      operationId: consumeServiceRequestEvent
      summary: Consume a Service Request event from Kafka
      description: >-
        External systems subscribe to Service Request events to receive
        real-time notifications of case updates.
      message:
        $ref: '#/components/messages/ServiceRequestEvent'
  OrderEvent:
    description: >-
      Channel for Order business object state change events. Events are
      published when orders are placed, modified, or when order status
      transitions occur.
    publish:
      operationId: publishOrderEvent
      summary: Publish an Order event to Kafka
      description: >-
        The Siebel Event Handler publishes Order events to this Kafka
        topic when order state changes occur.
      message:
        $ref: '#/components/messages/OrderEvent'
    subscribe:
      operationId: consumeOrderEvent
      summary: Consume an Order event from Kafka
      description: >-
        External systems subscribe to Order events to receive real-time
        notifications of order changes.
      message:
        $ref: '#/components/messages/OrderEvent'
components:
  securitySchemes:
    kafkaSasl:
      type: scramSha256
      description: >-
        SASL/SCRAM authentication for Kafka broker connections. The Siebel
        sidecar Application Interfaces authenticate to Kafka using
        configured credentials.
  messages:
    AccountEvent:
      name: AccountEvent
      title: Account Event
      summary: >-
        Event representing a state change on an Account business object
        in Siebel CRM
      contentType: application/json
      payload:
        $ref: '#/components/schemas/AccountEventPayload'
    ContactEvent:
      name: ContactEvent
      title: Contact Event
      summary: >-
        Event representing a state change on a Contact business object
        in Siebel CRM, including associated Account context
      contentType: application/json
      payload:
        $ref: '#/components/schemas/ContactEventPayload'
    OpportunityEvent:
      name: OpportunityEvent
      title: Opportunity Event
      summary: >-
        Event representing a state change on an Opportunity business
        object in Siebel CRM
      contentType: application/json
      payload:
        $ref: '#/components/schemas/OpportunityEventPayload'
    ServiceRequestEvent:
      name: ServiceRequestEvent
      title: Service Request Event
      summary: >-
        Event representing a state change on a Service Request business
        object in Siebel CRM
      contentType: application/json
      payload:
        $ref: '#/components/schemas/ServiceRequestEventPayload'
    OrderEvent:
      name: OrderEvent
      title: Order Event
      summary: >-
        Event representing a state change on an Order business object
        in Siebel CRM
      contentType: application/json
      payload:
        $ref: '#/components/schemas/OrderEventPayload'
  schemas:
    AccountEventPayload:
      type: object
      description: >-
        JSON payload for an Account event published by the Siebel Event
        Handler business service via the SendEvent method
      properties:
        BusinessObjName:
          type: string
          description: >-
            Name of the Siebel business object that generated the event
          const: Account
        Account:
          type: object
          description: >-
            Account business component data included in the event
          properties:
            BusinessCompName:
              type: string
              description: Name of the business component
              const: Account
            Fields:
              type: object
              description: >-
                Key-value pairs of Account field names and their values
                at the time of the event
              properties:
                Account Id:
                  type: string
                  description: Unique identifier of the account record
                Name:
                  type: string
                  description: Account name
                Location:
                  type: string
                  description: Account location
                Account Status:
                  type: string
                  description: Current account status value
                Industry:
                  type: string
                  description: Industry classification
    ContactEventPayload:
      type: object
      description: >-
        JSON payload for a Contact event published by the Siebel Event
        Handler business service, including parent Account context
      properties:
        BusinessObjName:
          type: string
          description: >-
            Name of the Siebel business object that generated the event
          const: Contact
        Contact:
          type: object
          description: >-
            Contact business component data included in the event
          properties:
            BusinessCompName:
              type: string
              description: Name of the business component
              const: Contact
            Fields:
              type: object
              description: >-
                Key-value pairs of Contact field names and their values
              properties:
                Contact Id:
                  type: string
                  description: Unique identifier of the contact record
                First Name:
                  type: string
                  description: Contact first name
                Last Name:
                  type: string
                  description: Contact last name
                Email Address:
                  type: string
                  description: Contact email address
        Account:
          type: object
          description: >-
            Associated Account business component context for the contact
          properties:
            BusinessCompName:
              type: string
              description: Name of the business component
              const: Account
            Field List:
              type: object
              properties:
                Fields:
                  type: object
                  description: >-
                    Key-value pairs of associated Account field values
                  properties:
                    Name:
                      type: string
                      description: Associated account name
                    Location:
                      type: string
                      description: Account location
                    CSN:
                      type: string
                      description: Customer service number
                    City:
                      type: string
                      description: Account city
    OpportunityEventPayload:
      type: object
      description: >-
        JSON payload for an Opportunity event published by the Siebel
        Event Handler business service
      properties:
        BusinessObjName:
          type: string
          description: >-
            Name of the Siebel business object that generated the event
          const: Opportunity
        Opportunity:
          type: object
          description: >-
            Opportunity business component data included in the event
          properties:
            BusinessCompName:
              type: string
              description: Name of the business component
              const: Opportunity
            Fields:
              type: object
              description: >-
                Key-value pairs of Opportunity field names and values
              properties:
                Opportunity Id:
                  type: string
                  description: Unique identifier of the opportunity
                Name:
                  type: string
                  description: Opportunity name
                Sales Stage:
                  type: string
                  description: Current sales stage
                Revenue:
                  type: string
                  description: Expected revenue amount
                Close Date:
                  type: string
                  description: Expected close date
    ServiceRequestEventPayload:
      type: object
      description: >-
        JSON payload for a Service Request event published by the Siebel
        Event Handler business service
      properties:
        BusinessObjName:
          type: string
          description: >-
            Name of the Siebel business object that generated the event
          const: Service Request
        Service Request:
          type: object
          description: >-
            Service Request business component data included in the event
          properties:
            BusinessCompName:
              type: string
              description: Name of the business component
              const: Service Request
            Fields:
              type: object
              description: >-
                Key-value pairs of Service Request field names and values
              properties:
                SR Number:
                  type: string
                  description: Service request number
                Abstract:
                  type: string
                  description: Brief summary
                Status:
                  type: string
                  description: Current status
                Priority:
                  type: string
                  description: Priority level
                Severity:
                  type: string
                  description: Severity level
    OrderEventPayload:
      type: object
      description: >-
        JSON payload for an Order event published by the Siebel Event
        Handler business service
      properties:
        BusinessObjName:
          type: string
          description: >-
            Name of the Siebel business object that generated the event
          const: Order Entry
        Order:
          type: object
          description: >-
            Order business component data included in the event
          properties:
            BusinessCompName:
              type: string
              description: Name of the business component
              const: Order Entry - Orders
            Fields:
              type: object
              description: >-
                Key-value pairs of Order field names and values
              properties:
                Order Number:
                  type: string
                  description: Unique order number
                Status:
                  type: string
                  description: Order status
                Order Date:
                  type: string
                  description: Date the order was placed
                Total:
                  type: string
                  description: Order total amount