# Integration Guidelines for Partner Relationship Management

# Operator Service

## Web Service

The Operator Service Web Service provides the Operator with operations for handling Service Provider Accounts, Service Provider Groups, Application Accounts, Application Account Groups and Applications Instances.

### Interface: OpService

The endpoint for this interface is: `http://<host>:<port>/prm_op/services/OpService`

where the value of host and port depend on the Oracle Communications Services Gatekeeper deployment.

### listAppGroups

Lists all Application Groups

Table 11-1 listAppGroups()
Parameter Name | Type | Description
--- | --- | ---
Input |  |
no input parameters |  |
Returns |  |
| Array of xsd:string | A list of all Application Group IDs.
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  |

### getAppGroup

Retrieves details about a specific Application Group.

Table 11-2 getAppGroup(appGroupId)
Parameter Name | Type | Description
--- | --- | ---
Input |  |
appGroupId | xsd:string | The ID of the group.
Returns |  |
| tns1:AppGroup | Data structure with details about the Application Group. See AppGroup.
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  |

### createAppGroup

Deprecated. Use createAppGroupByType.

Creates a new Application Group with a certain ID

Note: | The new mechanism (`createAppGroupByType`) for creating application groups adds a parameter, `slaType.` Groups created using `createAppGroup` automatically have the `slaType` hardcoded to the value `application`.

.

Table 11-3 createAppGroup(appGroupId, appGroup)
Parameter Name | Type | Description
--- | --- | ---
Input |  |
appGroupId | xsd:string | ID of the Application Group.
appGroup | tns1:AppGroup | Data structure describing the group. See AppGroup
Returns |  |
createAppGroupReturn | void |
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  |

### createAppGroupByType

Creates a new Application Group with a certain ID with an associated SLA.

Table 11-4 createAppGroupByType(slaType, appGroupId, appGroup)
Parameter Name | Type | Description
--- | --- | ---
Input |  |
slaType | xsd:string | The SLA type to update. Use: application system:geo_application a custom SLA type ID For information on the different types, see section Managing SLAs in Managing Accounts and SLAs.
appGroupId | xsd:string | ID of the Application Group.
appGroup | tns1:AppGroup | Data structure describing the group. See AppGroup
Returns |  |
createAppGroupByTypeReturn | void |
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  |

### deleteAppGroup

Deletes an Application Group. All Application Accounts must be removed from the group before it can be deleted

Table 11-5 deleteAppGroup(appGroupId)
Parameter Name | Type | Description
--- | --- | ---
Input |  |
appGroupId | xsd:string | The ID of the group.
Returns |  |
deleteAppGroupReturn | void |
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  |

### moveAppAccountToGroup

Associates an Application Account for a specific Service Provider with an Application Group.

Table 11-6 moveAppAccountToGroup(spAccountId, appAccountId, appGroupId)
Parameter Name | Type | Description
--- | --- | ---
Input |  |
spAccountId | xsd:string | The ID of the Service Provider Account.
appAccountId | xsd:string | The ID of the Application Account.
appGroupId | xsd:string | The ID of the Application Account Group.
Returns |  |
moveAppAccountToGroupReturn | void |
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  | If any of the accounts od groups does not exist, this exception is thrown.

### getAppGroupId

Retrieves the ID of the Application Group for a given Service Provider Account and Application Account combination.

Table 11-7 getAppGroupId(spAccountId, appAccountId)
Parameter Name | Type | Description
--- | --- | ---
Input |  |
spAccountId | xsd:string | The ID of the Service Provider Account.
appAccountId | xsd:string | The ID of the Application Account.
Returns |  |
getAppGroupIdReturn | xsd:string | ID of the Application Group.
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  | If any of the accounts does not exist or no group is associated, this exception is thrown.

### updateAppGroup

Deprecated. Use updateAppGroupByType.

Updates an Application Group with new SLA data.

Note: | The new mechanism for updating application groups (`updateAppGroupByType`) adds a parameter, `slaType.` Using `updateAppGroup` automatically hardcodes the `slaType` to the value `application`.

Table 11-8 updateAppGroup(appGroupId, appGroup)
Parameter Name | Type | Description
--- | --- | ---
Input |  |
appGroupId | xsd:string | The ID of the group.
appGroup | tns1:AppGroup | The Application-level SLA, and CRM/PRM application-defined properties in the form of name-value pairs. See AppGroup
Returns |  |
updateAppGroupReturn | void |
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  | If group does not exist or if the SLA contains errors, this exception is thrown.

### updateAppGroupByType

Updates an Application Group with a new SLA.

Table 11-9 updateAppGroupByType(slaType, appGroupId, appGroup)
Parameter Name | Type | Description
--- | --- | ---
Input |  |
slaType | xsd:string | The SLA type to update. Use: application system:geo_application a custom SLA type ID For information on the different types, see section Managing SLAs in Managing Accounts and SLAs.
appGroupId | xsd:string | The ID of the group.
appGroup | tns1:AppGroup | The Application-level SLA, and CRM/PRM application-defined properties in the form of name-value pairs. See AppGroup
Returns |  |
updateAppGroupByTypeReturn | void |
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  | If group does not exist or if the SLA contains errors, this exception is thrown.

### listSpGroups

Lists all Service Provider Groups

