MVG Applet REST APIs

A multi-value group applet lists records from the detail business component that the multi-value group references. These records are child records in the parent-child relationship with the record of the master business component.

The multi-value group applet does the following:

  • Contains list columns that display data from corresponding fields in the detail business component.

  • Allows the user to add or delete detail records.

Configuring MVG Applet REST APIs

MVG Applet is a special API on Applet , no additional configuration is needed to enable MVG Applet. If Parent applet is configured as part of config.json, its corresponding MVG fields will have REST API auto generated and deployed.

Supported Operations

  • Retrieve all possible records for MVG

    • Usage - GET : https://<hostname:port>/<context>/openintegration/v1.0/ui/<view-name>/<applet-name>/<record-id>/<MVG Field Name>/mvg
  • Retrieve all possible records for MVG using wildcard

    • Usage - GET : https://<hostname:port>/<context>/openintegration/v1.0/ui/<view-name>/<applet-name>/-/<MVG Field Name>/mvg
  • Retrieve all linked records for a parent record ID

    • Usage - GET : https://<hostname:port>/<context>/openintegration/v1.0/ui/<view-name>/<applet-name>/<record-id>/<MVG Field Name>/mvg/selected
  • Select records 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>/mvg/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>/mvg/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>/<MVG Field Name>/mvg?pageSize=<sizeOfRecords>
      • https://<hostname:port>/<context>/openintegration/v1.0/ui/<view-name>/<applet-name>/<record-id>/<MVG Field Name>/mvg/selected?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>/<MVG Field Name>/mvg?startRowNum=<startingRowNumber>
      • https://<hostname:port>/<context>/openintegration/v1.0/ui/<view-name>/<applet-name>/<record-id>/<MVG Field Name>/mvg/selected?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>/<MVG Field Name>/mvg?fields=<Comma separated list of fields names>
      • https://<hostname:port>/<context>/openintegration/v1.0/ui/<view-name>/<applet-name>/<record-id>/<MVG Field Name>/mvg/selected?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>/<MVG Field Name>/mvg?sortSpec=<<field>:<asc/desc>>
      • https://<hostname:port>/<context>/openintegration/v1.0/ui/<view-name>/<applet-name>/<record-id>/<MVG Field Name>/mvg/selected?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>/<MVG Field Name>/mvg?searchSpec=<search string>
      • https://<hostname:port>/<context>/openintegration/v1.0/ui/<view-name>/<applet-name>/<record-id>/<MVG Field Name>/mvg/selected?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

  1. Fetch Sales Rep MVG records for Account with record ID 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.

    1. GET ALL URL: https://<hostname:port>/oracle/openintegration/v1.0/ui/All Account List View/SIS Account List Applet/1SIA-637F/Sales Rep/mvg?fields=Id,Name&pagesize=4
    2. Response Payload

      {
          "items": [
              {
                  "Id": "1LS-9HU1",
                  "Name": "11 10 Pharma District Manager - France"
              },
              {
                  "Id": "88-1C7UI",
                  "Name": "A Corrective Action Position"
              },
              {
                  "Id": "88-1C7UN",
                  "Name": "A Product Analysis Position"
              },
              {
                  "Id": "88-1C7US",
                  "Name": "A Product Issue Position"
              }
          ],
          "UIMetadata": { .... }
      }
  2. The 'mvg' request URL without an Account List Applet record.
    1. GET URL: https://<hostname:port>/oracle/openintegration/v1.0/ui/All Account List View/SIS Account List Applet/-/Sales Rep/mvg
    2. Response Payload

      {
          "items": [
              {
                  "Id": "0-5220",
                  "Division": "Siebel Administration",
                  "Available Offline": "N",
                  "Coverage Role": "",
                  "Active First Name": "Siebel",
                  "Active Last Name": "Administrator"
              },
          ],
          "UIMetadata": { .... }
      }
  3. Get ALL Sales Rep records associated for Account with ID 1-479
    1. GET URL: https://<hostname:port>/oracle/openintegration/v1.0/ui/All Account List View/SIS Account List Applet/1-479/Sales Rep/mvg/selected
    2. Response Payload

      {
          "items": [
              {
                  "Id": "0-5220",
                  "Division": "Siebel Administration",
                  "Available Offline": "N",
                  "Coverage Role": "",
                  "Active First Name": "Siebel",
                  "Active Last Name": "Administrator"
              }
          ],
          "UIMetadata": { .... }
      }
  4. Get ALL Sales Rep records associated for Account with ID 1-479 and sort records in ascending order based on Divission
    1. GET URL: https://<hostname:port>/oracle/openintegration/v1.0/ui/All Account List View/SIS Account List Applet/1-479/Sales Rep/mvg/selected?sortSpec=Division:asc
    2. Response Payload

      {
          "items": [
              {
                  "Id": "0-5220",
                  "Division": "Siebel Administration",
                  "Available Offline": "N",
                  "Coverage Role": "",
                  "Active First Name": "Siebel",
                  "Active Last Name": "Administrator"
              }
          ],
          "UIMetadata": { .... }
      }
  5. Link Sales Rep with record IDs 1-1G4 and 1-F98W to Account with ID 1-479
    1. PUT URL: https://<hostname:port>/oracle/openintegration/v1.0/ui/All Account List View/SIS Account List Applet/1-479/Sales Rep/mvg/select
    2. Request Payload

      [
          {
              "id": "1-1G4"
          },
          {
              "id": "1-F98W"
          }
      ]
    3. Response Payload

      {
          "items": [
              {
                  "id": "1-1G4",
                  "status": "success"
              },
              {
                  "id": "1-F98W",
                  "status": "success"
              }
          ],
          "UIMetadata": { .... }
      }
  6. Link Sales Rep with record IDs 24-25L0 and Invalid to Account with ID 1-479
    1. PUT URL: https://<hostname:port>/oracle/openintegration/v1.0/ui/All Account List View/SIS Account List Applet/1-479/Sales Rep/mvg/select
    2. Request Payload

      [
          {
              "id": "24-25L0"
          },
          {
              "id": "Invalid"
          }
      ]
    3. Response Payload with response code 207

      {
          "items": [
              {
                  "id": "24-25L0",
                  "status": "success"
              },
              {
                  "id": "Invalid",
                  "status": "failure"
              }
          ],
          "UIMetadata": { .... }
      }
  7. Unlink Sales Rep with record IDs 24-25L0 and 1-F98W to Account with ID 1-479
    1. PUT URL: https://<hostname:port>/oracle/openintegration/v1.0/ui/All Account List View/SIS Account List Applet/1-479/Sales Rep/mvg/unselect
    2. Request Payload

      [
          {
              "id": "24-25L0"
          },
          {
              "id": "1-F98W"
          }
      ]
    3. Response Payload

      {
          "items": [
              {
                  "id": "24-25L0",
                  "status": "success"
              },
              {
                  "id": "1-F98W",
                  "status": "success"
              }
          ],
          "UIMetadata": { .... }
      }
  8. Unlink Sales Rep with record IDs 24-25L0 and 1-F98W to Account with ID 1-479
    1. PUT URL: https://<hostname:port>/oracle/openintegration/v1.0/ui/All Account List View/SIS Account List Applet/1-479/Sales Rep/mvg/unselect
    2. Request Payload

      [
          {
              "id": "1-1G4"
          },
          {
              "id": "Invalid"
          }
      ]
    3. Response Payload with status code 207

      {
          "items": [
              {
                  "id": "24-25L0",
                  "status": "success"
              },
              {
                  "id": "Invalid",
                  "status": "failed"
              }
          ],
          "UIMetadata": { .... }
      }