4Using the Siebel REST API
Using the Siebel REST API
This chapter describes the Siebel REST API requests and responses for REST API calls to access Siebel CRM resources. It includes the following topics.
Using Siebel REST API to Access Siebel Repository Resources JSON Examples
Using Siebel REST API to Access Siebel Business Objects JSON Examples
Using Siebel REST API to Access Siebel Business Services JSON Examples
Using Siebel REST API to Access Siebel Repository Data XML Examples
Using Siebel REST API to Access Siebel CRM Business Objects XML Examples
Using Siebel REST API to Access Siebel Business Services XML Examples
About Using the Siebel REST API
Each topic in this chapter provides both JSON and XML examples that demonstrate how to use the Siebel REST API calls to interact with Siebel Server resources.
The example REST API calls use the following format:
An example request, with the following information:
URI. The location of the Siebel REST API resource on the Siebel Server. For more information about Siebel REST API URL format, see About Siebel CRM REST API URI Formats.
HTTP Method. The HTTP method used to call the Siebel REST API to interact with the Siebel Server. For more information about supported HTTP Methods, About Supported HTTP Methods.
Content-Type. The part of the HTTP header that indicates the media type of the data that is sent by the Siebel REST API HTTP methods. For more information about supported HTTP headers, see About Supported HTTP Header Fields.
Request Body. The code example for the Siebel REST API request.
An example response, with the following information:
HTTP Code. The HTTP status code returned to indicate whether the request was successful or if there was an error. For more information about supported HTTP codes, About Standard HTTP Status Codes and Error Messages.
Content-Type. The part of the HTTP header that indicates the media type of the data that is returned by the Siebel REST API HTTP methods. For more information about supported HTTP headers, see About Supported HTTP Header Fields.
Response Body. The code example for the Siebel REST API response.
Using Siebel REST API to Access Siebel Repository Resources JSON Examples
You can use the Siebel REST API to access Siebel CRM Repository Resources. Users can perform QUERY, INSERT, UPDATE, and DELETE operations on the Siebel CRM Repository Resources (such as applets or fields) using REST API requests over HTTP as described in this section.
This topic includes the following information:
Querying for a Siebel CRM Repository Resource with a Search Specification
Querying for a Siebel CRM Repository Resource to Return a Subset of Fields
Querying for a Siebel CRM Repository Resource To Return Only One Child Link
Querying for a Siebel CRM Repository Resource That Returns a Subset of Child Links
Querying for a Siebel CRM Repository Resource to Return No Child Links
Querying for a Siebel CRM Repository Resource Using the ViewMode Access Control Parameter
Using the Describe Parameter to Return a Catalog of Repository Objects
Querying for a Siebel CRM Repository Resource
You can query for a Siebel CRM Repository Resource by sending a HTTP GET request to the Repository Resource's URI.
The following request returns the properties of the WriteRecord control configured in the SIS Account List Applet applet:
URI: http://ServerName:port/siebel/v1.0/workspace/MyWorkspace/Applet/SIS Account List Applet /Control/WriteRecord
HTTP Method: GET
Content-Type: application/json
Authorization: Basic
Request body: None
Querying for a Siebel CRM Repository Resource with a Search Specification
You can query for a particular Siebel CRM Repository Resource by stating the SearchSpec parameter in the request.
The following request queries for Business Components matching the criteria specified in the parameters:
URI: http://ServerName:port/siebel/v1.0/workspace/MyWorkspace/Business Component?SearchSpec = [Name] LIKE ‘B*’
HTTP Method: GET
Content-Type: application/json
Authorization: Basic
Request body: None
Querying for a Siebel CRM Repository Resource to Return a Subset of Fields
You can query for a Siebel CRM Repository Resource to have a subset of fields in the response. When you query for a repository object, the response lists all the fields and links to child objects. If you specify a subset of fields in the request, then this filters the response to contain only the parameters listed in the query parameter.
The following request returns values for the Name, ProjectName, and Comments fields in SIS Account List Applet:
URI: http://ServerName:port/siebel/v1.0/workspace/MyWorkspace/Applet/SIS Account List Applet?fields=Name,ProjectName,Comments
HTTP Method: GET
Content-Type: application/json
Authorization: Basic
Request body: None
Querying for a Siebel CRM Repository Resource To Return Only One Child Link
You can query for a repository object so that the response lists all the fields and links to child objects. You can specify a subset of child links in the request so that the response only contains those child links.
The following request queries for a Siebel CRM Repository Resource to list only the link for List child object under SIS Account List parent object:
URI: http://ServerName:port/siebel/v1.0/workspace/MyWorkspace/Applet/SIS Account List Applet?ChildLinks=List
HTTP Method: GET
Content-Type: application/json
Authorization: Basic
Request body: None
Querying for a Siebel CRM Repository Resource That Returns a Subset of Child Links
You can submit a HTTP GET request to query for a Repository Resource to have a subset of child links in the response.
The following request queries for the SIS Account List Applet to retrieve child links for only Lists and Chart child objects:
URI: http://ServerName:port/siebel/v1.0/workspace/MyWorkspace/Applet/SIS Account List Applet?ChildLinks=List,Chart
HTTP Method: GET
Content-Type: application/json
Authorization: Basic
Querying for a Siebel CRM Repository Resource to Return No Child Links
You can query for a Siebel CRM Repository Resource so that the response has no child links.
The following request queries for a SIS Account List Applet to return no child links:
URI: http://ServerName:port/siebel/v1.0/workspace/MyWorkspace/Applet/SIS Account List Applet?ChildLinks=None
HTTP Method: GET
Content-Type: application/json
Authorization: Basic
Querying for a Siebel CRM Repository Resource Using the ViewMode Access Control Parameter
You can control the access to view and modify the Repository Resource by using the ViewMode parameter. This parameter controls operations based on Person, Position or Organization.
The following request queries for a SIS Account List Applet, with the ViewMode parameter set to Personal. This allows access to view the record only to the person who has created the record in the specified workspace.
URI: http://ServerName:port/siebel/v1.0/workspace/MyWorkspace/Applet/SIS Account List Applet?ViewMode="Personal"
HTTP Method: GET
Content-Type: application/json
Authorization: Basic
Request body: None
Inserting a Siebel CRM Repository Resource
You can insert a Siebel CRM Repository Resource by sending a HTTP POST request to the Repository Resource's URI.
The following query request inserts a new applet:
URI: http://ServerName:port/siebel/v1.0/workspace/MyWorkspace/Applet/SIS Account List Applet_1
HTTP Method: POST
Content-Type: application/json
Authorization: Basic
-
Request body:
{ "Name": "SIS Account List Applet_1", "ProjectName":"Siebel Rest", "UpgradeBehavior":"Preserve", "Comments":"SIS Account List Applet: Added by Rest" }
Upserting a Siebel CRM Repository Resource
You can insert or update a Siebel CRM Repository Resource by sending a HTTP PUT request to the resource's URI.
The following request inserts or, if it already exists, updates, a child record, that is, a WriteRecord control, to SIS Account List Applet_1:
URL: http://ServerName:port/siebel/v1.0/workspace/MyWorkspace/Applet/SIS Account List Applet_1/Control/WriteRecord
HTTP Method: PUT
Content-Type: application/json
Authorization: Basic
-
Request body:
{ "Name": "WriteRecord", "ProjectName":"Siebel Rest", "UpgradeBehavior":"Preserve", "Comments":"SIS Account List Applet: Added by Rest" }
Deleting a Siebel CRM Repository Resource
You can delete a Siebel CRM Repository Resource by sending a HTTP DELETE request to the resource's URI.
The following request deletes the SIS Account List Applet_1 applet:
URI: http://ServerName:port/siebel/v1.0/workspace/MyWorkspace/Applet/SIS Account List Applet_1
HTTP Method: DELETE
Content-Type: application/json
Authorization: Basic
Request body: None
Using the Describe Parameter to Return a Catalog of Repository Objects
You can query for a catalog of top level repository objects in a given workspace by sending a HTTP GET request with the describe parameter appended.
The following query requests a catalog of all top level repository objects, paths to retrieve definitions or catalog of each object, various responses to the request with HTTP codes, and so on.
URI: http://ServerName:port/siebel/v1.0/workspace/main/describe
HTTP Method: GET
Content-Type: application/json
Authorization: Basic
Request body: None
Here are the response details for a successful request:
HTTP Code: 200
Content-Type: application/json
-
Response body:
{ "swagger": "2.0", "info": { }, "schemes": [ "http", "https" ], "securityDefinitions": { "Basic Auth": { "type": "basic" } }, "externalDocs": { "description": "OpenAPI", "url": "https://openapis.org" }, "host": "host:port number", "basePath": "/siebel/v1.0", "tags": [ { "name": "workspace/main/Applet/describe", "description": "Catalogging of Applet", "externalDocs": { "description": "Find Out More", "url": "" } }, { "name": "workspace/main/Application/describe", "description": "Cataloging of Application", "externalDocs": { "description": "Find Out More", "url": "" } } ], "paths": { "/workspace/main/Applet/describe": { "get": { "tags": [ "workspace/main/Applet/describe" ], "summary": "", "description": "", "operationId": "workspace/main/Applet/describe", "produces": [ "application/xml", "application/json" ], "responses": { "200": {"description": "Successful Operation"}, "204": {"description": "No Resource Found"}, "404": {"description": "There is no data for the requested resource"}, "500": {"description": "Internal Server Error"} }, "parameters": [], "security": [ { "Basic Auth": [], "OAuth 2.0": [] } ] } } }
Querying for Repository Resource Metadata
You can query for the description of any repository object by appending the describe parameter to the object name. The response lists all the fields, paths for child objects, various responses with HTTP codes, and so on.
The following request returns applet repository object metadata using the describe parameter:
URI: http://ServerName:port/siebel/v1.0/workspace/main/Applet/describe
HTTP Method: GET
Content-Type: application/json
Authorization: Basic
Request body:
Here are the response details for a successful request:
HTTP Code: 200
Content-Type: application/json
-
Response body:
{ "swagger": "2.0", "info": {}, "schemes": [], "securityDefinitions": {}, "externalDocs": {}, "host": "host:port number", "basePath": "/siebel/v1.0", "definitions": {}, "tags": [], "paths": { "/workspace/main/Applet/{key}/Applet Browser Script/describe": { "get": { "tags": [ "workspace/main/Applet/{key}/Applet Browser Script/describe" ], "summary": "", "description": "", "operationId": "workspace/main/Applet/{key}/Applet Browser Script/describe", "produces": [ "application/xml", "application/json" ], "responses": { "200": {"description": "Successful Operation"}, "204": {"description": "No Resource Found"}, "404": {"description": "There is no data for the requested resource"}, "500": {"description": "Internal Server Error"} }, "parameters": [ { "name": "key", "in": "path", "description": "", "required": true, "default": "key", "type": "string" } ], "security": [ { "Basic Auth": [], "OAuth 2.0": [] } ] } } } }
Querying for Child Repository Object MetaData
You can query for child repository objects metadata, such as required fields, properties of each field, catalog URLs for grandchildren, response format, and so on, by appending the describe parameter to the object name.
The following request queries for metadata belonging to the child of the applet repository object called Control.
URI: http://ServerName:port/siebel/v1.0/workspace/main/Applet/{key}/Control/describe
HTTP Method: GET
Content-Type: application/json
Authorization: Basic
Request body: None
Here are the response details for a successful request:
HTTP Code: 200
Content-Type: application/json
-
Response body:
{ "swagger": "2.0", "info": {}, "schemes": [], "securityDefinitions": {}, "externalDocs": {}, "host": "host:port number", "basePath": "/siebel/v1.0", "definitions": { "workspace_main_Applet_{key}_Control_": { "type": "object", "required": [ "Name", "Type", "Show Popup", "HTML Row Sensitive", "Parent Id", "HTML Default Control" ], "properties": { "ActiveX Bind Property": { "maxLength": 75, "x-siebel-precision": "0", "type": "string", "x-siebel-datatype": "DTYPE_TEXT", "x-siebel-scale": "0", "title": "ActiveX Bind Property" }, "tags": [], "paths":{} }
Using Siebel REST API to Access Siebel Business Objects JSON Examples
You can use the Siebel REST API to access Siebel CRM Business Objects. Users can perform QUERY, INSERT, UPDATE, and DELETE operations on the Siebel Business Objects using REST API requests over HTTP as described in this section.
This topic includes the following information:
Querying for a Siebel CRM Business Component with a Search Specification
Querying for a Siebel CRM Business Component Record to Return a Subset of Fields
Inserting Multiple Siebel CRM Business Components When a Record Already Exists
Deleting Multiple Siebel CRM Business Components When A Record is Already Deleted
Delete Multiple Siebel CRM Business Components with Identifier in the URL and in the Request Body
Querying for a Siebel CRM Business Component To Return a Subset of Child Links
-
Querying for a Siebel CRM Child Business Component To Return Its Child Links
Querying for a Siebel CRM Business Component by Specifying the ViewMode Parameter
Querying for a Siebel CRM Business Component To Return No Child Links
Using the Describe Parameter to Return a REST Resource’s Metadata
Using the Describe Parameter to Return the Siebel Base Business Object Catalog
Using the Describe Parameter to Return Business Component Metadata
Using the Describe Parameter to Return Child Business Component Metadata
Using the Describe Parameter to Return Open API Description of Multiple Object Operations
Querying for All Contacts in an Account Without Using Uniformresponse to Return a Single Record
Querying for All Contacts in an Account Using Uniformresponse to Return Multiple Records
Querying for All Contacts in an Account Without Using Uniformresponse to Return Multiple Records
Querying for a Single Account Record Without Using Uniformresponse
Using the Developer Workspace Parameter to Preview Changes Without Compiling to the Repository
Querying for a Siebel CRM Business Component
You can query for a Siebel CRM Business Component by sending a HTTP GET request to the resource's URI.
The following request queries for an Account Business Component record on the Siebel CRM Server, which has the ID: 1LS-9XKU:
URL: http://ServerName:port/siebel/v1.0/data/Account/Account/1LS-9XKU
HTTP Method: GET
Content-Type: application/json
Authorization: Basic
Request body: None
Querying for a Siebel CRM Business Component with a Search Specification
You can query for a Siebel CRM Business Component by sending a HTTP GET request with a search specification in the resource's URI.
The following request retrieves specific contacts associated with the account, ID 1-32HG, using the searchspec parameter appended to the request URI:
URL: http://ServerName:port/siebel/v1.0/data/Account/Account/1-32HG/Contact/?searchspec=([First Name] LIKE 'J*' AND [Last Name] LIKE 'A*')
HTTP Method: GET
Content-Type: application/json
Authorization: Basic
Querying for a Siebel CRM Business Component Record to Return a Subset of Fields
When you query for a Business Component, the response lists all the fields and links to child components. If you specify a subset of fields in the request, then this filters the response to contain only the fields listed in the query parameter.
The following query fetches values for only the Name, Location and Account Status fields of the Account record with the ID: ID 1-32HG:
URL: http://ServerName:port/siebel/v1.0/data/Account/Account/1-32HG?fields=Name, Location, Account Status
HTTP Method: GET
Content-Type: application/json
Authorization: Basic
Inserting a Siebel CRM Business Component
You can insert a Business Component record by sending a HTTP POST request over REST.
The following request inserts a new Account record:
URL: http://ServerName:port/siebel/v1.0/data/Account/Account
HTTP Method: POST
Content-Type: application/json
Authorization: Basic
Request body:
{ "Name": "AccountExample", "Primary Organization": "Millennium Institutional Finance Services IF ENU", "Location": "HQ-Distribution", "Description": "AccountData", "Primary Organization Id": "1-1DG", }
Inserting Multiple Siebel CRM Business Components
You can insert multiple Business Component records by sending a single HTTP POST request to the resource's URI. The maximum number of records you can insert is 100.
The following request creates multiple new Account records on the Siebel CRM Server:
URL: https://ServerName:port/siebel/v1.0/data/Account/Account
HTTP Method: POST
Content-Type: application/json
Authorization: Basic
Request body:
[ { "Name": "AccountExample1", "Primary Organization": "Millennium Institutional Finance Services IF ENU", "Location": "HQ-Distribution", "Description": "AccountData 1", "Primary Organization Id": "1-1DG" }, { "Name": "AccountExample2", "Primary Organization": "Millennium Institutional Finance Services IF ENU", "Location": "HQ-Distribution", "Description": "AccountData 2", "Primary Organization Id": "1-1DG", } ]
- Response body with response code: 200 OK:
[ { "Name": "AccountExample1", "Id": "88-1V80SZ", "Location": "HQ-Distribution", "Primary Organization Id": "1-1DG", "Primary Organization": "Millennium Institutional Finance Services IF ENU", "Description": "AccountData 1", "Link": { "rel": "self", "href": "https://HostName:port/siebel/v1.0/data/Account/Account/88-1V80SZ", "name": "Account" } }, { "Name": "AccountExample2", "Id": "88-1V80T2", "Location": "HQ-Distribution", "Primary Organization Id": "1-1DG", "Primary Organization": "Millennium Institutional Finance Services IF ENU", "Description": "AccountData 2", "Link": { "rel": "self", "href": "https://HostName:port/siebel/v1.0/data/Account/Account/88-1V80T2", "name": "Account" } } ]
Inserting Multiple Siebel CRM Business Components When a Record Already Exists
When you insert multiple Business Component records, it is possible that a record with the same user key combination already exists. When this happens, the entire request is rejected, none of the records are inserted, and the error message in the following example is displayed.
The following details describe a request that is trying to create two new Account records. However, one of these Account record already has the same user key as an existing record on the Siebel CRM Server.
URL: https://ServerName:port/siebel/v1.0/data/Account/Account
HTTP Method: POST
Content-Type: application/json
Authorization: Basic
Request body:
[ { "Name": "AccountExample1", "Primary Organization": "Millennium Institutional Finance Services IF ENU", "Location": "HQ-Distribution", "Description": "AccountData 1", "Primary Organization Id": "1-1DG" }, { "Name": "AccountExample3", "Primary Organization": "Millennium Institutional Finance Services IF ENU", "Location": "HQ-Distribution", "Description": "AccountData 3", "Primary Organization Id": "1-1DG" }, { "Name": "AccountExample4", "Primary Organization": "Millennium Institutional Finance Services IF ENU", "Location": "HQ-Distribution", "Description": "AccountData 4", "Primary Organization Id": "1-1DG" } ]
Response body with a status code: 409 (Conflict)
{ "ERROR": "Insert operation on integration component 'Account' failed because a matching record in business component 'Account' with search specification '[Location] = \"HQ-Distribution\" AND [Name] = \"AccountExample1\" AND [Primary Organization] = \"Millennium Institutional Finance Services IF ENU\"' was found.(SBL-EAI-04383)" }
Inserting a Siebel CRM Child Business Component
You can insert a Siebel CRM child Business Object by sending a HTTP PUT request to the resource's URI.
The following request inserts a Contact child record into an existing Account Business Component:
URL: http://ServerName:port/siebel/v1.0/data/Account/Account/88-431RF/Contact
HTTP Method: PUT
Content-Type: application/json
Authorization: Basic
Request body:
{ "Employee Number":"1231", "Employer Name":"BXM", "Bill To First Name":"MAYANew", "Bill To Last Name": "ABRAHAMNew", "Primary Organization Id":"0-R9NH", "Account Integration Id":"", "Job Title":"", "Person UId":"0CR-1MF5Z611", "Primary Organization":"Default Organization", "Personal Contact":"N" }
Inserting Multiple Siebel CRM Child Business Components
You can insert multiple Siebel CRM child Business Components by sending a HTTP PUT request to the resource's URI.
The following request inserts multiple Contacts under an existing Account record:
URL: http://ServerName:port/siebel/v1.0/data/Account/Account/1-1/Contact
HTTP Method: PUT
Content-Type: application/json
Authorization: Basic
-
Request body:
{ "Contact":[ { "Primary Organization Id":"1-1DG", "Primary Organization":"Default Organization", "First Name":"Ken", "Last Name": "Bass", "Id":"12345" }, { "Primary Organization Id":"1-1DG", "Primary Organization":"Default Organization", "First Name":"test", "Last Name": "test1", "Id":"123456" } ] }
Upserting a Siebel CRM Business Component
You can insert or update a Siebel CRM Business Component by sending a HTTP PUT request to the resource's URI.
The following request updates the Description field of an existing Account Business Component record:
URL: http://ServerName:port/siebel/v1.0/data/Account/Account/88-431RF
HTTP Method: PUT
Content-Type: application/json
Authorization: Basic
-
Request body:
{ "Name": "AccountExample", "Primary Organization": "Millennium Institutional Finance Services IF ENU", "Location": "HQ-Distribution", "Description": "AccountDataUpdate", "Primary Organization Id": "1-1DG" }
Upserting Multiple Siebel CRM Business Components
You can insert or update multiple Business Component records by sending a single HTTP PUT request to the resource's URI. The maximum number of records you can insert or update is 100. You use the ID field as the unique key to identify the record. This field, and the other field values to be updated, are mandatory. If the record with this ID field exists in the database, then the fields are updated. Otherwise, the record is inserted if all the user key fields are present in the request body.
The following request updates the existing Account record on the Siebel CRM Server:
URL: https://ServerName:port/siebel/v1.0/data/Account/Account
HTTP Method: PUT
Content-Type: application/json
Authorization: Basic
-
Request body:
[ { "Name": "AccountExample1", "Id": "88-1V80SZ", "Location": "HQ-Distribution", "Primary Organization Id": "1-1DG", "Primary Organization": "Millennium Institutional Finance Services IF ENU", "Description": "Updated AccountData 1" }, { "Name": "AccountExample2", "Id": "88-1V80T2", "Location": "HQ-Distribution", "Primary Organization Id": "1-1DG", "Primary Organization": "Millennium Institutional Finance Services IF ENU", "Description": "Updated AccountData 2" } ]
-
Response body with response code: 200 OK:
[ { "Name": "AccountExample1", "Id": "88-1V80SZ", "Location": "HQ-Distribution", "Primary Organization Id": "1-1DG", "Primary Organization": "Millennium Institutional Finance Services IF ENU", "Description": "Updated AccountData 1", "Link": { "rel": "self", "href": "https://HostName:port/siebel/v1.0/data/Account/Account/88-1V80SZ", "name": "Account" } }, { "Name": "AccountExample2", "Id": "88-1V80T2", "Location": "HQ-Distribution", "Primary Organization Id": "1-1DG", "Primary Organization": "Millennium Institutional Finance Services IF ENU", "Description": "Updated AccountData 2", "Link": { "rel": "self", "href": "https://HostName:port/siebel/v1.0/data/Account/Account/88-1V80T2", "name": "Account" } } ]
Upserting a Siebel CRM Child Business Component
You can insert or update a Siebel CRM child Business Object by sending a HTTP PUT request to the resource's URI.
The following request inserts a new Opportunity record associated to an Account with the ID 88-431RF:
URL: http://ServerName:port/siebel/v1.0/data/Account/Account/88-431RF/Opportunity
HTTP Method: PUT
Content-Type: application/json
Authorization: Basic
-
Request body:
{ "Id":"123456", "Name":"NewOpp", "Currency Code": "AUD", "Primary Organization":"Default Organization" }
Deleting a Siebel CRM Business Component
You can delete a Siebel CRM Business Component record by sending a HTTP DELETE request to the resource's URI.
The following request deletes an Account record on the Siebel CRM Server:
URL: http://ServerName:port/siebel/v1.0/data/Account/Account/88-43CGR
HTTP Method: DELETE
Content-Type: application/json
Authorization: Basic
Request body: None
Deleting Multiple Siebel CRM Business Components
You can delete multiple Business Component records by sending a single HTTP DELETE request to the resource's URI. The maximum number of records you can delete is 100.
The following request deletes existing Accounts on the Siebel CRM Server using the ID field as the identifier:
URL: https://ServerName:port/siebel/v1.0/data/Account/Account
HTTP Method: DELETE
Content-Type: application/json
Authorization: Basic
Request Body: 200 OK:
[ { "Id": "88-1V80SZ" }, { "Id": "88-1V80T2" } ]
Response body with status code: 200 OK: None
Deleting Multiple Siebel CRM Business Components When A Record is Deleted
You can delete multiple Business Component records by sending a single HTTP DELETE request to the resource's URI. The maximum number of records you can delete is 100. When you delete multiple Business Component records, it is possible that a record ID is invalid, or that a record has already been deleted and no longer exists in the database. When this happens, the entire request is rejected, none of the records are deleted, and the error message in the following example is displayed.
The following request deletes multiple Account records where a record ID is invalid, or the record associated with the ID no longer exists in the database:
URL: https://ServerName:port/siebel/v1.0/data/Account/Account
HTTP Method: DELETE
Content-Type: application/json
Authorization: Basic
Request body:
[ { "Id": "88-1V80SZ" }, { "Id": "88-1V80T2" }, { "Id": "88-1V80L3" } ]
Response body with status code: 400 Bad Request:
{ "ERROR": "No rows retrieved corresponding to the business component 'Account'(SBL-EAI-04378)" }
Delete Multiple Siebel CRM Business Components with Identifier in the URL and in the Request Body
You can delete multiple Business Component records by sending a single HTTP DELETE request to the resource's URI. The maximum number of records you can delete is 100. If the URL and request body provides the record ID, then Siebel REST ignores the ID in the URL and uses the ID provided in the request body. In this case, Siebel REST only deletes the records with IDs specified in the request body.
URL: https://ServerName:port/siebel/v1.0/data/Account/Account/88-1V80SZ
HTTP Method: DELETE
Content-Type: application/json
Authorization: Basic
Request body:
[ { "Id": "88-1V80T2" }, { "Id": "88-1V80L3" } ]
Response body with status code: 200 OK: None
Querying for a Siebel CRM Business Component To Return a Subset of Child Links
You query for a Business Component so that the response lists all the fields and links to child components. If you specify a subset of child links in the request, then this filters the response to contain only the child links listed in the query parameter.
The following request queries for an Account Business Component, and returns a link for a related UT Account Partner child Business Component:
URI: http://ServerName:port/siebel/v1.0/data/Account/Account?ChildLinks=UT Account Partner
HTTP Method: GET
Content-Type: application/json
Authorization: Basic
Request body: None
Querying for a Siebel CRM Business Component To Return Child Links for Multiple Child Business Components
You can query for a Siebel CRM Business Component that retrieves links for multiple child Business Component records related with a parent’s Business Component.
The following request queries for an Account Business Component, and returns child links for the following related child Business Components: CUT Address for Account/Contact, FINS Security - Account External Holdings and FINS cBanking Facility:
URI: http://ServerName:port/siebel/v1.0/data/Account/Account?ChildLinks=CUT Address for Account/Contact,FINS Security - Account External Holdings,FINS cBanking Facility
HTTP Method: GET
Content-Type: application/json
Authorization: Basic
Request body: None
Querying for a Siebel CRM Child Business Component To Return Its Child Links
You can query for a Siebel CRM child Business Component that returns its child links, that is, links to grandchildren, by sending a HTTP GET request to the resource's URI.
The following request queries for a Siebel CRM child Business Component, and returns child links only for List Mgmt Lists:
URI: http://ServerName:port/siebel/v1.0/data/Account/Account/88-3CFLJ/Contact?ChildLinks=List Mgmt Lists
HTTP Method: GET
Content-Type: application/json
Authorization: Basic
Request body: None
Querying for a Siebel CRM Business Component by Specifying the ViewMode Parameter
You can control read and write access to a Siebel CRM Business Component by specifying theViewMode parameter in the HTTP GET request. It controls access to operations based on Person, Position, or Organization.
The following request queries for an Account, using the ViewMode="Sales Rep" access control. This gives access to the user to view only those Accounts belonging to a specific sales team:
URI: http://ServerName:port/siebel/v1.0/data/Account/Account/?ViewMode="Sales Rep"
HTTP Method: GET
Content-Type: application/json
Authorization: Basic
Querying for a Siebel CRM Business Component To Return No Child Links
You can query for a Siebel CRM Business Component to retrieve a record without any child links in the response by specifying the parameter ChildLinks=None in the HTTP GET request.
The following request specifies the ChildLinks query parameter so that the response contains no child links:
URI: http://ServerName:port/siebel/v1.0/data/Account/Account/88-3CFLJ/Contact?ChildLinks=None
HTTP Method: GET
Content-Type: application/json
Authorization: Basic
Request body: None
Using the Describe Parameter to Return a REST Resource’s Metadata
You can retrieve metadata description in Open API format (formerly known as SWAGGER) for any REST resource by simply appending the describe parameter to the URL and sending a GET request.
The following request uses the describe parameter to return REST resource metadata:
URI: <REST_RESOURCE_URL>/describe
HTTP Method: GET
Content-Type: application/json
Authorization: Basic
Request body: None
Using the Describe Parameter to Return Business Component Metadata
The Open API resource, describe, is used to retrieve Business Component metadata. The result contains a catalog of fields configured in the Business Component, and it also lists the operations which can be performed on the Business Component, request and response structure, path to catalog of all child Business Components, and so on.
The following request retrieves the metadata description of an Account Business Component using the describe parameter:
URI: http://ServerName:port/siebel/v1.0/data/Account/Account/describe
HTTP Method: GET
Content-Type: application/json
Authorization: Basic
Request body:
Here are the response details for a successful request:
HTTP Code: 200
Content-Type:
-
Response body:
{ "definitions":{ "data_Account_Account_":{ "type":"object", "required": "properties": } }, "tags":[ { "name":"data/Account/Account/", "description":"Operations available on data/Account/Account/", "externalDocs":{ "description":"Find Out More", "url":"" } }, "paths":{ "/data/Account/Account/":{ "get":{ "tags":[ "data_Account_Account_" ], "summary":"", "description":"", "operationId":"data_Account_Account_/get", "produces":[ "application/xml", "application/json" ], "responses":{ "200":{"description":"Successful Operation"}, "204":{"description":"No Resource Found"}, "404":{"description":"There is no data for the requested resource"}, "500":{"description":"Internal Server Error"} }, "parameters":[ { "name":"key", "in":"path", "description":"", "required":true, "type":"string" } ], "security":[ { "Basic Auth":[], "OAuth 2.0":[] } ] } } } }
Using the Describe Parameter to Return Child Business Component Metadata
You use the Open API describe parameter to retrieve metadata description for a child Business Component by appending it to a HTTP GET request to the resource's URI. It lists all the fields, path to catalog of grandchildren, and request and response structure with HTTP codes.
The following request uses the describe parameter to return child Business Component metadata, that is, the Contact child Business Component Contact, under the Account parent Business Component:
URI: http://ServerName:port/siebel/v1.0/data/Account/Account/1-6/Contact/describe
HTTP Method: GET
Content-Type: application/json
Authorization: Basic
Request body: None
Here are the response details for a successful request:
HTTP Code: 200
Content-Type: application/json
-
Response body:
{ "definitions":{ "data_Account_Account_{key}_Contact_":{ "type":"object", "required":[], "properties":[], "tags":[ { "name":"data/Account/Account/{key}/Contact/", "description":"Operations available on data/Account/Account/{key}/Contact/", "externalDocs":{ "description":"Find Out More", "url":"" } }, "paths":{ "/data/Account/Account/{key}/Contact/":{ "get":{ "tags":[ "data_Account_Account_{key}_Contact_" ], "summary":"", "description":"", "operationId":"data_Account_Account_{key}_Contact_/get", "produces":[ "application/xml", "application/json" ], "responses":{ "200":{"description":"Successful Operation"}, "204":{"description":"No Resource Found"}, "404":{ "description":"There is no data for the requested resource"}, "500":{"description":"Internal Server Error"} }, "parameters":[ { "name":"key", "in":"path", "description":"", "required":true, "type":"string" } ], "security":[ { "Basic Auth":[], "OAuth 2.0":[] } ] }, "post":{ "tags":[ "data_Account_Account_{key}_Contact_" ], "summary":"", "description":"", "operationId":"data_Account_Account_{key}_Contact_/post", "produces":[ "application/xml", "application/json" ], "consumes":[ "application/xml", "application/json" ], "responses":{ "200":{"description":"Successful Operation"}, "204":{"description":"No Resource Found"}, "404":{"description":"There is no data for the requested resource"}, "500":{"description":"Internal Server Error"} }, "parameters":[ { "in":"body", "name":"body", "description":"", "required":true, "schema":{ "$ref":"#/definitions/data_Account_Account_{key}_Contact_" } } ], "security":[ { "Basic Auth":[], "OAuth 2.0":[] } ] } } } }
Using the Describe Parameter to Return Open API Description of Multiple Object Operations
The Open API resource, describe, is used to retrieve Business Component metadata. You can retrieve information on multiple object operations Siebel CRM business component API Doc by sending a single HTTP GET request to the resource's URI.
URI: http://ServerName:port/siebel/v1.0/data/Account/Account/describe?describemultiobject=y
HTTP Method: GET
Content-Type: application/json
Authorization: Basic
Response body: This returns a description in Open API (SWAGGER) format.
Using the Uniformresponse Parameter
When the response of a GET REST request has a single record, it also has a single JSON object. This JSON object is identifiable because it starts with curly brackets. However, if the response has multiple records, then response records are enclosed in a json array, which starts with square brackets.
If you want your response enclosed in a json array, regardless of the number of records, then you must use the uniformresponse parameter and you must set the value to either yes or y.
Querying for All Contacts in an Account Without Using Uniformresponse to Return a Single Record
You can query for a Siebel CRM Business Component by sending a HTTPS GET request to the resource’s URI, and by specifying that the response is either an array, or a list of items. You can do this by using the uniformresponse parameter which has the following values:
yes or y. This returns the response as an array enclosed in square brackets.
no or n. This returns the response as list of items enclosed in curly brackets.
uniformresponse
parameter. There is only one Contact associated to Account, this returns a single record in the response:
URI:
GET https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND/Contact?fields=First Name, Last Name&childlinks=Account,Position,Organization
HTTP Method: GET
Content Type: application/json
Authorization: Basic
Request body: None
HTTP Code: 200
Content Type:
-
Response body:
{ "Id": "0CR-1MF5Z6", "First Name": "JOHN", "Last Name": "SMITH", "Link": [ { "rel": "self", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND/Contact/0CR-1MF5Z6", "name": "Contact" }, { "rel": "canonical", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND/Contact/0CR-1MF5Z6", "name": "Contact" }, { "rel": "parent", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND", "name": "Account" }, { "rel": "child", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND/Contact/0CR-1MF5Z6/Position", "name": "Position" }, { "rel": "child", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND/Contact/0CR-1MF5Z6/Organization", "name": "Organization" }, { "rel": "child", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND/Contact/0CR-1MF5Z6/Account", "name": "Account" } ] }
Note: The response in this example is not in an array because the response contains only one record.
Querying for All Contacts in an Account Using Uniformresponse to Return Multiple Records
You can query for a Siebel CRM component to return its responses in an array by sending a HTTPS GET request to the resource’s URI, and by setting the uniformresponse parameter to yes.
URI:
GET https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND/Contact?fields=First Name, Last Name&childlinks=Account,Position,Organization&uniformresponse=yes
HTTP Method: GET
Content Type: application/json
Authorization: Basic
Request body: None
HTTP Code: 200
Content Type:
-
Response body:
{ "items": [ { "Id": "0CR-1MF5Z6", "First Name": "JOHN", "Last Name": "SMITH", "Link": [ { "rel": "self", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND/Contact/0CR-1MF5Z6", "name": "Contact" }, { "rel": "canonical", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND/Contact/0CR-1MF5Z6", "name": "Contact" }, { "rel": "parent", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND", "name": "Account" }, { "rel": "child", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND/Contact/0CR-1MF5Z6/Position", "name": "Position" }, { "rel": "child", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND/Contact/0CR-1MF5Z6/Organization", "name": "Organization" }, { "rel": "child", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND/Contact/0CR-1MF5Z6/Account", "name": "Account" } ] } ], "Link": [ { "rel": "self", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND/Contact?&uniformresponse=y&childlinks=Account,Position,Organization&fields=First Name, Last Name", "name": "Contact" } ] }
Note: The response in this example is in an array even though the array has single element. This is because the request contains the uniformresponse parameter.
Querying for All Contacts in an Account Without Using Uniformresponse to Return Multiple Records
You can query for a Siebel CRM component by sending a HTTPS GET request to the resource’s URI.
URI:
GET https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND/Contact?fields=First Name, Last Name&childlinks=Account,Position,Organization
HTTP Method: GET
Content Type: application/json
Authorization: Basic
Request body: None
HTTP Code: 200
Content Type:
-
Response body:
{ "items": [ { "Id": "0CR-1MF5Z6", "First Name": "JOHN", "Last Name": "SMITH", "Link": [ { "rel": "self", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND/Contact/0CR-1MF5Z6", "name": "Contact" }, { "rel": "canonical", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND/Contact/0CR-1MF5Z6", "name": "Contact" }, { "rel": "parent", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND", "name": "Account" }, { "rel": "child", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND/Contact/0CR-1MF5Z6/Position", "name": "Position" }, { "rel": "child", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND/Contact/0CR-1MF5Z6/Organization", "name": "Organization" }, { "rel": "child", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND/Contact/0CR-1MF5Z6/Account", "name": "Account" } ] } { "Id": "0V-18PLXQ", "First Name": "WILLIAM", "Last Name": "BROWN", "Link": [ { "rel": "self", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND/Contact/0CR-1MF5Z6", "name": "Contact" }, { "rel": "canonical", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND/Contact/0CR-1MF5Z6", "name": "Contact" }, { "rel": "parent", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND", "name": "Account" }, { "rel": "child", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND/Contact/0CR-1MF5Z6/Position", "name": "Position" }, { "rel": "child", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND/Contact/0CR-1MF5Z6/Organization", "name": "Organization" }, { "rel": "child", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND/Contact/0CR-1MF5Z6/Account", "name": "Account" } ] } ], "Link": { "rel": "self", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND/Contact?&childlinks=Account,Position,Organization&fields=First Name, Last Name", "name": "Contact" } }
Note: The response in this example is in an array because it has multiple records.
Querying for a Single Account Record Without Using Uniformresponse
You can query for a single Siebel CRM Business Component by sending a HTTPS GET request to the resource’s URI.
URI:
GET https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND?fields=Name,Location,Id&childlinks=Contact,Position
HTTP Method: GET
Content Type: application/json
Authorization: Basic
Request body: None
HTTP Code: 200
Content Type:
-
Response body:
{ "Name": "3Com", "Id": "88-26CND", "Location": "Headquarters", "Link": [ { "rel": "self", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND", "name": "Account" }, { "rel": "canonical", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND", "name": "Account" }, { "rel": "child", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND/Contact", "name": "Contact" }, { "rel": "child", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND/Position", "name": "Position" } ] }
Note: The response in this example is not in an array because it has only one record, and the request does not contain the uniformresponse parameter.
Querying for a Single Account Record Using Uniformresponse
You can query for a single Siebel CRM Business Component by sending a HTTPS GET request to the resource’s URI.
URI:
GET https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND?fields=Name,Location,Id&childlinks=Contact,Position,Organization&uniformresponse=y
HTTP Method: GET
Content Type: application/json
Authorization: Basic
Request body: None
HTTP Code: 200
Content Type:
-
Response body:
{ "items": [ { "Name": "3Com", "Id": "88-26CND", "Location": "Headquarters", "Link": [ { "rel": "self", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND", "name": "Account" }, { "rel": "canonical", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND", "name": "Account" }, { "rel": "child", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND/Contact", "name": "Contact" }, { "rel": "child", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account/88-26CND/Position", "name": "Position" }, ] } ] "Link": [ { "rel": "self", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Account/Account?uniformresponse=y&childlinks=Contact,Position,Organization&fields=Name,Location,Id", "name": "Account" } ] }
Note: The response in this example is in an array even though the array has single element. This is because the request contains the uniformresponse parameter.
Using the Developer Workspace Parameter to Preview Changes Without Compiling to the Repository
You can query active Siebel CRM objects by sending a HTTPS GET request to the resource’s URI. You can also preview changes to a specific object in a developer branch before you deliver them to the Main workspace. You can achieve this with the help of the developer workspace parameter, workspace&version. For more information about the developer workspace parameter, see About URI Parameters.
You must add a responsibility to Siebel Runtime Metadata Publisher Service in the Business Service Access List View for Workspace Inspect. Workspace Inspect internally uses this business service, and the responsibility is needed for Workspace Inspect to work correctly. For more information about associating a Business Service with a responsibility, see Configuring Business Service Methods for REST Access and Siebel Security Guide.
The following request fetches Quote Item details for a quote with the ID <Quote ID>:
URI:
https://<host_name>:<port_number>/siebel/v1.0/data/Quote/Quote/<Quote Id>/QuoteItem
HTTP Method: GET
Content Type: application/json
Authorization: : Basic
Request body: None
Here are the response details for a successful request, displaying all the Quote Items for a specific Quote:
HTTP Code: 200
Content Type:
Response body:
{ "To Node": "", "Parent Product Id": "", . . . "Root Quote Item Id": "<Quote Item Id>", . . . "Service Account": "", "Link": [ { "rel": "self", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Quote/Quote/<Quote ID>/Quote Item/<Quote Item Id>", "name": "Quote Item"}, { "rel": "canonical", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Quote/Quote/<Quote ID>/Quote Item/<Quote Item Id>", "name": "Quote Item" }, { "rel": "parent", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Quote/Quote/<Quote ID>", "name": "Quote" }, { "rel": "child", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Quote/Quote/<Quote ID>/Quote Item/<Quote Item Id>/Contact", "name": "Contact" }, { "rel": "child", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Quote/Quote/<Quote ID>/Quote Item/<Quote Item Id>/HTIM Audit Trail Item 2", "name": "HTIM Audit Trail Item 2" }, { "rel": "child", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Quote/Quote/<Quote ID>/Quote Item/<Quote Item Id>/Quote - Requested Schedule Lines.Line Number (Sequence)", "name": "Quote - Requested Schedule Lines.Line Number (Sequence)" }, { "rel": "child", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Quote/Quote/<Quote ID>/Quote Item/<Quote Item Id>/PUB Evidence Quote Item", "name": "PUB Evidence Quote Item" }, { "rel": "child", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Quote/Quote/<Quote ID>/Quote Item/<Quote Item Id>/Approval History - Quote Item", "name": "Approval History - Quote Item" }, { "rel": "child", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Quote/Quote/<Quote ID>/Quote Item/<Quote Item Id>/LOY Quote Point Types", "name": "LOY Quote Point Types" }, { "rel": "child", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Quote/Quote/<Quote ID>/Quote Item/<Quote Item Id>/Auto Quote Vehicles", "name": "Auto Quote Vehicles" }, { "rel": "child", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Quote/Quote/<Quote ID>/Quote Item/<Quote Item Id>/Quote - SAP 4x Schedule Line Item", "name": "Quote - SAP 4x Schedule Line Item" }, { "rel": "child", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Quote/Quote/<Quote ID>/Quote Item/<Quote Item Id>/Quote - Requested Schedule Lines", "name": "Quote - Requested Schedule Lines" }, { "rel": "child", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Quote/Quote/<Quote ID>/Quote Item/<Quote Item Id>/Quote - Promised Schedule Lines.Line Number (Sequence)", "name": "Quote - Promised Schedule Lines.Line Number (Sequence)" }, { "rel": "child", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Quote/Quote/<Quote ID>/Quote Item/<Quote Item Id>/Quote Item XA", "name": "Quote Item XA" }, { "rel": "child", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Quote/Quote/<Quote ID>/Quote Item/<Quote Item Id>/Price List", "name": "Price List" }, { "rel": "child", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Quote/Quote/<Quote ID>/Quote Item/<Quote Item Id>/Quote - Promised Schedule Lines", "name": "Quote - Promised Schedule Lines" }, { "rel": "child", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Quote/Quote/<Quote ID>/Quote Item/<Quote Item Id>/Quote Item Promotion Deal", "name": "Quote Item Promotion Deal" }, { "rel": "child", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Quote/Quote/<Quote ID>/Quote Item/<Quote Item Id>/FS Quote Line Item Asset", "name": "FS Quote Line Item Asset" }, { "rel": "child", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Quote/Quote/<Quote ID>/Quote Item/<Quote Item Id>/Action", "name": "Action" }, { "rel": "child", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Quote/Quote/<Quote ID>/Quote Item/<Quote Item Id>/Quote Item Promotion Deal", "name": "Quote Item Promotion Deal" }, { "rel": "child", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Quote/Quote/<Quote ID>/Quote Item/<Quote Item Id>/Audit Trail Item 3", "name": "Audit Trail Item 3" }, { "rel": "child", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Quote/Quote/<Quote ID>/Quote Item/<Quote Item Id>/Activity Plan", "name": "Activity Plan" }, { "rel": "child", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Quote/Quote/<Quote ID>/Quote Item/<Quote Item Id>/Product Line", "name": "Product Line" }, { "rel": "child", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Quote/Quote/<Quote ID>/Quote Item/<Quote Item Id>/Quote Item XA", "name": "Quote Item XA" }, { "rel": "child", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Quote/Quote/<Quote ID>/Quote Item/<Quote Item Id>/Quote - SAP 4x Schedule Line Item", "name": "Quote - SAP 4x Schedule Line Item" }, { "rel": "child", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Quote/Quote/<Quote ID>/Quote Item/<Quote Item Id>/Validation Message - Quote Item", "name": "Validation Message - Quote Item" }, { "rel": "child", "href": "https://<host_name>:<port_number>/siebel/v1.0/data/Quote/Quote/<Quote ID>/Quote Item/<Quote Item Id>/FS Quote Line Item Asset", "name": "FS Quote Line Item Asset" } ] }
You can modify the object definition and then preview the changes before delivering the workspace. In the following example, Quote Item is no longer a child component of the base Quote integration object (IO). If you pass the workspace name and version number as query parameters in the request, this change to the structure of the IO can be seen. The response fetches an error due to inactivation of the Quote Item object.
For more information about how to inactivate an object in Web Tools, see Using Siebel Tools.
URI: https://<host_name>:<port_number>/siebel/v1.0/data/Quote/Quote/<Quote ID>/Quote Item?workspace=<workspace_name>&version=<ver_num>
{ "ERROR": "Incorrect Business Component name 'Quote Item' or the Business Component is not mapped to any Integration Component in the Integration Object 'Base Quote'.(SBL-EAI-50257)" }
Using Siebel REST API to Access Siebel Business Services JSON Examples
You can use the Siebel REST API to access Siebel Business Services. Users can call Siebel Business Services using the Siebel REST API HTTP POST request by specifying the Business Service Name, Method Name, and method parameters in the URI or request body.
Before you can access the Siebel Business Services, you must configure the access and responsibility values of the Siebel Business Service. For more information, see Configuring Business Service Methods for REST Access.
This topic includes the following information:
Accessing a Siebel Business Service with Arguments in the Request Body
Accessing a Siebel Business Service with Arguments in the Request URI
Accessing the QueryByExample Method of the Siebel Account Business Service
Querying for an Account Using the Siebel Business Service QueryById Method
Inserting an Account Using the Siebel Account Business Service
Upserting an Account Using a Siebel Account Business Service
Using the Describe Parameter to Return Methods of a Business Service
Using the Describe Parameter to Return a Catalog of Paths for All Available Business Services
Accessing a Siebel Business Service with Arguments in the Request Body
You can access a Siebel CRM Business Service by sending a HTTP POST request to the resource's URI.
The following request calls the CreateAccount Method of the Account Business Service with the Business Service arguments included in the request body. This request creates an account called REST Test Business Service3 on the Siebel CRM Server:
URI: http://ServerName:port/siebel/v1.0/service/Account/CreateAccount
HTTP Method: POST
Content-Type: application/json
Authorization: Basic
-
Request body:
{ "body": { "Account IO": { "IntObjectName":"Account IO", "IntObjectFormat":"Siebel Hierarchical", "ListOfAccount IO": { "Account": { "Name":"REST Test Business Service3" } } } } }
Accessing a Siebel Business Service with Arguments in the Request URI
You can access a Siebel CRM Business Service by sending a HTTP POST request to the resource's URI.
The following request calls the QueryPage method of the AccountWS Business Service with the PageSize=10, StartRowNum=0, and ViewMode=All parameters included in the request URI. This request returns the first 10 Account records (because PageSize is 10 and StartRowNum is 0) matching the criteria specified in the body in the format of the integration object called Account_EMR. Only simple parameters, for example, strings or numbers, can be passed as query parameters, whereas complex arguments, such as integration objects, must be passed in the request body.
URI: http://ServerName:port/siebel/v1.0/service/AccountWS/QueryPage?PageSize=10&StartRowNum=0&ViewMode=All
HTTP Method: POST
Content-Type: application/json
Authorization: Basic
-
Request body:
{ "body": { "SiebelMessage": { "MessageId":"", "MessageType":"Integration Object", "IntObjectName":"Account_EMR", "IntObjectFormat":"Siebel Hierarchical", "ListOfAccount_EMR": { "Account": { "Name":"A" } } } } }
Accessing the QueryByExample Method of the Siebel Account Business Service
You can access a Siebel CRM Business Service by sending a HTTP POST request to the resource's URI.
The following request calls the QueryByExample method of the Siebel Account Business Service. This request queries for and returns an account called 3Com.
URI: http://ServerName:port/siebel/v1.0/service/Siebel Account/QueryByExample
HTTP Method: POST
Content-Type: application/json
Authorization: Basic
-
Request body:
{ "body": { "SiebelMessage": { "MessageId":"", "MessageType":"Integration Object", "IntObjectName":"Account Interface", "IntObjectFormat":"Siebel Hierarchical", "ListOfAccount Interface": { "Account": { "Name":"3Com" } } } } }
Querying for an Account Using the Siebel Business Service QueryById Method
You can query for an Account record using the Siebel CRM Business Service QueryById method by sending a HTTP POST request to the resource's URI.
The following request calls the QueryById method of the Siebel Account Business Service, and the PrimaryRowId parameter is accepted as the query parameter. The following query returns an account with the PrimaryRowId value as 88-459YQ.
URI: http://ServerName:port/siebel/v1.0/service/Siebel Account/QueryById?PrimaryRowId=88-459YQ
HTTP Method: POST
Content-Type: application/json
Authorization: Basic
-
Request body:
{ }
Inserting an Account Using the Siebel Account Business Service
You can create a record in Siebel CRM database by using the Insert method of Siebel CRM Business Service by sending a HTTP POST request to the resource's URI.
The following requests calls the Insert method of Siebel Account Business service to insert a new Account record with its details given in the request.
URI: https://ServerName:port/siebel/v1.0/service/Siebel Account/Insert
HTTP Method: POST
Content-Type: application/json
Authorization: Basic
-
Request body:
{ "body": { "SiebelMessage": { "MessageId":"", "MessageType":"Integration Object", "IntObjectName":"Account Interface", "IntObjectFormat":"Siebel Hierarchical", "ListOfAccount Interface": { "Account": { "Account Id":"2345", "Name":"REST Test Business Service" } } } } }
Updating an Account Using a Siebel Account Business Service
You can modify the record by using the Update method of Siebel CRM Business Service by sending a HTTP POST request to the resource's URI.
The following request calls the Update method of Siebel Account Business Service to update the Main Phone Number field value.
URI: https://ServerName:port/siebel/siebel/v1.0/service/Siebel Account/Update
HTTP Method: POST
Content-Type: application/json
Authorization: Basic
-
Request body:
{ "body": { "SiebelMessage": { "MessageId":"", "MessageType":"Integration Object", "IntObjectName":"Account Interface", "IntObjectFormat":"Siebel Hierarchical", "ListOfAccount Interface": { "Account": { "Account Id":"1-6", "Name":"REST Test Business Service32", "Main Phone Number": "2018742315" } } } } }
Upserting an Account Using a Siebel Account Business Service
You can upsert a record by using the InsertorUpdate method of Siebel CRM Business Service by sending a HTTP POST request to the resource's URI.
The following details are for a request to call the InsertOrUpdate method of Siebel Account Business service to insert an account with its details given in the request.
URI: https://ServerName:port/siebel/v1.0/service/Siebel Account/InsertOrUpdate
HTTP Method: POST
Content-Type: application/json
Authorization: Basic
-
Request body:
{ "body": { "SiebelMessage": { "MessageId":"", "MessageType":"Integration Object", "IntObjectName":"Account Interface", "IntObjectFormat":"Siebel Hierarchical", "ListOfAccount Interface": { "Account": { "Account Id":"34567", "Name":"Rest", "Main Phone Number": "20187423154" } } } } }
Using the Describe Parameter to Return Methods of a Business Service
You can use the Open API describe parameter to access catalog of available methods of a Business Service by appending it to a HTTP GET request to the resource's URI.
The following request uses the describe parameter to return methods of Siebel Account Business Service URI:
URI: http://ServerName:port/siebel/v1.0/service/Siebel Account/describe
HTTP Method: GET
Content-Type: application/json
Authorization: Basic
Request body: None
Here are the response details for a successful request:
HTTP Code: 200
Content-Type: application/json
-
Response body:
"swagger": "2.0", "info": {}, "schemes": [], "securityDefinitions": {}, "externalDocs": {}, "host": "host:port number", "basePath": "/siebel/v1.0", "definitions": {}, "tags": [], "paths": { "/service/Siebel Account/Delete/describe": { "get": { "tags": [ "service/Siebel Account/Delete/describe" ], "summary": "", "description": "", "operationId": "service/Siebel Account/Delete/describe", "produces": [ ], "responses": { }, "parameters": [], "security": [ ] } }, "/service/Siebel Account/Insert/describe": { }, "/service/Siebel Account/InsertOrUpdate/describe": { }, "/service/Siebel Account/QueryByExample/describe": { }, "/service/Siebel Account/QueryById/describe": { }, "/service/Siebel Account/Synchronize/describe": { }, "/service/Siebel Account/Update/describe": { } } }
Using the Describe Parameter to Return a Catalog of Paths for All Available Business Services
You can use the Open API describe parameter to retrieve path to all available Business Services exposed over REST by appending it to a HTTP GET request.
The following request uses the describe parameter to return a catalog of URLs for all available Business Services from the Siebel CRM Server:
URI: http://ServerName:port/siebel/v1.0/service/describe
HTTP Method: GET
Content-Type: application/json
Authorization: Basic
Request body:
Here are the response details for a successful request:
HTTP Code: 200
Content-Type: application/json
-
Response body:
{ "swagger": "2.0", //Existing Swagger specification version "info": { //Metadata about API }, "schemes": [ "http", "https" ], "securityDefinitions": { //information about the authorization schemes "Basic Auth": { "type": "basic" } }, "externalDocs": { "description": "OpenAPI", "url": "https://openapis.org" }, "host": "host:port number", "basePath": "/siebel/v1.0", "tags": [ { "name": "service/ABO Bulk Request Explode Service/describe", "description": "Catalogging of ABO Bulk Request Explode Service", "externalDocs": { "description": "Find Out More", "url": "" } }, { "name": "service/nextSet/describe", "description": "Catalogging of nextSet", "externalDocs": { "description": "Find Out More", "url": "" } } ], "paths": { "/service/ABO Bulk Request Explode Service/describe": { //links "get": { "tags": [ "service/ABO Bulk Request Explode Service/describe" ], "summary": "", "description": "", "operationId": "service/ABO Bulk Request Explode Service/describe", "produces": [ "application/xml", "application/json" ], "responses": { "200": {"description": "Successful Operation"}, "204": {"description": "No Resource Found"}, "404": {"description": "There is no data for the requested resource"}, "500": {"description": "Internal Server Error"} }, "parameters": [], "security": [ { "Basic Auth": [], "OAuth 2.0": [] } ] } }, "/service/describe?PageSize=10&StartRowNum=10": { //links "get": { "tags": [ "service/nextSet/describe" ], "summary": "", "description": "", "operationId": "service/nextSet/describe", "produces": [ "application/xml", "application/json" ], "responses": { "200": {"description": "Successful Operation"}, "204": {"description": "No Resource Found"}, "404": {"description": "There is no data for the requested resource"}, "500": {"description": "Internal Server Error"} }, "parameters": [], "security": [ { "Basic Auth": [], "OAuth 2.0": [] } ] } } } }
Using Siebel REST API to Access Siebel Repository Data XML Examples
You can use the Siebel REST API to access Siebel CRM Repository Resources. Users can perform QUERY, INSERT, UPDATE, and DELETE operations on the Siebel CRM Repository Resources (such as account or contacts) using REST API requests over HTTP as described in this section. To view the response in XML format, the Content-Type header should be application/xml.
This topic includes the following information:
Querying for a Siebel CRM Repository Resource with a Search Specification
Querying for a Siebel CRM Repository Object to Return a Subset of Fields
Querying for a Siebel CRM Repository Resource To Return Only One Child Link
Querying for a Siebel CRM Repository Resource To Return Subset of Child Links
Querying for a Siebel CRM Repository Resource To Return No Child Links
Querying for Siebel CRM Repository Resources Using the ViewMode Access Control Parameter
Querying for a Siebel CRM Repository Resource
You can query for a Siebel CRM Repository Resource by sending a HTTP GET request to the Repository Resource's URI.
The following request returns properties of WriteRecord control configured in the SIS Account List applet:
URI: http://ServerName:port/siebel/v1.0/workspace/MyWorkspace/Applet/SIS Account List Applet/Control/WriteRecord
HTTP Method: GET
Content-Type: application/xml
Authorization: Basic
Request body: None
Querying for a Siebel CRM Repository Resource with a Search Specification
You can query for a specific Siebel CRM Repository Resource by specifying the search specification in the query.
The following request queries for Business Components matching the specified search criteria:
URI: http://ServerName:port/siebel/v1.0/workspace/MyWorkspace/Business Component?SearchSpec = [Name] LIKE ‘B*’
HTTP Method: GET
Content-Type: application/xml
Authorization: Basic
Request body: None
Querying for a Siebel CRM Repository Object to Return a Subset of Fields
You can query for a Siebel CRM Repository Object to have a subset of fields in the response. When you query for a repository object, the response lists all the fields and links to child objects. If you specify a subset of fields in the request, then this filters the response to contain only the fields listed in the query parameter.
The following request returns values for Name, ProjectName and Comments fields in SIS Account List Applet:
URI: http://ServerName:port/siebel/v1.0/workspace/MyWorkspace/Applet/SIS Account List Applet?fields=Name,ProjectName,Comments
HTTP Method: GET
Content-Type: application/xml
Authorization: Basic
Request body: None
Inserting a Siebel CRM Repository Resource
You can insert a Siebel CRM Repository Resource by sending a HTTP POST request to the Repository Resource's URI.
The following request inserts a new applet called SIS Account List Applet_1 in MyWorkspace:
URI: http://ServerName:port/siebel/v1.0/workspace/MyWorkspace/Applet/SIS Account List Applet_1
HTTP Method: POST
Content-Type: application/xml
Authorization: Basic
-
Request body:
<?xml version="1.0" encoding="UTF-8" ?> <request> <Name>SIS Account List Applet_1</Name> <ProjectName>Siebel Rest</ProjectName> <UpgradeBehavior>Preserve</UpgradeBehavior> <Comments>SIS Account List Applet: Added by Rest</Comments> </request>
Upserting a Siebel CRM Repository Resource
You can insert or update a Siebel CRM Repository Resource by sending a HTTP PUT request to the Repository Resource's URI.
The following request inserts WriteRecord control (child record) to SIS Account List Applet_1:
URI: http://ServerName:port/siebel/v1.0/workspace/MyWorkspace/Applet/SIS Account List Applet_1/Control/WriteRecord
HTTP Method: PUT
Content-Type: application/xml
Authorization: Basic
-
Request body:
<?xml version="1.0" encoding="UTF-8" ?> <request> <Name>WriteRecord</Name> </request>
Deleting a Siebel CRM Repository Resource
You can delete a Siebel CRM Repository Resource by sending a HTTP DELETE request to the Repository Resource's URI.
The following request deletes the applet called SIS Account List Applet_1:
URI: http://ServerName:port/siebel/v1.0/workspace/MyWorkspace/Applet/SIS Account List Applet_1
HTTP Method: DELETE
Content-Type: application/xml
Authorization: Basic
Request body: None
Querying for a Siebel CRM Repository Resource To Return Only One Child Link
You can query for a repository object so that the response lists all the fields and links to child objects. You can specify a subset of child links in the request so that response only contains those child links.
The following request queries for a Siebel CRM Repository Resource that lists only the link for List child object under the SIS Account List parent object:
URI: http://ServerName:port/siebel/v1.0/workspace/MyWorkspace/Applet/SIS Account List Applet?ChildLinks=List
HTTP Method: GET
Content-Type: application/xml
Authorization: Basic
Request body: None
Querying for a Siebel CRM Repository Resource To Return Subset of Child Links
You can submit a HTTP GET request to query for a Repository Resource to have a subset of child links in the response.
The following request queries for the SIS Account List Applet to obtain child links of only List and Chart:
URI: http://ServerName:port/siebel/v1.0/workspace/MyWorkspace/Applet/SIS Account List Applet?ChildLinks=List,Chart
HTTP Method: GET
Content-Type: application/xml
Authorization: Basic
Request body: None
Querying for a Siebel CRM Repository Resource To Return No Child Links
You can query for a Siebel CRM Repository Resource and choose to have no child links in the response.
The following request queries for SIS Account List Applet which returns no child links:
URI: http://ServerName:port/siebel/v1.0/workspace/MyWorkspace/Applet/SIS Account List Applet?ChildLinks=None
HTTP Method: GET
Content-Type: application/xml
Authorization: Basic
Querying for Siebel CRM Repository Resources by Using the ViewMode Access Control Parameter
You can control read and write access of the repository object by using the ViewMode parameter, which controls operations based on Person, Position or Organization.
The following request queries for the SIS Account List Applet, using the parameter ViewMode=Personal. This allows read access only to the person who created the record in the specified workspace.
URI: http://ServerName:port/siebel/v1.0/workspace/MyWorkspace/Applet/SIS Account List Applet?ViewMode="Personal"
HTTP Method: GET
Content-Type: application/xml
Authorization: Basic
Request body: None
Using Siebel REST API to Access Siebel CRM Business Objects XML Examples
You can use the Siebel REST API to access Siebel CRM Business Objects. Users can perform QUERY, INSERT, UPDATE, and DELETE operations on the Siebel Business Components using REST API requests over HTTP as described in this section.
This topic includes the following information:
Querying for a Siebel CRM Business Component with a Search Specification
Querying for a Siebel CRM Business Component Record to Return Specific Subset of Fields
Querying for a Siebel CRM Business Component To Return a Subset of Child Links
Querying for a Siebel CRM Child Business Component To Return Its Child Links
Querying for a Siebel CRM Business Component Using the ViewMode Access Control Parameter
Using Siebel REST API to Access Siebel Business Services XML Examples
Querying for a Siebel CRM Business Component
You can query for a Siebel CRM Business Object resource by sending a HTTP GET request to the Repository Resource's URI.
The following request queries for an Account Business Component record with the ID, 1LS-9XKU:
URI: http://ServerName:port/siebel/v1.0/data/Account/Account/1LS-9XKU
HTTP Method: GET
Content-Type: application/xml
Authorization: Basic
Querying for a Siebel CRM Business Component with a Search Specification
You can query for a Siebel CRM Business Component resource by sending a HTTP GET request with a search specification in the resource's URI.
The following request retrieves Contact records whose first name starts with J, last name starts with A, and that are associated with the Account record, ID 1-32HG, using the searchspec parameter:
URI: http://ServerName:port/siebel/v1.0/data/Account/Account/1-32HG/Contact/?searchspec=([First Name] LIKE 'J*' AND [Last Name] LIKE 'A*')
HTTP Method: GET
Content-Type: application/xml
Authorization: Basic
Querying for a Siebel CRM Business Component Record to Return Specific Subset of Fields
You can query for a Siebel CRM Business Component to return a specific subset of fields by sending a HTTP GET request with the fields query parameter.
The following request fetches values only for the Name, Location and Account Status fields of an Account record, with ID 1-32HG:
URI: http://ServerName:port/siebel/v1.0/data/Account/Account/1-32HG?fields=Name, Location, Account Status
HTTP Method: GET
Content-Type: application/xml
Authorization: Basic
Inserting a Siebel CRM Parent Business Component
You can insert a parent or root Business Component record by sending a HTTP POST request to the resource's URI.
The following request inserts an Account record:
URI: http://ServerName:port/siebel/v1.0/data/Account/Account
HTTP Method: POST
Content-Type: application/xml
Authorization: Basic
-
Request body:
<?xml version="1.0" encoding="UTF-8" ?> <request> <Name>AccountData</Name> <Primary_spcOrganization>Millennium Institutional Finance Services IF ENU</ Primary_spcOrganization> <Location>HQ-Distribution</Location> <Description>AccountData</Description> <Primary_spcOrganization_spcId>1-1DG</Primary_spcOrganization_spcId> </request>
Upserting a Siebel CRM Parent Business Component
You can insert or update a Siebel CRM parent Business Component resource by sending a HTTP PUT request to the Repository Resource's URI.
The following request updates the value of the Description field of an existing Account record:
URI: http://ServerName:port/siebel/v1.0/data/Account/Account
HTTP Method: PUT
Content-Type: application/xml
Authorization: Basic
Request body:
<?xml version="1.0" encoding="UTF-8" ?> <request> <Name>AccountData</Name> <Primary_spcOrganization>Millennium Institutional Finance Services IF ENU</ Primary_spcOrganization> <Location>HQ-Distribution</Location> <Description>AccountDataUpdate</Description> <Primary_spcOrganization_spcId>1-1DG</Primary_spcOrganization_spcId> </request>
Deleting a Siebel CRM Parent Business Component
You can delete a Siebel CRM parent Business Component record by sending a HTTP DELETE request to the Repository Resource's URI.
The following request deletes the Account record on the Siebel CRM Server:
URI: http://ServerName:port/siebel/v1.0/data/Account/Account/88-43CGR
HTTP Method: DELETE
Content-Type: application/xml
Authorization: Basic
-
Request body:
<?xml version="1.0" encoding="UTF-8" ?> <request> <Id>88-43CGR</Id> </request>
Querying for a Siebel CRM Business Component To Return a Subset of Child Links
You can query for a Business Component so that the response lists all the fields and links to child components. If you specify a subset of child links in the request, then this filters the response to contain only the child links listed in the query parameter.
The following request queries for an Account Business Component to return links for related UT Account Partner child business components:
URI: http://ServerName:port/siebel/v1.0/data/Account/Account?ChildLinks=UT Account Partner
HTTP Method: GET
Content-Type: application/xml
Authorization: Basic
Querying for a Siebel CRM Business Component To Return Child Links for Multiple Child Business Components
You can query for a Business Component to retrieve links to multiple child Business Component records related to a parent’s Business Component.
The following request queries for the Account Business Component to return child links for the following related child Business Components: CUT Address for Account/Contact, FINS Security - Account External Holdings, FINS cBanking Facility:
URI: http://ServerName:port/siebel/v1.0/data/Account/Account?ChildLinks=CUT Address for Account/Contact,FINS Security - Account External Holdings,FINS cBanking Facility
HTTP Method: GET
Content-Type: application/xml
Authorization: Basic
Querying for a Siebel CRM Child Business Component To Return Its Child Links
You can query for a Siebel CRM child Business Component to return its child links (that is, links to grand children) by sending a HTTP GET request to the resource's URI.
The following request queries for the Contact child Business Component to return child links only for the List Mgmt Lists child Business Component:
URI: http://ServerName:port/siebel/v1.0/data/Account/Account/88-3CFLJ/Contact?ChildLinks=List Mgmt Lists
HTTP Method: GET
Content-Type: application/xml
Authorization: Basic
Querying for a Siebel CRM Business Component To Return No Child Links
You can retrieve details of a record without any child links in the response by specifying the query parameter, ChildLinks=None in the HTTP GET request.
The following query specifies the ChildLinks=Noneparameter so that the response does not return any child links:
URI: http://ServerName:port/siebel/v1.0/data/Account/Account/88-3CFLJ/Contact?ChildLinks=None
HTTP Method: GET
Content-Type: application/xml
Authorization: Basic
Querying for a Siebel CRM Business Component by Using the ViewMode Access Control Parameter
You can control read and write access to a Siebel CRM Business Component by specifying the ViewMode parameter in the HTTP GET request.
The following request queries for an Account Business Component with a ViewMode="Sales Rep" access control:
URI: http://ServerName:port/siebel/v1.0/data/Account/Account/?ViewMode="Sales Rep"
HTTP Method: GET
Content-Type: application/xml
Authorization: Basic
Using Siebel REST API to Access Siebel Business Services XML Examples
You can use the Siebel REST API to access Siebel Business Services. Users can call Siebel Business Services using the Siebel REST API HTTP POST request by specifying the Business Service Name, Method Name, and method parameters in the URI.
This topic includes the following information:
Using a Siebel CRM Business Service to Insert an Account
You can use a Siebel CRM Business Service resource to insert an Account by sending a HTTP POST request to the Repository Resource's URI.
The following request calls the Insert method of Siebel Account Business service, which inserts a new account with details given in the request.
URI: http://ServerName:port/siebel/v1.0/service/Siebel Account/Insert
HTTP Method: POST
Content-Type: application/xml
Authorization: Basic
-
Request body:
<?xml version="1.0" encoding="UTF-8" ?> <body> <SiebelMessage> <MessageId></MessageId> <MessageType>Integration Object</MessageType> <IntObjectName>Account Interface</IntObjectName> <IntObjectFormat>Siebel Hierarchical</IntObjectFormat> <ListOfAccount_spcInterface> <Account> <Name>Test Account</Name> <Account_spcId>1234</Account_spcId> </Account> </ListOfAccount_spcInterface> </SiebelMessage> </body>
If the Siebel CRM Business Service fails with any error, then Siebel REST API returns the HTTP status code 500, details of the error, and the Siebel error code which is available in the response body. Consider the following two examples:
If Siebel REST API tries to insert a record without the required fields, then it returns the HTTP error code 500, with the following message in the response body:
"ERROR": "No user key can be used for the Integration Component instance 'Account'.(SBL-EAI-04397)"
If Siebel REST tries to insert a record that already exists, then it returns the HTTP error code 500 with the Siebel error message bubbled up, as shown in the following example:
"ERROR": "Insert operation on integration component 'Account' failed because a matching record in Business Component 'Account' with search specification '[Location] = \"HQ-Distribution\" AND [Name] = \"AccountData1234\" AND [Primary Organization] = \"Millennium Institutional Finance Services IF ENU\"' was found.(SBL-EAI-04383)"
Using a Siebel CRM Business Service to Update an Account
You can use a Siebel CRM Business Service resource to update an Account record by sending a HTTP POST request to the Repository Resource's URI.
The following request updates the Main Phone field for an existing Account record using the update method of the Siebel Account Business Service:
URI: http://ServerName:port/siebel/v1.0/service/Siebel Account/Update
HTTP Method: POST
Content-Type: application/xml
Authorization: Basic
Request body:
<?xml version="1.0" encoding="UTF-8" ?> <body> <SiebelMessage> <MessageId></MessageId> <MessageType>Integration Object</MessageType> <IntObjectName>Account Interface</IntObjectName> <IntObjectFormat>Siebel Hierarchical</IntObjectFormat> <ListOfAccount_spcInterface> <Account><Account_spcId>1-34Z</Account_spcId> <Main_spcPhone_spcNumber>2018742315</Main_spcPhone_spcNumber> </Account> </ListOfAccount_spcInterface> </SiebelMessage> </body>
Using a Siebel CRM Business Service to Delete an Account
You can use a Siebel CRM Business Service to delete an Account record by sending a HTTP POST request to the resource's URI.
The following request deletes an Account record on the Siebel CRM Server using the delete method of Siebel Account Business Service:
URI: http://ServerName:port/siebel/v1.0/service/Siebel Account/Delete
HTTP Method: POST
Content-Type: application/xml
Authorization: Basic
-
Request body:
<?xml version="1.0" encoding="UTF-8" ?> <body> <SiebelMessage> <MessageId></MessageId> <MessageType>Integration Object</MessageType> <IntObjectName>Account Interface</IntObjectName> <IntObjectFormat>Siebel Hierarchical</IntObjectFormat> <ListOfAccount_spcInterface> <Account> <Account_spcId>1-34Z</Account_spcId> </Account> </ListOfAccount_spcInterface> </SiebelMessage> </body>
Using a Siebel CRM Business Service to Query an Account
You can use a Siebel CRM Business Service to query for an Account record by sending a HTTP POST request to the resource's URI.
The following request queries for an Account record with an ID=1-6 using the QueryById method of the Siebel Account Business Service:
URI: http://ServerName:port/siebel/v1.0/v1.0/service/Siebel Account/QueryById?PrimaryRowId=1-6
HTTP Method: POST
Content-Type: application/xml
Authorization: Basic
Request body:
<xml> </xml>
Accessing the QueryByExample Method of the Siebel Account Business Service
You can use a Siebel CRM Business Service to query for an Account record by sending a HTTP POST request to the resource's URI.
The following request uses the QueryByExample method of the Siebel Account Business Service to query for an Account with the name 3Com:
URI: http://ServerName:port/siebel/v1.0/service/Siebel Account/QueryByExample
HTTP Method: POST
Content-Type: application/xml
Authorization: Basic
Request body:
<?xml version="1.0" encoding="UTF-8" ?> <body> <SiebelMessage> <MessageId></MessageId> <MessageType>Integration Object</MessageType> <IntObjectName>Account Interface</IntObjectName> <IntObjectFormat>Siebel Hierarchical</IntObjectFormat> <ListOfAccount_spcInterface> <Account> <Name>3Com</Name> </Account> </ListOfAccount_spcInterface> </SiebelMessage> </body>