Table 11-10 listSpGroups()
Parameter Name | Type | Description
--- | --- | ---
Input |  |
no input parameters |  |
Returns |  |
listSpGroupsReturn | Array of xsd:string | A list of all service Provider Group IDs.
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  |

### getSpGroup

Retrieves details about a specific Service Provider Group.

Table 11-11 getSpGroup(spGroupId)
Parameter Name | Type | Description
--- | --- | ---
Input |  |
spGroupId | xsd:string | The ID of the group.
Returns |  |
getSpGroupReturn | tns1:SpGroup | Data structure with details about the Service Provider Group. See SpGroup.
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  |

### createSpGroup

Deprecated. Use createSpGroupByType.

Creates a new Service Provider Group with a certain ID.

Note: | The new mechanism (`createSpGroupByType`) for creating service provider groups adds a parameter, `slaType.` Groups created using `createSpGroup` automatically have the `slaType` hardcoded to the value `service_provider`.

Table 11-12 createSpGroup(spGroupId, spGroup)
Parameter Name | Type | Description
--- | --- | ---
Input |  |
spGroupId | xsd:string | ID of the Service Provider Group ID.
spGroup | tns1:SpGroup | Data structure describing the group. See SpGroup.
Returns |  |
createSpGroupReturn | void |
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  |

### createSpGroupByType

Creates a new Service Provider Group with a certain ID with a certain SLA type associated.

Table 11-13 createSpGroupByType(slaType, spGroupId, spGroup)
Parameter Name | Type | Description
--- | --- | ---
Input |  |
slaType | xsd:string | The SLA type to update. Use: service_provider system:geo_service_provider service_provider_node a custom SLA type ID For information on the different types, see section Managing SLAs in Managing Accounts and SLAs.
spGroupId | xsd:string | ID of the Service Provider Group ID.
spGroup | tns1:SpGroup | Data structure describing the group. See SpGroup.
Returns |  |
createSpGroupByTypeReturn | void |
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  |

### deleteSpGroup

Deletes a Service Provider Group. All Service Provider Accounts associated with the group must be removed before it can be deleted

Table 11-14 deleteSpGroup(spGroupId)
Parameter Name | Type | Description
--- | --- | ---
Input |  |
spGroupId | xsd:string | The ID of the group.
Returns |  |
deleteSpGroupReturn | void |
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  | If there are Service Provider accounts associated with the group, this exception is thrown.

### moveSpToGroup

Associates a Service Provider Account with a Service Provider Group.

Table 11-15 moveSpToGroup(spAccountId, SpGroupId)
Parameter Name | Type | Description
--- | --- | ---
Input |  |
spAccountId | xsd:string | The ID of the Service Provider Account.
SpGroupId | xsd:string | The ID of the Service provider Group.
Returns |  |
moveSpToGroupReturn | void |
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  | If any of the accounts does not exist, this exception is thrown.

### getSpGroupId

Retrieves the ID of the Service Provider Group for a given Service Provider Account.

Table 11-16 getSpGroupID(spAccountId)
Parameter Name | Type | Description
--- | --- | ---
Input |  |
spAccountId | xsd:string | The ID of the Service Provider Account.
Returns |  |
getSpGroupIdReturn | xsd:string | ID of the Service Provider Group.
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  | If the account does not exist, this exception is thrown.

### updateSpGroup

Deprecated. Use updateSpGroupByType.

Updates a Service Provider Group with new SLA data.

Note: | The new mechanism (`updateSpGroupByType`) for updating service provider groups adds a parameter, `slaType.` Groups updated using `updateSpGroup` automatically have the `slaType` hardcoded to the value `service_provider`.

Table 11-17 updateSpGroup(spGroupId,spGroup)
Parameter Name | Type | Description
--- | --- | ---
Input |  |
spGroupId | xsd:string | The ID of the group.
spGroup | tns1:SpGroup | The Service Provider-level SLA, and CRM/PRM application-defined properties in the form of name-value pairs. See SpGroup.
Returns |  |
updateSpGroupReturn | void |
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  | If group does not exist or if the SLA contains errors, this exception is thrown.

### updateSpGroupByType

Updates a Service Provider Group with a new SLA.

Table 11-18 updateSpGroupByType(slaType, spGroupId,spGroup)
Parameter Name | Type | Description
--- | --- | ---
Input |  |
slaType | xsd:String | The SLA type to update. Use: service_provider system:geo_service_provider service_provider_node a custom SLA type ID For information on the different types, see section Managing SLAs in Managing Accounts and SLAs.
spGroupId | xsd:string | The ID of the group.
spGroup | tns1:SpGroup | The Service Provider-level SLA, and CRM/PRM application-defined properties in the form of name-value pairs. See SpGroup.
Returns |  |
updateSpGroupByTypeReturn | void |
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  | If group does not exist or if the SLA contains errors, this exception is thrown.

### listAppInstGroups

Lists all Application Instances for a given combination of Service Provider Account and Application Account. Filtering is possible on the state of the Application Instance

Table 11-19 listAppInstGroups(spAccountId, appAccountId, state)
Parameter Name | Type | Description
--- | --- | ---
Input |  |
spAccountId | xsd:string | The ID of the Service Provider Account. Use null to not filter on this parameter.
appAccountId | xsd:string | The ID of the Application Account. Use null to not filter on this parameter.
state | tns1:State | Indicates which states to filter the result on. See State.
Returns |  |
listAppInstGroupsReturn | Array of tns1:AppInstGroupRef | Data structure containing a references to the Application Instance. See AppInstGroupRef.
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  |

