Assoc Applet REST APIs

An Association Applet is a type of applet that allows the user to associate a parent record with one or more children. It uses two business components that possess a many-to-many relationship with one another. The user cannot modify records in an association applet. You can call an association applet from a master-detail view or from a multi-value group applet.

Configuring Assoc Applet REST APIs

Assoc Applet is a special API on Applet , no additional configuration is needed to enable Assoc Applet. If Parent applet is configured as part of config.json, its corresponding Assoc Applets are automatically deployed.

Supported Operations

  • Retrieve all records that can be associated

    • Usage - GET : https://<hostname:port>/<context>/openintegration/v1.0/ui/<view-name>/<parent-applet-name>/<record-id>/<child-applet-name>/assoc
  • Associate multiple records from to Parent record
    • Usage - PUT : https://<hostname:port>/<context>/openintegration/v1.0/ui/<view-name>/<parent-applet-name>/<record-id>/<child-applet-name>/assoc/select
  • Un Associate multiple records from to Parent record
    • Usage - PUT :https://<hostname:port>/<context>/openintegration/v1.0/ui/<view-name>/<parent-applet-name>/<record-id>/<child-applet-name>/assoc/unselect

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>/<parent-applet-name>/<record-id>/<child-applet-name>/assoc?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>/<parent-applet-name>/<record-id>/<child-applet-name>/assoc?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>/<parent-applet-name>/<record-id>/<child-applet-name>/assoc?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>/<parent-applet-name>/<record-id>/<child-applet-name>/assoc?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>/<parent-applet-name>/<record-id>/<child-applet-name>/assoc?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>/<parent-applet-name>/<record-id>/<child-applet-name>/assoc?recordCountNeeded=true

Examples

  1. Get All Contacts for Account with ID 1-272 in view Account-Detail - Contacts View , parent applet SIS Account Entry Applet and Child Applet Account Contact List Applet

    1. GET ALL URL: https://<hostname:port>/oracle/openintegration/v1.0/ui/Account Detail - Contacts View/SIS Account Entry Applet/1-2Z2/Account Contact List Applet/assoc/?fields=First Name,Last Name, Id&pageSize=5
    2. Response Payload
      {
          "items": [
              {
                  "First Name": "A",
                  "Last Name": "A",
                  "Id": "0CR-1GQ1SJ"
              },
              {
                  "First Name": "M*",
                  "Last Name": "A*",
                  "Id": "1-E2I9"
              },
              {
                  "First Name": "SUSHEEL",
                  "Last Name": "AB",
                  "Id": "88-1RHHP6"
              },
              {
                  "First Name": "MAYA",
                  "Last Name": "ABRAHAM",
                  "Id": "0CR-1MF5Z6"
              },
              {
                  "First Name": "ABS_ADMIN_EMP1",
                  "Last Name": "ABS_ADMIN_EMP1",
                  "Id": "88-3CFBJ"
              }
          ],
          "UIMetadata": { .... }
      }
  2. Associate Contacts with IDs V-18PMMD and 0V-18PLID to Account with ID 1-2Z2.

    1. PUT URL: https://<hostname:port>/oracle/openintegration/v1.0/ui/Account Detail - Contacts View/SIS Account Entry Applet/1-2Z2/Account Contact List Applet/assoc/select
    2. Request Payload
      [
          {
              "id": "0V-18PMMD"
          },
          {
              "id": "0V-18PLID"
          }
      ]
    3. Response Payload

      {
          "items": [
              {
                  "id": "0V-18PMMD",
                  "status": "success"
              },
              {
                  "id": "0V-18PLID",
                  "status": "success"
              }
          ],
          "UIMetadata": { .... }
      }
  3. Associate Contacts with IDs Invalid (non existent) to Account with ID 1-2Z2.

    1. PUT URL: https://<hostname:port>/oracle/openintegration/v1.0/ui/Account Detail - Contacts View/SIS Account Entry Applet/1-2Z2/Account Contact List Applet/assoc/select
    2. Request Payload
      [
          {
              "id": "Invalid"
          }
      ]
    3. Response Payload

      {
          "items": [
              {
                  "id": "Invalid",
                  "status": "fail"
              }
          ],
          "UIMetadata": { .... }
      }