Siebel Open Integration can expose Siebel Business services as REST API. Users can call Siebel Business Services by giving business service and method name in the URL and method parameters in the body of http POST request.

Before exposing Siebel Business Services as REST API, the user must configure the access and responsibility for the corresponding Siebel Business Service. For more information, see Configuring Business Service Methods for RESTful Access section in REST API guide.

Configuring Business Service APIs

Example configuration in config.json below shows multiple Business Services

"apigen": {
    "resources": {
			"openintegration/v1.0/service": [
        		"Siebel Account/Insert",
        		"Siebel Account/Update",
        		"Siebel Contact/QueryById",
        		"Siebel Contact/Delete"
      ]       }
}

Examples

  1. Invoking "Insert" method of "Siebel Account" business service

    1. POST URL - https://<hostname>:<port>/<context>/openintegration/v1.0/service/Siebel Account/Insert
    2. Request Body

      {
          "SiebelMessage": {
              "MessageId": "",
              "MessageType": "Integration Object",
              "IntObjectName": "Account Interface",
              "IntObjectFormat": "Siebel Hierarchical",
              "ListOfAccount Interface": {
                  "Account": [
                      {
                          "Account Id": "111",
                          "Name": "Test Account_111"
                      }
                  ]
              }
          }
      }
    3. Response Body

      {
          "SiebelMessage": {
              "MessageId": "",
              "MessageType": "Integration Object",
              "IntObjectName": "Account Interface",
              "IntObjectFormat": "Siebel Hierarchical",
              "ListOfAccount Interface": {
                  "Account": [
                      {
                          "Account Id": "88-3A61TU",
                          "Integration Id": ""
                      }
                  ]
              }
          }
      }
  2. Invoking "Update" method of "Siebel Account" business service
    1. POST URL : https://<hostname>:<port>/<context>/openintegration/v1.0/service/Siebel Account/Update

    2. Request Body

      {
          "SiebelMessage": {
              "MessageId": "",
              "MessageType": "Integration Object",
              "IntObjectName": "Account Interface",
              "IntObjectFormat": "Siebel Hierarchical",
              "ListOfAccount Interface": {
                  "Account": [
                      {
                          "Account Id": "88-3A61TU",
                          "Name": "REST updated",
                          "Currency Code": "AUD"
                      }
                  ]
              }
          }
      }
    3. Response body

      {
          "SiebelMessage": {
              "MessageId": "",
              "MessageType": "Integration Object",
              "IntObjectName": "Account Interface",
              "IntObjectFormat": "Siebel Hierarchical",
              "ListOfAccount Interface": {
                  "Account": [
                      {
                          "Account Id": "88-3A61TU",
                          "Integration Id": ""
                      }
                  ]
              }
          }
      }
  3. Invoking "QueryById" method of "Siebel Account" business service
    1. POST URL : https://<hostname>:<port>/<context>/openintegration/v1.0/service/Siebel Account/QueryByID

    2. Request Body
      {
         "PrimaryRowId":"88-3A61TU"
      }
    3. Response body

      {
          "SiebelMessage": {
              "MessageId": "",
              "MessageType": "Integration Object",
              "IntObjectName": "Account Interface",
              "IntObjectFormat": "Siebel Hierarchical",
              "ListOfAccount Interface": {
                  "Account": [
                      {
                          "Account Id": "88-3A61TU",
                          "Account Status": "Active",
                          "Alias": "",
                          "Assignment Area Code": "",
                          "Assignment Country Code": "",
                          "Competitor Flag": "N",
                          "Credit Auto Approval Limit": "",
                          "Credit Status Date": "",
                          "Currency Code": "USD",
                          "DUNS Number": "",
                          "Domestic Ultimate DUNS": "",
                          "Number of Employees": "",
                          "Expertise": "",
                          "Global Ultimate DUNS": "",
                          "Home Page": "",
                          "Integration Id": "",
                          "Location": "",
                          "Main Fax Number": "",
                          "Main Phone Number": "",
                          "Name": "Test Account_111",
                          "PO Approved Flag": "",
                          "PO Auto Approval Currency Code": "USD",
                          "PO Auto Approval Date": "",
                          "PO Auto Approval Limit": "",
                          "Parent Account Id": "",
                          "Parent Account Integration Id": "",
                          "Parent Account Location": "",
                          "Parent Account Name": "",
                          "Parent HQ DUNS": "",
                          "Partner Flag": "N",
                          "Price List": "",
                          "Price List Id": "",
                          "Price List Integration Id": "",
                          "Primary Organization": "Default Organization",
                          "Skip Credit Check": "N",
                          "Type": "Customer",
                          "VAT registration number": "",
                          "ListOfRelated Sales Rep": {
                              "Related Sales Rep": [
                                  {
                                      "Position": "Siebel Administrator",
                                      "Position Id": "0-5220",
                                      "Position Integration Id": "",
                                      "Login": "SADMIN",
                                      "Division": "Siebel Administration"
                                  }
                              ]
                          },
                          "ListOfRelated Organization": {
                              "Related Organization": [
                                  {
                                      "Organization": "Default Organization",
                                      "Organization Id": "0-R9NH",
                                      "Organization Integration Id": ""
                                  }
                              ]
                          }
                      }
                  ]
              }
          }
      }
  4. Invoking "Delete" method of "Siebel Account" business service
    1. POST URL - https://<hostname>:<port>/<context>/openintegration/v1.0/service/Siebel Account/QueryByID

    2. Request Body
      {
          "SiebelMessage": {
              "MessageId": "",
              "MessageType": "Integration Object",
              "IntObjectName": "Account Interface",
              "IntObjectFormat": "Siebel Hierarchical",
              "ListOfAccount Interface": {
                  "Account": [
                      {
                          "Account Id":"88-3A61TU"
                         
                      }
                  ]
              }
          }
      }
    3. Response body

      {
          "SiebelMessage": {
              "MessageId": "",
              "MessageType": "Integration Object",
              "IntObjectName": "Account Interface",
              "IntObjectFormat": "Siebel Hierarchical",
              "ListOfAccount Interface": {
                  "Account": [
                      {
                          "Account Id": "88-3A61TU",
                          "Integration Id": ""
                      }
                  ]
              }
          }
      }