### getAppInstGroup

Retrieves details about a specific Application Instance.

Table 11-20 getAppInstGroup(spAccountId, appAccountId, appInstGroupId)
Parameter Name | Type | Description
--- | --- | ---
Input |  |
spAccountId | xsd:string | The ID of the Service Provider Account.
appAccountId | xsd:string | The ID of the Application Account.
appInstGroupId | xsd:string | The ID of the Application Instance.
Returns |  |
getAppInstGroupReturn | tns1:AppInstGroup | Data structure with details about the Application Instance. See AppInstGroup.
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  |

### getAppInstGroupState

Gets the state of specific Application Instance.

Table 11-21 getAppInstGroupState(spAccountId, appAccountId, appInstGroupId)
Parameter Name | Type | Description
--- | --- | ---
Input |  |
spAccountId | xsd:string | The ID of the Service Provider Account.
appAccountId | xsd:string | The ID of the Application Account.
appInstGroupId | xsd:string | The ID of the Application Instance.
Returns |  |
getAppInstGroupStateReturn | tns1:State | The state of the Application Instance. See State.
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  |

### registerAppInstGroupReq

Requests registration of an Application Instance for a specific combination of a Service Provider Account and Application Account. When this request has been approved (see registerAppInstGroupRes) the newly registered application has all the credentials necessary to be authenticated on the traffic interfaces of the Oracle Communications Services Gatekeeper.

Table 11-22 registerAppInstGroupReq(spAccountId, appAccountId, appInstGroupId, appInstGroup, password)
Parameter Name | Type | Description
--- | --- | ---
Input |  |
spAccountId | xsd:string | The ID of the Service Provider Account.
appAccountId | xsd:string | The ID of the Application Account.
appInstGroupId | xsd:string | The ID of the Application Instance to be registered.
appInstGroup |  | CRM/PRM application-defined properties in the form of name-value pairs.
password | xsd:string | The password the newly created Application Instance will use when authenticating on the Oracle Communications Services Gatekeeper
Returns |  |
registerAppInstGroupReqReturn | void |
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  |

### deleteAppInstGroupReq

Requests deletion of an Application Instance. The Application Instance must be in state INACTIVE in order for this call to be accepted. The request must be approved before the Application Instance is deleted. This is done using deleteAppInstGroupRes,

Table 11-23 deleteAppInstGroupReq(spAccountId, appAccountId, appInstGroupId)
Parameter Name | Type | Description
--- | --- | ---
Input |  |
spAccountId | xsd:string | The ID of the Service Provider Account.
appAccountId | xsd:string | The ID of the Application Account
appInstGroupId | xsd:string | The ID of the Application Instance
Returns |  |
deleteAppInstGroupReqReturn | void |
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  | If there is an SLA associated with the combination of Service Provider Accounts, Application Account, and Application Instance associated with the group, this exception is thrown.
INVALID_STATE |  |

### deleteAppInstGroupRes

Responds to a request for deleting an Application Instance for a specific combination of Service Provider Account and Application Account.

It is possible to approve or disapprove the request. Both cases triggers a state transition for the Application Instance. If approved, the Application Instance is deleted, and the Application Instance can no longer be used to authenticate to send the traffic to Oracle Communications Services Gatekeeper.

Table 11-24 deleteAppInstGroupRes(spAccountId, appAccountId, appInstGroupId, response)
Parameter Name | Type | Description
--- | --- | ---
Input |  |
spAccountId | xsd:string | The ID of the Service Provider Account.
appAccountId | xsd:string | The ID of the Application Account.
appInstGroupId | xsd:string | The ID of the Application Instance.
response | tns1:RequestResponse | The response to the request. See RequestResponse.
Returns |  |
deleteAppInstGroupReqReturn | void |
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  | If there is an SLA associated with the set of Service Provider Accounts, Application Account, and Application Instance associated with the group, this exception is thrown.
INVALID_STATE |  |

### updateAppInstGroup

Updates an Application Instance Group with new data.

Table 11-25 updateAppInstGroup(spAccountId, appAccountId, appInstGroupId, appInstGroup)
Parameter Name | Type | Description
--- | --- | ---
Input |  |
spAccountId | xsd:string | The ID of the Service Provider Account.
appAccountId | xsd:string | The ID of the Application Account.
appInstGroupId | xsd:string | The ID of the Application Instance.
appInstGroup | tns1:AppInstGroup | Data-structure with the Application Instance SLA and application-defined properties in the form of name-value pairs. See AppInstGroup.
Returns |  |
updateAppInstGroupReturn | void |
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  | If group does not exist or if the SLA contains errors, this exception is thrown.

### updateAppInstGroupRes

Responds to a request for updating Application Instance for a specific combination of Service Provider Account and Application Account.

It is possible to approve or disapprove the request. Both cases trigger a state transition for the Application Instance to state ACTIVE. If approved, the Application Instance is updated with the new information.

Table 11-26 updateAppInstGroupRes(spAccountId, appAccountId, appInstGroupId, response)
Parameter Name | Type | Description
--- | --- | ---
Input |  |
spAccountId | xsd:string | The ID of the Service Provider Account.
appAccountId | xsd:string | The ID of the Application Account.
appInstGroupId | xsd:string | The ID of the Application Instance.
response | tns1:RequestResponse | The response to the request. See RequestResponse.
Returns |  |
updateAppInstGroupResReturn | void |
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  | If group does not exist or if the SLA contains errors, this exception is thrown.

