Pick Applet REST APIs
A pick applet is a type of applet that Siebel CRM calls if the user clicks the Select button that Siebel CRM displays next to some fields. A pick applet contains a scrolling table that lists choices in one list column and more information in adjacent columns. Each row corresponds to a business component record in the pick business component. Siebel Siebel Open Integration supports the REST APIs for the pick applets with all the CRUD operations as detailed below.
Configuring Pick Applet REST APIs
PICK Applet is a special API on Applet , no additional configuration is needed to enable PICK Applet. If Parent applet is configured as part of config.json, its corresponding PICK fields will have REST API auto generated and deployed
Supported Operations
-
Retrieve all pick records based on record id
- Usage - GET : https://<hostname:port>/<context>/openintegration/v1.0/ui/<view-name>/<applet-name>/<record-id>/<Pick Field Name>/pick
-
Retrieve all pick records using wildcard
- Usage - GET : https://<hostname:port>/<context>/openintegration/v1.0/ui/<view-name>/<applet-name>/-/<Pick Field Name>/pick
- Select single record from list and Associate it to Parent
- Usage - PUT : https://<hostname:port>/<context>/openintegration/v1.0/ui/<view-name>/<applet-name>/<record-id>/<Pick Field Name>/pick/select
- Create new record and Associate it to Parent
- Usage - PUT : https://<hostname:port>/<context>/openintegration/v1.0/ui/<view-name>/<applet-name>/<record-id>/<Pick Field Name>/pick/insert-select
Supported Query Parameters
- pageSize - if specified , Siebel Open Integration tries to retrieve
specified number of records.
- Usage : https://<hostname:port>/<context>/openintegration/v1.0/ui/<view-name>/<applet-name>/<record-id>/<Pick Field Name>/pick?pageSize=<sizeOfRecords>
- startRowNum - if specified , Siebel Open Integration will try to
retrieve records from specified row.
- Usage: https://<hostname:port>/<context>/openintegration/v1.0/ui/<view-name>/<applet-name>/<record-id>/<Pick Field Name>/pick?startRowNum=<startingRowNumber>
- fields - if specified , Siebel Open Integration will return records
with only specified fields.
- Usage : https://<hostname:port>/<context>/openintegration/v1.0/ui/<view-name>/<applet-name>/<record-id>/<Pick Field Name>/pick?fields=<Comma separated list of fields names>
- sortSpec - if specified , Siebel Open Integration will sort records
based on specified order and return results
- Usage : https://<hostname:port>/<context>/openintegration/v1.0/ui/<view-name>/<applet-name>/<record-id>/<Pick Field Name>/pick?sortSpec=<<field>:<asc/desc>>
- searchSpec - if specified , Siebel Open Integration will search for
records based on searchSpec
- Usage : https://<hostname:port>/<context>/openintegration/v1.0/ui/<view-name>/<applet-name>/<record-id>/<Pick Field Name>/pick?searchSpec=<search string>
- recordCountNeeded - if specified , Siebel Open Integration will
return total number of records available for the applet , will be returned
as X-Record-Count header in response
- Usage : https://<hostname:port>/<context>/openintegration/v1.0/ui/<view-name>/<applet-name>/<record-id>/<Pick Field Name>/pick?recordCountNeeded=true
Examples
-
Fetch the Parent Account Names for record 1SIA-637F in view "All Account List View" and applet "SIS Account List Applet" and Filter the response by Id, Name of the records and returning the 4 records
- GET Url : https://<hostname:port>/<context>/openintegration/v1.0/ui/All Account List View/SIS Account List Applet/1SIA-637F/Parent Account Name/pick?fields=Id,Name&pagesize=4
-
Response payload
{ "items": [ { "Id": "1-1", "Name": "A. K. Parker Inc." }, { "Id": "1-106W", "Name": "Kimball Dry Cleaners" }, { "Id": "1-1075", "Name": "Kimball Dry Cleaners" }, { "Id": "1-12FG", "Name": "Hibbing Mfg" } ], "UIMetadata": { .... } }
-
URL to fetch Parent Account Names using wildcard in view "All Account List View" and applet "SIS Account List Applet"
- GET URL: https://<hostname:port>/oracle/openintegration/v1.0/ui/All Account List View/SIS Account List Applet/-/Parent Account Name/pick
-
Response Example
{ "items": [ { "Id": "1-1", "Status": "Active", "City": "Menlo Park", "Street Address": "1500 Industrial Way", "State": "CA", "Account Type Code": "Customer", "Country": "USA", "Last Call Date": "", "Call Frequency": "", "Location": "HQ-Corporate", "Name": "A. K. Parker Inc.", "Market Potential": "", "Postal Code": "94025" }, ....... ], "UIMetadata": { .... } }
-
Link a Parent Account with ID 1-OVP5 to Account with ID 1SIA-637F
- PUT URL: https://<hostname:port>/oracle/openintegration/v1.0/ui/All Account List View/SIS Account List Applet/1SIA-637F/Parent Account Name/pick/select
-
Request Payload
{ "id": "1-OVP5" } -
Response payload
{ "items": { "Id": "1-OVP5", "Status": "Active", "City": "", "Street Address": "", "State": "", "Account Type Code": "Customer", "Country": "", "Last Call Date": "", "Call Frequency": "", "Location": "", "Name": "Venture One Capital", "Market Potential": "", "Postal Code": "" }, "UIMetadata": { .... } }
-
Create a new Parent Account and link it to Account with ID 1SIA-637F
- PUT URL: https://<hostname:port>/oracle/openintegration/v1.0/ui/All Opportunity List View/Opportunity List Applet/88-3YAHV/Account/pick/insert-select
-
Request Payload
{ "Account Type Code": "Customer", "Country": "India", "Location": "Hyderabad", "Name": "ABC Motors" } -
Response payload
{ "items": { "Id": "88-3CGZ0T", "City": "", "Street Address": "", "State": "", "Country": "India", "Relationship": "", "Name": "ABC Motors", "Postal Code": "" }, "UIMetadata": { .... } }