### getUpdatePendingAppInstGroup

Gets details about an specific Application Instance that is in state UPDATE_PENDING. The details include CRM/PRM application-defined properties in the form of name-value pairs.

Table 11-27 getUpdatePendingAppInstGroup(spAccountId, appAccountId, appInstGroupId)
Parameter Name | Type | Description
--- | --- | ---
Input |  |
spAccountId | xsd:string | The ID of the Service Provider Account.
appAccountId | xsd:string | The ID of the Application Account.
appInstGroupId | xsd:string | The ID of the Application Instance.
Returns |  |
getUpdatePendingAppInstGroupReturn | tns1:AppInstGroup | CRM/PRM application-defined properties in the form of name-value pairs. See AppInstGroup.
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  |
INVALID_STATE |  | If the Application Instance is not in state UPDTATE_PENDING this exception is thrown.

### setAppInstGroupPassword

Sets the password associated with an Application Instance. This password is a part of the credentials an application uses to authenticate to send traffic to Oracle Communications Services Gatekeeper.

.

Table 11-28 setAppInstGroupPassword(spAccountId, appAccountId, appInstGroupId, newPassword)
Parameter Name | Type | Description
--- | --- | ---
Input |  |
spAccountId | xsd:string | The ID of the Service Provider Account.
appAccountId | xsd:string | The ID of the Application Account.
appInstGroupId | xsd:string | The ID of the Application Instance.
newPassword | xsd:string | The new password.
Returns |  |
setAppInstGroupPasswordReturn | void |
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  |

### unlockAppInstGroup

Unlock a locked Application Instance Group. The group may have been locked by too many faulty login attempts to the traffic interfaces exposed by the Oracle Communications Services Gatekeeper.

Table 11-29 unlockAppInstGroup(spAccountId, appAccountId, appInstGroupId, newPassword)
Parameter Name | Type | Description
--- | --- | ---
Input |  |
spAccountId | xsd:string | The ID of the Service Provider Account.
appAccountId | xsd:string | The ID of the Application Account.
appInstGroupId | xsd:string | The ID of the Application Instance Group.
Returns |  |
unlockAppInstGroupReturn | void |
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  |

### activateSpAccount

Activates a Service Provider Account, which changes the state of the account to ACTIVE.

Table 11-30 activateSpAccount(spAccountId)
Parameter Name | Type | Description
--- | --- | ---
Input |  |
spAccountId | xsd:string | The ID of the Service Provider Account.
Returns |  |
activateSpAccountReturn | void |
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  |
INVALID_STATE |  | If the Service Provider Account is not in an appropriate state to allow the account to be activated, this exception is thrown.

### deactivateSpAccount

Deactivates a a Service Provider Account, which changes the state of the account to INACTIVE.

Table 11-31 deactivateSpAccount(spAccountId)
Parameter Name | Type | Description
--- | --- | ---
Input |  |
spAccountId | xsd:string | The ID of the Service Provider Account.
Returns |  |
deactivateSpAccountReturn | void |
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  |
INVALID_STATE |  | If the Service Provider Account is not in an appropriate state to allow the account to be deactivated, this exception is thrown.

### getSpAccount

Retrieves details about a specific Service Provider Account. The details include contact details and CRM/PRM application-defined properties in the form of name-value pairs.

Table 11-32 getSpAccount(spAccountId)
Parameter Name | Type | Description
--- | --- | ---
Input |  |
spAccountId | xsd:string | The ID of the account.
Returns |  |
getSpAccountReturn | tns1:SpAccount | Data structure with details on the Service Provider account. See SpAccount.
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  |

### getSpAccountState

Retrieves the state of a specific Service Provider Account.

Table 11-33 getSpAccountState(spAccountId)
Parameter Name | Type | Description
--- | --- | ---
Input |  |
spAccountId | xsd:string | The ID of the account.
Returns |  |
getSpAccountStateReturn | tns1:State | Information on the state of the Service Provider Account. See State.
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  |

### registerAppAccountReq

Requests registration for an Application Account for a specific Service Provider Account. When this request has been approved by the Operator (see registerAppAccountRes) the Application Account can be associated with an Application Account Group and an Application Instance.

Table 11-34 registerAppAccountReq(spAccountId, appAccountId, appAccount)
Parameter Name | Type | Description
--- | --- | ---
Input |  |
spAccountId | xsd:string | The ID of the Service Provider Account.
appAccountId | xsd:string | The ID of the Application Account.
appAccount | tns1:AppAccount | Data structure with details on the Application Account, including CRM/PRM application-defined properties in the form of name-value pairs. See AppAccount.
Returns |  |
registerAppAccountReqReturn | void |
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  |
INVALID_STATE |  |

### registerAppAccountRes

Responds to a request to register an Application Account for a specific Service Provider Account. An Application Account Group is also associated with the Application Account.

It is possible to approve or disapprove the request. Both cases trigger a state transition for the Application Account. If approved, the Application Account is transferred into state ACTIVE. If Disapproved, the Application Account is deleted.

Table 11-35 registerAppAccountRes(spAccountId, appAccountId, appGroupId, appAccountRef, response)
Parameter Name | Type | Description
--- | --- | ---
Input |  |
spAccountId | xsd:string | The ID of the Service Provider Account.
appAccountId | xsd:string | The ID of the Application Account.
appGroupId | xsd:string | The ID of the Application Account Group to be associate with the Application Account.
appAccountRef | xsd:string | Internal ID of the Application Account. This ID is used to correlate the Application Account ID with an Operator-internal ID.
response | tns1:RequestResponse | The response to the request. See RequestResponse.
Returns |  |
deleteAppInstGroupReqReturn | void |
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  |
INVALID_STATE |  |

### updateAppAccountRes

Responds to a request to update an Application Account for a specific Service Provider.

It is possible to approve or disapprove the request. Both cases trigger a state transition for the Application Account state to Active. If approved, the Application Account is updated with the new information.

Table 11-36 updateAppAccountRes(spAccountId, appAccountId, response)
Parameter Name | Type | Description
--- | --- | ---
Input |  |
spAccountId | xsd:string | The ID of the Service Provider Account.
appAccountId | xsd:string | The ID of the Application Account.
response | tns1:RequestResponse | The response to the request. See RequestResponse.
Returns |  |
updateAppAccountResReturn | void |
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  |
INVALID_STATE |  | If the status of the Application Account is not in state UPDATE_PENDING, this exception is thrown.

### getUpdatePendingAppAccount

Gets details about pending update requests for a specific combination of Service Provider and Application Account. The details includes descriptions and CRM/PRM application-defined properties in the form of name-value pairs. Valid only for Application Accounts in state UPDATE_PENDING.

Table 11-37 getUpdatePendingAppAccount(spAccountId, appAccountId)
Parameter Name | Type | Description
--- | --- | ---
Input |  |
spAccountId | xsd:string | The ID of the Service Provider Account.
appAccountId | xsd:string | The ID of the Application Account.
Returns |  |
getUpdatePendingAppAccountReturn | tns1:AppAccount | Data structure describing the Application Account. See AppAccount.
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  |
INVALID_STATE |  | If the status of the Application Account is not in state UPDATE_PENDING, this exception is thrown.

### deleteAppAccountReq

Requests the deletion of an Application Account. In order to be deleted, there must be no Application Instance associated with the combination of Service Provider Account and Application Account. The request must be approved before the Application Account is deleted, which is done using deleteAppAccountRes. The Application Account must be in state INACTIVE in order for this call to be accepted.

Table 11-38 deleteAppAccountReq(spAccountId, appAccountId)
Parameter Name | Type | Description
--- | --- | ---
Input |  |
spAccountId | xsd:string | The ID of the Service Provider Account.
appAccountId | xsd:string | The ID of the Application Account.
Returns |  |
deleteAppAccountReqReturn | void |
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  |
INVALID_STATE |  |

### deleteAppAccountRes

Responds to a request to delete an Application Account for a specific Service Provider Account. The Application Account must be in state DELETE_PENDING in order for this call to be accepted.

It is possible to approve or disapprove the request. Both cases trigger a state transition for the Application Account. If approved, the Application Account is simply deleted. If Disapproved, the Application Account is transferred into state INACTIVE.

Table 11-39 deleteAppAccountRes(spAccountId, appAccountId, response)
Parameter Name | Type | Description
--- | --- | ---
Input |  |
spAccountId | xsd:string | The ID of the Service Provider Account.
appAccountId | xsd:string | The ID of the Application Account.
Returns |  |
deleteAppAccountResReturn | void |
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  |
INVALID_STATE |  |

### updateAppAccount

Updates an Application Account with new data.

Table 11-40 updateAppAccount(spAccountId, appAccountId, appAccount)
Parameter Name | Type | Description
--- | --- | ---
Input |  |
spAccountId | xsd:string | The ID of the Service Provider Account.
appAccountId | xsd:string | The ID of the Application Account.
appAccount | tns1:AppAccount | Data structure with details on the Application Account, including CRM/PRM application-defined properties in the form of name-value pairs. See AppAccount.
Returns |  |
updateAppAccountReturn | void |
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  |
INVALID_STATE |  |

### getAppAccount

Retrieves details about a specific Application Account. The return includes a data structure with details on the Application Account, including CRM/PRM application-defined properties in the form of name-value pairs.

Table 11-41 getAppAccount(spAccountId, appAccountId)
Parameter Name | Type | Description
--- | --- | ---
Input |  |
spAccountId | xsd:string | The ID of the Service Provider Account.
appAccountId | xsd:string | The ID of the Application Account.
Returns |  |
getAppAccountReturn | tns1:AppAccount | Data structure with details about the Application Account. See AppAccount.
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  |

### getAppAccountState

Retrieves the state of a specific Application Account.

Table 11-42 getAppAccountState(spAccountId, appAccountId
Parameter Name | Type | Description
--- | --- | ---
Input |  |
spAccountId | xsd:string | The ID of the Service Provider Account.
appAccountId | xsd:string | The ID of the Application Account.
Returns |  |
getAppAccountStateReturn | tns1:State | Information of the state of the Application Account. See State
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  |

### activateAppAccount

Activates an Application Account, which changes the state of the account to ACTIVE. The current state of the account must be INACTIVE.

Table 11-43 activateAppAccount(spAccs appAccountId)
Parameter Name | Type | Description
--- | --- | ---
Input |  |
spAccountId | xsd:string | The ID of the Service Provider Account.
appAccountId | xsd:string | The ID of the Application Account.
Returns |  |
activateAppAccountReturn | void |
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  |
INVALID_STATE |  | If the state of the Application Account does not allow the account to be activated, this exception is thrown.

### deactivateAppAccount

Deactivates an Application Account, which changes the state of the account to INACTIVE. The current state of the account must be ACTIVE.

Table 11-44 deactivateAppAccount(spAccountId, appAccountId)
Parameter Name | Type | Description
--- | --- | ---
Input |  |
spAccountId | xsd:string | The ID of the Service Provider Account.
appAccountId | xsd:string | The ID of the Application Account.
Returns |  |
deactivateAppAccountReturn | void |
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  |
INVALID_STATE |  | If the Application Account is not in an appropriate state to allow the account to be deactivated, this exception is thrown.

### registerAppInstGroupRes

Responds to a request to register an Application Instance for a specific combination of a Service Provider Account and Application Group.

It is possible to approve or disapprove the request. Both cases trigger a state transition for the Application Instance. If approved, the Application Instance is transferred into state ACTIVE and the application can authenticate with the traffic interfaces exposed by Oracle Communications Services Gatekeeper. If disapproved, the Application Instance is deleted.

Table 11-45 registerAppInstGroupRes(spAccountId, appAccountId, appInstGroupId, appInstGroupRef, response)
Parameter Name | Type | Description
--- | --- | ---
Input |  |
spAccountId | xsd:string | The ID of the Service Provider Account.
appAccountId | xsd:string | The ID of the Application Account.
appInstGroupId | xsd:string | The ID of the Application Instance.
appInstGroupRef | xsd:string | Internal ID of the Application Instance. This ID is used to correlate the Application Instance ID with an Operator-internal ID.
response | tns1:RequestResponse | The response to the request. See RequestResponse.
Returns |  |
registerAppInstGroupResReturn | void |
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  |
INVALID_STATE |  |

### activateAppInstGroup

Activates an Application Instance, which changes the state of the Instance to ACTIVE.

Table 11-46 activateAppInstGroup(spAccountId, appAccountId, appInstGroupId)
Parameter Name | Type | Description
--- | --- | ---
Input |  |
spAccountId | xsd:string | The ID of the Service Provider Account.
appAccountId | xsd:string | The ID of the Application Account.
appInstGroupId | xsd:string | The ID of the Application Instance.
Returns |  |
activateAppInstGroupReturn | void |
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  |
INVALID_STATE |  |

### deactivateAppInstGroup

Deactivates an Application Instance, which changes the state of the Instance to INACTIVE.

Table 11-47 deactivateAppInstGroup(spAccountId, appAccountId, appInstGroupId)
Parameter Name | Type | Description
--- | --- | ---
Input |  |
spAccountId | xsd:string | The ID of the Service Provider Account.
appAccountId | xsd:string | The ID of the Application Account.
appInstGroupId | xsd:string | The ID of the Application Instance.
Returns |  |
deactivateAppInstGroupReturn | void |
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  |
INVALID_STATE |  | If the state of the Application Instance does not allow the account to be deactivated, this exception is thrown.

### registerSpAccountReq

Requests registration for a Service Provider Account. Contact details are supplied in the request, together with CRM/PRM application-defined properties. This request must be approved by the Operator (see registerSpAccountRes,

Table 11-48 registerSpAccountReq(spAccountId, spAccount, password)
Parameter Name | Type | Description
--- | --- | ---
Input |  |
spAccountId | xsd:string | The desired ID of the Service Provider Account. The Service Provider will use this ID when authenticating to the PRM-SP Web Services.
spAccount | xsd:string | Data structure with details about the Service Provider Account.
password | xsd:string | The password the Service Provider will use when authenticating to the Service Provider part of the Partner Relationship Management interface.
Returns |  |
registerSpAccountReqReturn | void |
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  |
INVALID_STATE |  |

### listAppAccounts

Lists all Application Account IDs for a specific Service Provider. The result is filtered on the state of the Application Account

Table 11-49 listAppAccounts(spAccountId, state)
Parameter Name | Type | Description
--- | --- | ---
Input |  |
spAccountId | xsd:string | The ID of the Service Provider Account. Use null to not filter on this parameter
state | tns1:State | Indicates which states to filter the result on. State.
Returns |  |
listAppAccountsReturn | Array of tns1:AppAccountRef | Data structure containing references to Application Account Groups. See AppAccountRef.
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  |

### listSpAccounts

Lists all Service Provider Account IDs. The result is filtered on the state of state of the Service Provider Account

Table 11-50 listSpAccounts(state)
Parameter Name | Type | Description
--- | --- | ---
Input |  |
state | tns1:State | Indicates which states to filter the result on. See State.
Returns |  |
listAppAccountsReturn | Array of xsd:string | A list of IDs of the Service Provider Accounts.
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  |

### registerSpAccountRes

Responds to a request to register a Service Provider Account.

It is possible to approve or disapprove the request. Both cases trigger a state transition for the Service Provider Account. If approved, the Service Provider Account is transferred into state ACTIVE and the Service provider can authenticate with the PRM-SP Web Services. If Disapproved, the Service Provider Account is deleted.

Table 11-51 registerSpAccountRes(spAccountId, spGroupId, spAccountRef, response)
Parameter Name | Type | Description
--- | --- | ---
Input |  |
spAccountId | xsd:string | The ID of the Service Provider Account.
spGroupId | xsd:string | The ID of the Service Provider Group the Service Provider Account should be associated with.
spAccountRef | xsd:string | Internal ID of the Service Provider. This ID is used to correlate the Service Provider ID with an Operator-internal ID.
response | tns1:RequestResponse | The response to the request. See RequestResponse.
Returns |  |
registerSpAccountResReturn | void |
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  |
INVALID_STATE |  | If the status of the Service Provider Account is not in state REGISTERED, this exception is thrown.

### deleteSpAccountReq

Requests deletion of a Service Provider Account. In order to be deleted, the Service Provider Account must be state INACTIVE. The request must be approved before the Service Provider Account it is deleted. This is done using deleteSpAccountRes,

Table 11-52 deleteSpAccountReq(spAccountId)
Parameter Name | Type | Description
--- | --- | ---
Input |  |
spAccountId | xsd:string | The ID of the Account.
Returns |  |
deleteSpAccountReqReturn | void |
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  | If the status of the Service Provider Account is not in state INACTIVE, this exception is thrown.
INVALID_STATE |  |

### deleteSpAccountRes

Responds to a request to delete a Service Provider Account. The Service Provider Account must be in state DELETE_PENDING in order for this call to be accepted.

It is possible to approve or disapprove the request. Both cases trigger a state transition for the Service Provider Account. If approved, the Service Provider Account is simply deleted. If disapproved, the Service Provider Account is transferred into state INACTIVE.

Table 11-53 deleteSpAccountRes(spAccountId, response)
Parameter Name | Type | Description
--- | --- | ---
Input |  |
spAccountId | xsd:string | The ID of the Service Provider Account.
response | tns1:RequestResponse | The response to the request. See RequestResponse.
Returns |  |
deleteSpAccountResReturn | void |
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  |
INVALID_STATE |  | If the status of the Service Provider Account is not in state INACTIVE, this exception is thrown.

### updateSpAccount

Updates a Service Provider Account with new data.

Table 11-54 updateSpAccount(spAccountId, spAccount)
Parameter Name | Type | Description
--- | --- | ---
Input |  |
spAccountId | xsd:string | The ID of the Service Provider Account.
spAccount | tns1:SpAccount | Data structure with details on the Service Provider Account, including CRM/PRM application-defined properties in the form of name-value pairs. See SpAccount.
Returns |  |
updateSpAccountReturn | void |
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  |
INVALID_STATE |  |

### updateSpAccountRes

Responds to a request to update a Service Provider Account.

It is possible to approve or disapprove the request. Both cases trigger a state transition for the Service Provider Account to state ACTIVE. If approved, the Service Provider Account is updated with the new information.

Table 11-55 updateSpAccountRes(spAccountId, response)
Parameter Name | Type | Description
--- | --- | ---
Input |  |
spAccountId | xsd:string | The ID of the Service Provider Account.
response | tns1:RequestResponse | The response to the request. See RequestResponse.
Returns |  |
updateAppInstGroupResReturn | void |
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  |
INVALID_STATE |  | If the status of the Service Provider Account is not in state INACTIVE, this exception is thrown.

### getUpdatePendingSpAccount

Gets details about a specific Service Provider account that is in state UPDATE_PENDING. The details include contact information and CRM/PRM application-defined properties in the form of name-value pairs.

.

Table 11-56 getUpdatePendingSpAccount(spAccountId)
Parameter Name | Type | Description
--- | --- | ---
Input |  |
spAccountId | xsd:string | The ID of the Service Provider Account.
Returns |  |
getUpdatePendingSpAccountReturn | tns1:SpAccount | Details about contact information and CRM/PRM application-defined properties in the form of name-value pairs. See SpAccount.
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  |
INVALID_STATE |  | If the Service Provide r Account is not in state UPDTATE_PENDING this exception is thrown.

### setSpAccountPassword

Sets the password the Service Provider uses to authenticate to use the Partner Relationship Management Interface exposed by Oracle Communications Services Gatekeeper.

.

Table 11-57 setSpAccountPassword(spAccountId, newPassword)
Parameter Name | Type | Description
--- | --- | ---
Input |  |
spAccountId | xsd:string | The ID of the Service Provider Account.
newPassword | xsd:string | The new password.
Returns |  |
setSpAccountPasswordReturn | void |
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  |

### changeOpAccountPassword

Changes the password the Operator uses to authenticate with the Partner Relationship Management Interface exposed by Oracle Communications Services Gatekeeper. The Operator Account is the one the Operator is currently logged in as.

Table 11-58 changeOpAccountPassword(oldPassword, newPassword)
Parameter Name | Type | Description
--- | --- | ---
Input |  |
oldPassword | xsd:string | The password to be changed.
newPassword | xsd:string | The new password.
Returns |  |
changeOpAccountPasswordReturn | void |
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  |

### getUserLevel

Retrieves the user level of the currently logged in Operator Account. Different user levels have different privileges, and are authorized to different sets of operations.

Table 11-59 changeOpAccountPassword(oldPassword, newPassword)
Parameter Name | Type | Description
--- | --- | ---
Input |  |
No input parameters. |  |
Returns |  |
getUserLevelReturn | tns1:UserLevel | The user level of the currently logged in Operator Account. See UserLevel.
Possible Exceptions |  |
ACCESS_DENIED |  |
CommonException |  |

### Exceptions

#### ACCESS_DENIED

Exceptions of this type are raised when the operation is not permitted. The user does not have the appropriate privilege level to perform the operation.

#### CommonException

This exception is raised when the login session has expired (BC only) or there are communication problems with the underlying platform.

### Data types

#### AppAccount

Description of an Application Account.

Table 11-60 appAccount
Element name | Datatype | Description
--- | --- | ---
name | xsd:string | Descriptive name of the Application Account.
description | xsd:string | Short description of the Application Account.
properties | impl:ArrayOf_tns1_Property | CRM/PRM application-defined name value pairs. See Property.

#### AppAccountRef

Reference to IDs of an Application Account.

Table 11-61 AppInstGroupRef
Element name | Datatype | Description
--- | --- | ---
spAccountId | xsd:string | ID of the Service Provider Account associated with the Application Account.
appAccountId | xsd:string | ID of the Application Account.

#### AppInstGroupRef

Reference to IDs of an Application Instance.

Table 11-62 AppInstGroupRef
Element name | Datatype | Description
--- | --- | ---
spAccountId | xsd:string | ID of the Service Provider Account associated with the Application Instance.
appAccountId | xsd:string | ID of the Application Account associated with the Application Instance.
appInstGroupId | xsd:string | ID of the Application Instance.

#### AppGroup

Container for Application-level SLA and CRM/PRM application-defined properties.

Table 11-63 AppGroup
Element name | Datatype | Description
--- | --- | ---
sla | xsd:string | The SLA for the Application Group.
properties | mpl:ArrayOf_tns1_Property | CRM/PRM application-defined properties. Name-value pairs. See Property.

#### AppInstGroup

Container for Application Instance CRM/PRM application-defined properties.

Table 11-64 AppGroup
Element name | Datatype | Description
--- | --- | ---
name | xsd:string | Descriptive name of the Application Instance.
description | xsd:string | Short description of the Application Instance.
sla | xsd:string | The SLA for the Application Instance. Always set to 1.
properties | mpl:ArrayOf_tns1_Property | CRM/PRM application-defined properties. Name-value pairs. See Property.

#### Property

Array of name-value pairs. This datatype is used in several other datatypes specific to this interface. The properties are accessible from the Service Provider interface and the Operator interface, so they can be used to communicate information between them

Table 11-65 Property
Element name | Datatype | Description
--- | --- | ---
name | xsd:string | Name of the property, with the value defined in Value. Unique with the array.
value | xsd:string | The data associated with Name.

#### RequestResponse

Enumeration defining the operator’s response to an request

Table 11-66 RequestResponse
Element name | Datatype | Description
--- | --- | ---
APPROVE | xsd:string | Used when the operator approves the request.
DISAPPROVE | xsd:string | Used when the operator disapproves the request.

#### SpAccount

Description of a Service Provider Account, including contact details.

Table 11-67 appAccount
Element name | Datatype | Description
--- | --- | ---
name | xsd:string | Name of the Service Provider.
address | xsd:string | Address of the Service Provider.
eMailAddress | xsd:string | E-mail address of the Service Provider.
contactPerson | xsd:string | Contact person at the Service provider.
phoneNumber | xsd:string | Phone number to the Service Provider.
properties | mpl:ArrayOf_tns1_Property | CRM/PRM application-defined name value pairs. See Property.

#### SpGroup

Container for Service Provider SLA and CRM/PRM application-defined properties.

Table 11-68 SpGroup
Element name | Datatype | Description
--- | --- | ---
sla | xsd:string | The SLA for the Service Provider.
properties | impl:ArrayOf_tns1_Property | CRM/PRM Application-defined properties. Name-value pairs. See Property.

#### UserLevel

Defines the user level of the currently logged in Operator user. Enumeration.

The user level reflects the user levels defined for the operations and maintenance of Oracle Communications Services Gatekeeper. Each operation performed via the Partner Management Interface results in one or more standard OAM operations. The user level of the currently authenticated user must satisfy the user level necessary for each of these operations. If this is not the case, the operation performed through the Partner Management Interface is denied.

Table 11-69 State
Element name | Datatype | Description
--- | --- | ---
UNAUTHORIZED | xsd:string | The currently authenticated in user is not authorized to perform any OAM operations.
READ_ONLY | xsd:string | The currently authenticated user is authorized to perform OAM read- or get- operations.
READ_WRITE | xsd:string | The currently authenticated user is authorized to perform OAM write- or set- operations.
ADMINISTRATOR | xsd:string | The currently authenticated user is authorized to perform administrator OAM operations tasks

#### State

Defines the state of a Service Provider Account, Service Provider Group, Application Account, Application Group, or Application Instance. Enumeration.

See Account States for more information about states, and transitions among different states.

Table 11-70 State
Element name | Datatype | Description
--- | --- | ---
REGISTERED | xsd:string | The account or group is has been registered. The registration request must be responded to by the Service Provider.
ACTIVE | xsd:string | Normal mode.
INACTIVE |  | No traffic is allowed through the Oracle Communications Services Gatekeeper when the account or group is in this state.
UPDATE_PENDING |  | There is a pending update request. The request must be responded to by the Service Provider.
DELETE_PENDING |  | There is a pending delete request on the account or group. The request must be responded to by the Service Provider.
LOCKED |  | Only valid for an Application Instance. The group can be locked due to too many consecutive failed login attempts from an application.