A API Management REST-based API

This appendix describes the RESTful API interface that Oracle Communications Services Gatekeeper uses to manage APIs and create the Services Gatekeeper PRM GUI tools. You can use this API for manage APIs, or to extend or replace the default Services Gatekeeper GUI tools.

Understanding the Partner Relationship Management API

You use the API Management API to:

  • Manage APIs within Services Gatekeeper

  • Modify or replace these GUI tools:

    • The API and Partner Manager Portal

    • Partner Manager Portal

    • Network Service Supplier Portal

The API Management API is the interface for creating, changing, and deleting the objects that define APIs, PRM partners and groups, and so on. Like any RESTful API, the API Management API makes its services available to client applications through simple HTTP requests. However, secure HTTP (HTTPs) is required for all operations in this API.

The Services Gatekeeper servers must be up and running to access this API.

Several types of clients connect to Services Gatekeeper, including the Administration Console client process and the portal GUIs. Services Gatekeeper listens for API Management API at the port configured for client HTTP access. Before using this API, ensure that the managed server is configured to accept web requests.

Creating and Updating Objects

To add partners, groups, and APIs, you use the API Management API to create the data objects that represent the entities you want to add.

The body of PUT or POST requests should contain JSON or XML-formatted data that describes the entity, such as a partner's name and contact information.

To update an object, specify the new value for a parameter in the body of the PUT or POST request. You only need to supply the new or changing parameter values to modify and not for the entire object.

The message body is either JSON or XML object depending on the Content-Type header field setting.

Understanding API Management API Error Handling

When an API operation succeeds, it returns a response with HTTP status code 200.

If an error occurs, these operations return a response that has an HTTP code reflecting the nature of the error. These error codes include:

  • 400 - Request not accepted because a request value is not acceptable. Details are in the response body.

  • 401 - Username or password incorrect.

  • 404 - Resource/URL does not exist.

  • 405 - Method not allowed.

  • 406 - Request method not supported by the URL.

  • 500 - Internal system error.

  • 503 - Service unavailable.

API Management API Operations

The following sections list the RESTful operations of the API Management API.

API and Partner Manager Portal Operations

The API and Partner Manager Portal GUI uses the operations listed in this section.

Group Management Operations

These operations manage both your groups and accounts:

Partner Management Operations

These operations manage your partners:

Application Management Operations

These operations manage your applications:

System Configuration Operations

These operations manage the configuration settings:

Partner Portal Operations

The Partner Manager Portal GUI uses the operations listed in this section.

Account Management Operations

These operations manage your GUIs.

Application Management Operations

These operations manage your applications:

Network Service Supplier Portal Operations

The Network Service Supplier GUI uses these operations.

Network Interface Management Operations

These operations manage your network interfaces:

Understanding the API Management API Objects

Table A-1 Lists the apiObject parameters, which Services Gatekeeper uses to define an API.

Table A-1 apiObject Parameters

Parameter Type Description

accessType

String

One of:

  • HTTP

  • HTTPS

  • BOTH

accessUrl

URI

The URI used to access the object.

apiAuthTypes

String List

The authorization method used to protect the API. The options are:

  • NONE - Unauthenticated traffic is allowed.

  • TEXT - Use BasicAuthentication to authorize REST-based requests or UsernameToken to authorize SOAP-based requests.

  • APPKEY - Use an application key, defined by the AppKeyAuthentication action, for authentication. Use AppKeyAuthenticaiton to specify a key and/or query parameter for authentication.

  • OAUTH - Use Oauth 2.0 authentication.

TEXT and OAUTH can be listed and used together. An empty list uses the NONE option, which represents security vulnerability. Use only with API traffic from trusted sources.

apiDisplayName

String

Optional. The value for the API Name field in the Partner and API Management Portal. The name of the API displayed in the Portal. The value for this field is also used for the apiName parameter (Context Root field) unless you change it.

apiId

String

The objects unique identifier generated by Services Gatekeeper.

apiInterfaces

apiInterface Object

API interface field list. See Table A-2, "apiInterface Parameters" for details.

apiName

String

The value for the Context Root field in the Partner and API Management Portal. By default the Portal uses the value for apiDisplayName in this field unless you change it. The value for this field is included in the API Access URL (visible by users) and sometimes used to convey information.

apiVersion

String

Optional. A version number for the API.

authToken

String

The authorization token for TEXT authorization. For the "createAPI" and "editAPI" operations, this password can be 32-byte encrypted with the AES key you set in ”Encrypt Application Passwords.”

authType

String

The application-facing authentication type. One of:

  • NONE

  • TEXT

  • OAUTH

contractname

String

Reserved for future use.

contractversion

String

Reserved for future use.

csServiceType

String

The communication service. Used when serviceType is by-ocsg-cs, which indicates that the API uses an existing Services Gatekeeper communication service.

csOption

csOption

The services model for a communication service. Used when serviceType is by-ocsg-cs, which indicates that the API uses an existing Services Gatekeeper communication service. The options are:

  • DAF - When Service Mode is Dynamic (Allows Editing Exposure and Action Flow).

  • OCSG - When Service Mode is Static.

description

String

An informal description of the API

direction

String

One of:

  • AOMT - Application Originated Mobile Terminated

  • MOAT - Mobile Originated Application Terminated

facade

String

Either REST or SOAP.

groups

String List

If the value for the privilege parameter is 1 (private API), returns a list of the groups allowed. The syntax is: ["group1","group2"]

icon

String

The relative path to the API icon graphic.

link

String

A link to the API documentation.

networkAuthorizationURI

URL

The network-facing authorization server URL.

networkClientRedirectURI

URL

The network-facing client redirection URL.

networkProxy

String

The network proxy in the form: IP_address:port

networkTokenk URI

URL

The network-facing token URL.

northBoundWadlFiles

WADL file

The WADL fileName and fileContent strings for application-facing WADL files

privilege

Integer

One of:

  • 0 - Specifies a public API which can be used by all groups.

  • 1 - Specifies a private API which can only be used by specific partners.

protocol

String

Usually the network URL. If the serviceType value is by-registered, then us the network interface ID.

serviceType

String

One of:

  • by-url - Uses and existing URL

  • by-file - Uses a WSDL or WADL file

  • by-registered - Uses an existing registered network service.

  • by-ocsg-cs - Uses an existing Services Gatekeeper communication services.

status

String

The object's status. Can be: CREATED, PUBLISHED, SUSPENDED, DEPRECATED, or RETIRED.

wadlfiles

WADL file

The WADL fileName and fileContent strings for network-facing WADL files.


Table A-2 lists the apiInterface object parameters.

Table A-2 apiInterface Parameters

Parameter Type Description

name

String

The interface name

displayName

String

The display name.

fileLocation

String

The URL of the file.

apiMethods

apiMethod object

A list of the apiMethod parameters. See Table A-3, "apiMethod Parameters" for details.


Table A-3 lists the apiMethod object parameters.

Table A-3 apiMethod Parameters

Parameter Type Description

changeCode

String

Reserved for future use.

displayName

String

The public name for the exposed resource.

expose

Boolean

True if the resource should be exposed, and false if not.

httpVerb

String

For application-facing REST requests, one of: HEAD, GET, POST, PUT, DELETE, TRACE, OPTIONS, CONNECT, PATCH. For application-facing SOAP messages, the SOAP method name.

name

String

The resource name.

path

URL

The path to the application resource.

parameterSetting

paramSetting

Reserved for future use.

servicePath

String

The path to the network service.

serviceHttpVerb

String

For network-facing REST messages, one of: HEAD, GET, POST, PUT, DELETE, TRACE, OPTIONS, CONNECT, PATCH. For network-facing SOAP requests, the SOAP method name.

settlementCode

String

Reserved for future use.

spslas

spSAL

Reserved for future use.


createAPI

Create a new API object for use with Services Gatekeeper.

Authorization

Partner Manager Administrator

HTTP Method

POST

URI

/prm_pm_rest/services/prm_pm/services/partner_manager/api/PartnerManagerApi/createAPI

Request Body

This operation uses these request parameters:

  • createAPI (apiObject) Required. See Table A-1, "apiObject Parameters" for details on the apiObject parameters. All parameters are required, and the authToken parameter accepts 24 and 32-byte encryption.

Response Body

This operation does use any response parameters.

Example

Example A-1 createAPIs Request Example

POST https://10.182.98.78:9001/apis 
/prm_pm_rest/services/prm_pm/services/partner_manager/api/PartnerManagerApi/createAPI
{"createAPI":{"apiObject":{"apiDisplayName": 
"HDAPI002ContextRoot""apiName": "HDAPI002ContextRoot","apiVersion":
"1","apiAuthTypes": { "TEXT" },"accessUrl": "https://localhost:8081/api-0919-11/1","apiInterfaces": [{"name":
"OneAPI SMS-v1.1","apiMethods": [{"name": "createOutboundMessage","displayName":
"createOutboundMessage","path": "/outbound/{senderAddress}/requests","httpVerb":
"POST","servicePath": "/outbound/{senderAddress}/requests","serviceHttpVerb":
"POST","expose": true}, {"name": "createOutboundSubscription","displayName":
"createOutboundSubscription","path":
"/outbound/{senderAddress}/subscriptions","httpVerb": "POST","servicePath":
"/outbound/{senderAddress}/subscriptions","serviceHttpVerb": "POST","expose":
false}, {"name": "deleteOutboundSubscriptionById","displayName":
"deleteOutboundSubscriptionById","path":
"/outbound/subscriptions/{subscriptionId}","httpVerb": "DELETE","servicePath":
"/outbound/subscriptions/{subscriptionId}","serviceHttpVerb": "DELETE","expose":
false}, {"name": "getOutboundMessageDeliveryInfoById","displayName":
"getOutboundMessageDeliveryInfoById","path":
"/outbound/{senderAddress}/requests/{requestId}/deliveryInfos","httpVerb":
"GET","servicePath":
"/outbound/{senderAddress}/requests/{requestId}/deliveryInfos","serviceHttpVerb":
"GET","expose": false}],"displayName": "OneAPI SMS-v1.1"}],"description":
"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk","facade": "REST","seviceType":
"by-registered","protocol": "af4b3707-e4e3-4836-bf6d-df7f8bcd2e12","privilege":
1,"link": "https://1.com","accessType": "HTTP","authType": "TEXT","authToken":
"jack:apache","groups": ["aaaa"],"direction": "AOMT","networkAuthorizationURI":
"authuri","networkTokenURI": "tokenuri","networkClientRedirectURI":
"redirect","icon":
"icon","wadlFiles":[{"fileName":"aaaa","fileContent":"aaaa"},{"fileName":"bbbb",
"fileContent":"bbbb"}],"northBoundWadlFiles":[{"fileName":"north-aaaa",
"fileContent":"north-aaaa"},{"fileName":"north-bbbb","fileContent":"north-bbbb"}]}}} 

Example A-2 createAPI Response Example

HTTP/1.1 200 OKContent-Length: 0Server: Jetty(8.0.1.0)

editAPI

Change fields on an apiObject object.

Authorization

Partner Manager Administrator

HTTP Method

POST

URI

/prm_pm_rest/services/prm_pm/services/partner_manager/api/PartnerManagerApi/editAPI

Request Body

This operation uses these request parameters:

  • editAPI (apiObject) Required. See Table A-1, "apiObject Parameters" for details on the apiObject parameters. The authToken parameter accepts 24 and 32-byte encryption.

Response Body

This operation does not use any response parameters.

Examples

Example A-3 editAPIs Request Example

POST https://10.182.98.78:9001/apis 
/prm_pm_rest/services/prm_pm/services/partner_manager/api/PartnerManagerApi/editAPI
{"editAPI":{"apiObject":{"apiId":"ba32cbb8-d97e-4d87-bf7c-0ca1bdd1d3e7",
"apiDisplayName":"api-0925-1","apiName":"api-0925-1","apiVersion":"1","accessUrl":"https://localhost:
8081/daf/api-0925-1/1","apiInterfaces":[{"name":"api-0925-1-v1","apiMethods":
[{"name":"getLocation","displayName":"getLocation","path":"/getLocation/
{subscriber}","httpVerb":"GET","servicePath":"/getLocation/{subscriber}",
"serviceHttpVerb":"GET","expose":true}],"displayName":"api-0925-1-v1",
"fileLocation":"https://1.com"}],"wadlFiles":[],"northBoundWadlFiles":[],
"description":"api-0925-1 description hahahaha","facade":"REST",
"direction":"AOMT","seviceType":"by-url","protocol":"","privilege":0,"link":
"https://1.com","accessType":"HTTP","authType":"NONE","authToken":"","n

Example A-4 editAPIs Response Example

HTTP/1.1 200 OKContent-Length: 0Server: Jetty(8.0.1.0)

editAPIContextRoot

Change the context root (apiName field) of an API object.

Authorization

Partner Manager Administrator

HTTP Method

POST

URI

/prm_pm_rest/services/prm_pm/services/partner_manager/api/PartnerManagerApi/editAPIContextRoot

Request Body

This operation uses these request parameters:

  • apiId (String) Mandatory. The unique API object identifier from the API Object see Table A-1, "apiObject Parameters".

  • contextRoot (String) Mandatory. The new value to use for the apiName field in the API object.

Response Body

This operation does use any response parameters.

Examples

Example A-5 editAPIContextRoot Request Example

POST /prm_pm_rest/services/prm_pm/services/partner_manager/api/PartnerManagerApi/editAPIContextRoot HTTP/1.1
Host: 192.0.0.24:8001
Accept: application/json
Content-Type: application/json
Authorization: Basic b3A6d2VibG9naWMxMjM
Cache-Control: no-cache
 
{"editAPIContextRoot":{"apiId":"ID-TestAPI3", "contextRoot":"TestAPI3Root2/SubRoot"}}

Example A-6 editAPIContextRoot Response Example

HTTP/1.1 200 OK
Content-Length: 0
Server: Jetty(8.0.1.0)
{"editAPIContextRootResponse":{}}

deleteAPI

Delete an apiObject object.

Authorization

Partner Manager Administrator

HTTP Method

DELETE

URI

/prm_pm_rest/services/prm_pm/services/partner_manager/api/PartnerManagerApi/deleteAPI/apiName

Request Body

This operation uses these request parameters:

Response Body

This operation does use any response parameters.

Examples

Example A-7 deleteAPIs Request Example

DELETE https://10.182.98.78:9001/apis
/prm_pm_rest/services/prm_pm/services/partner_manager/api/PartnerManagerApi/deleteAPI/
{"deleteAPI":{"apiName":"8cdc8cdc-61e0-4ec2-9fc1-c9e71c1821e8"}}

Example A-8 deleteAPIs Response Example

HTTP/1.1 200 OKContent-Length: 0Server: Jetty(8.0.1.0)

updateAPIStatus

Change the status parameter of an apiObject. See Table A-1, "apiObject Parameters" for a list of the values allowed for the status parameter.

Authorization

Partner Manager Administrator

HTTP Method

POST

URI

/prm_pm_rest/services/prm_pm/services/partner_manager/api/PartnerManagerApi/updateApiStatus

Request Body

This operation uses these request parameters:

  • apiName (String) Mandatory. The apiName parameter of the apiObject.

  • apiVersion (String) Mandatory. The apiVersion parameter of the apiObject object.

  • status (String) Mandatory. The new status parameter to apply to the apiObject. See Table A-1, "apiObject Parameters" for a list of the values allowed for the status parameter.

Response Body

This operation does not return any parameters.

Examples

Example A-9 updateAPIStatus Request Example

POST https://10.182.98.78:9001/apis
/prm_pm_rest/services/prm_pm/services/partner_manager/api/PartnerManagerApi/updateApiStatus
{"updateApiStatus":{"apiDisplayName":"8cdc8cdc-61e0-4ec2-9fc1-c9e71c1821e8",
"apiName":"8cdc8cdc-61e0-4ec2-9fc1-c9e71c1821e8",
"apiVersion":"1","status":"PUBLISHED"}}

Example A-10 updateAPIStatus Response Example

HTTP/1.1 200 OKContent-Length: 0Server: Jetty(8.0.1.0)

getAPIs

Retrieve a list of apiObjects which represent APIs.

Authorization

Partner Manager Administrator

HTTP Method

GET

URI

/prm_pm_rest/services/prm_pm/services/partner_manager/api/PartnerManagerApi/getAPIs

Request Body

This operation does not use any request parameters:

Response Body

This operation returns these parameters:

Examples

Example A-11 getAPIs Request Example

GET /prm_pm_rest/services/prm_pm/services/partner_manager/api/PartnerManagerApi/getAPIs

Example A-12 getAPIs Response Example

HTTP/1.1 200 OKContent-Length: 0Server: Jetty(8.0.1.0)
{"getAPIsResponse": {"return": [{"apiId":
"32d03e51-1d57-43e2-9077-37cef5712750","apiDisplayName": "0919-1""apiName": "0919-1","apiVersion": "1","status": "CREATED","accessUrl":
"https://localhost:8001/daf/0919-1/1","apiInterfaces": [{"name":
"Payment-v1.1","displayName": "Payment-v1.1","fileLocation":
"https://doc.payment.access.url/v11"}],"description": "api description","facade":
"REST","seviceType": "by-registered","protocol":
"b421bded-0974-4045-81cf-0cfb8a01c538","privilege": 0,"link": "https://1.com",
"accessType": "HTTP","authType": "TEXT","authToken": "jack:apache","direction":
"AOMT"}]}} 

getAPI

Retrieve an API object based on it's apiId parameter.

Authorization

Partner Manager Administrator

HTTP Method

GET

URI

/prm_pm_rest/services/prm_pm/services/partner_manager/api/PartnerManagerApi/getAPI/apiName

Request Body

This operation uses these request parameters:

Response Body

This operation returns these parameters:

Examples

Example A-13 getAPI Request Example

GET https://10.182.98.78:9001/apis
/prm_pm_rest/services/prm_pm/services/partner_manager/api/PartnerManagerApi/getAPI/
{"apiId": "d7f1068b-906f-4a8f-829a-2e7858ed07c9"

Example A-14 getAPI Response Example

HTTP/1.1 200 OKContent-Length: 0Server: Jetty(8.0.1.0)
{"getAPIResponse": {"return": {"apiId":
 "d7f1068b-906f-4a8f-829a-2e7858ed07c9","apiDisplayName": "pjhweather""apiName": "yourWeather","apiVersion":
"1","status": "DEPRECATED","accessUrl":
 "https://127.0.0.1/pjhweather/1","apiInterfaces": [{ "name": "pjhweather-v1",
"apiMethods": [{ "name": "weather", "displayName": "weather", "path": "weather",
 "httpVerb": "GET", "servicePath": "forecastrss", "serviceHttpVerb": "GET",
"expose": true }], "displayName": "pjhweather-v1", "fileLocation":
 "https://www.pjh.com/weather" }],"description": "pjh weather","facade":
"REST","seviceType": "by-url","protocol":
 "https://weather.yahooapis.com/","privilege": 1,"link":
"https://www.pjh.com/weather","accessType": "HTTP","authType": "NONE","groups":
["default_sp_group"],"direction": "AOMT"}}} 

listApplicationsForAPI

List all applications using an API.

Authorization

Partner Manager Administrator

HTTP Method

GET

URI

/prm_pm_rest/services/prm_pm/services/partner_manager/api/PartnerManagerApi/listApplicationsForAPI/apiName

Request Body

This operation uses these request parameters:

  • apiName (String) Mandatory. The apiName parameter from an apiObject. Identifies the API you want a list of applications for.

Response Body

This operation returns these parameters:

  • ListApplicationsForAPIResponse (application list). A list of the applications currently using the API.

Examples

Example A-15 listApplicationsForAPI Request Example

GET https://10.182.98.78:9001/apis
/prm_pm_rest/services/prm_pm/services/partner_manager
/api/PartnerManagerApi/listApplicationsForAPI/apiName
{"apiName":"8cdc8cdc-61e0-4ec2-9fc1-c9e71c1821e8"}

Example A-16 listApplicationsForAPI Response Example

HTTP/1.1 200 OKContent-Length: 0Server: Jetty(8.0.1.0)
{"ListApplicationsForAPI":{"return":[{"applicationID":"fa0183a3-1a57-4acb-
9aac-1846b54cb18b","applicationName":"app-0828-1","partnerName":"guest1",
"partnerCompany":"oracle","description":"app-0828-1app-0828-1app-0828-1app-
0828-1app-0828-1app-0828-1app-0828-1app-0828-1","applicationAPIs":[{"apiDisplayName":"api-0825-1","apiName":
"api-0825-1","accessURL":"https://localhost:8001/api-0825-1/1","apiVersion":"1",
"apiDescription":"api-0825-1api-0825-1api-0825-1api-0825-1",
"applicationMethodSLAs":[{"methodName":"","interfaceName":
"9380cdb2-c584-42ca-929f-761f216f0e69","quota":{"days":0,"limitExceedOK":
false,"qtaLimit":0},"rate":{"reqLimit":0,"timePeriod":0},"methodGuarantee":
{"reqLimitGuarantee":0,"timePeriodGuarantee":0}}],"needReadContract":false}],
"trafficUser":"rotterzeng_app-0828-1","trafficPassword":"guest1_
app-0828-1","submitDate":"2014-08-28+08:00","effectiveFrom":"2014-08-01+08:00",
"effectiveTo":"2014-08-31+08:00","status":"ACTIVE","lockStatus":"UNLOCKED",
"quota":{"days":1,"limitExceedOK":true,"qtaLimit":1},"rate":{
"reqLimit":1,"timePeriod":1}}]}

listAPILifeCycle

List the API life cycle for an API.

Authorization

Partner Manager Administrator

HTTP Method

GET

URI

/prm_pm_rest/services/prm_pm/services/partner_manager/api/PartnerManagerApi/listAPILifeCycle/apiName/apiVersion

Request Body

This operation uses these request parameters:

Response Body

This operation uses these response parameters:

  • id (String). A valid record ID value of an apiObject.

  • apiName (String). A valid apiName value of an apiObject.

  • apiVersion (String). A valid apiVersion for the apiObject.

  • operator (String). The name of the operator who last updated the apiObject status.

  • date (String). The date when the status was last updated.

  • content (String). The value for the status that was changed.

Examples

Example A-17 listAPILifeCycle Request Example

GET https://10.182.98.78:9001/apis 
/prm_pm_rest/services/prm_pm/services/partner_manager/api/PartnerManagerApi/listAPILifeCycle/
{"listAPILifeCycle":{"apiName":"8cdc8cdc-61e0-4ec2-9fc1-c9e71c1821e8",
"apiVersion":"1","status":"PUBLISHED"}}

Example A-18 listAPILifeCycle Response Example

HTTP/1.1 200 OKContent-Length: 0Server: Jetty(8.0.1.0)
{"ListAPILifeCycleResponse":{"return":[{"id":"9471f463-8c74-42c0-9832-
a73ebb060404","apiDisplayName":"api-0925-1","apiName":"api-0925-1","apiVersion":"1","operator":"op",
"date":"09/25/2014 16:59:37","content":"Created"},
{"id":"8c97e48b-3251-45d8-8b6e-dd1b16fbd369","apiName":"api-0925-1","apiVersion"
:"1","operator":"op","date":"09/25/2014 16:44:31","content":"Created"}]}} 

updateAPIApplicationRelationship

Change the suspense state of an application-API relationship.

Authorization

Partner Manager Administrator

HTTP Method

POST

URI

/prm_pm_rest/services/prm_pm/services/partner_manager/api/PartnerManagerApi/updateAplicationrelationship/apiName/apiVersion/suspended

Request Body

This operation uses these request parameters:

  • apiName - (String). A valid apiName value (context root) of an apiObject.

  • applicationID - (String). A valid apiVersion for the apiObject.

  • suspended - (Integer). 0 allows the API to handle all traffic for the application; 1 prevents the API from processing any traffic for the application.

Response Body

This operation does not return any response parameters.

Examples

Example A-19 updateApplicationRelationship Request Example

POST https://10.182.98.78:9001/apis 
/prm_pm_rest/services/prm_pm/services/partner_manager/api/PartnerManagerApi/listAPILifeCycle/
{"updateAPIApplicationRelationship":{"apiName":"c305f2a5-8667-40a6-8510-
3d4627e96710 ","applicationID":"ccb5755d-0cb1-4452-a5a3-6c970b014307","suspended":"0"}}

Example A-20 updateApplicationRelationship Response Example

HTTP/1.1 200 OKContent-Length: 0Server: Jetty(8.0.1.0)Content-Length: 0

listAllGroups

This operations returns a list of all serviceProviderGroup objects.

Authorization

Partner Manager Administrator

HTTP Method

GET

URI

/prm_pm_rest/services/partner_manager/group/PartnerManagerSlaGroup/listAllGroups

Request Body

This operation does not use any request parameters.

Response Body

This operation returns a serviceProviderGroup object and the associated quota and rate objects. Table A-4, "serviceProviderGroup Object Parameters" lists the serviceProviderGroup object parameters.

Table A-4 serviceProviderGroup Object Parameters

Parameter Data Type Description

group

string

The group name.

quota

quota object

Defines the maximum number of messages that a subscriber can send during a quota period. Table A-5, "quota Object Parameters" lists the quota object parameters.

rate

rate object

Defines the maximum number of messages allowed during the quota period. Table A-6, "rate Object Parameters" lists the rate object parameters.

totalPartners

Integer

The number of partners that belong to the group.


Table A-5 quota Object Parameters

Parameter Data Type Descriptions

days

Integer

The number of days the quota is valid.

limitExceedOK

Boolean

Whether the user can exceed the quota.

qtaLimit

Integer

The maximum number of messages allowed during the quota.


Table A-6 rate Object Parameters

Parameter Data Type Description

reqLimit

Integer

The maximum number of messages allowed furing the quota period.

timePeriod

Integer

The time period in seconds.


Examples

Example A-21 listAllGroups Request Example

GET https://10.182.98.78:9001/groups 
/prm_pm_rest/services/partner_manager/group/PartnerManagerSlaGroup/listAllGroups

Example A-22 listAllGroups Response Example

HTTP/1.1 200 OKContent-Length: 0Server: Jetty(8.0.1.0)
{"listAllGroupsResponse":{"return":[{"group":"0903-1","quota":{"days":1,
"limitExceedOK":false,"qtaLimit":1},"rate":{"reqLimit":1,"timePeriod":1000},
"totalPartners":0},{"group":"0903-2","quota":{"days":1,"limitExceedOK":false,
"qtaLimit":1},"rate":{"reqLimit":1,"timePeriod":1000},"totalPartners":0},
{"group":"aaaa","quota":{"days":1,"limitExceedOK":false,"qtaLimit":1},"rate":
{"reqLimit":1,"timePeriod":1000},"totalPartners":0},{"group":"default_sp_
group","quota":{"days":0,"limitExceedOK":false,"qtaLimit":0},"rate":
{"reqLimit":0,"timePeriod":0},"totalPartners":1},{"group":"group0903",
"quota":{"days":1,"limitExceedOK":false,"qtaLimit":1},"rate":{"reqLimit":1,
"timePeriod":1000},"totalPartners":0},{"group":"sxg_test",
"quota":{"days":1,"limitExceedOK":false,"qtaLimit":50},"rate":{"reqLimit":10,
"timePeriod":1},"totalPartners":0},{"group":"sxh","quota":{"days":7,
"limitExceedOK":false,"qtaLimit":20000},"rate":{"reqLimit":1000,"timePeriod":
1000},"totalPartners":1},{"group":"sysdefault_sp_group",
"quota":{"days":0,"limitExceedOK":false,"qtaLimit":0},"rate":{"reqLimit":0,
"timePeriod":0},"totalPartners":0}]}}

createServiceProviderGroup

Creates a service provider group.

Authorization

Partner Manager Administrator

HTTP Method

POST

URI

/prm_pm_rest/services/partner_manager/group/PartnerManagerSlaGroup/createServiceProviderGroup

Request Body

This operation uses these request parameters:

  • groupName (String) required. The name of the group to create.

  • rate (rate object) required. The maximum number of messages allowed during a quota period. Table A-5, "quota Object Parameters" lists the rate object parameters.

  • quota (quota object) required. The maximum number of messages allowed during the quota period. Table A-6, "rate Object Parameters" lists the quota object parameters.

Response Body

This operation does not return any parameters:

Examples

Example A-23 createServiceProviderGroup Request Example

GET https://10.182.98.78:9001/apis
{"createServiceProviderGroup":{"groupName":"VIP","rate":{"reqLimit":
"10000","timePeriod":1000},"quota":{"qtaLimit":"1000000","days":"5"}}} 

Example A-24 createServiceProviderGroup Response Example

HTTP/1.1 200 OKContent-Length: 0Server: Jetty(8.0.1.0)

deleteGroup

Deletes a service provider group.

Authorization

Partner Manager Administrator

HTTP Method

DELETE

URI

/prm_pm_rest/services/partner_manager/group/PartnerManagerSlaGroup/deleteGroup/groupName

Request Body

This operation uses these request parameters:

  • groupName (String) Required. The name of the group object to delete.

Response Body

This operation does not return any parameters.

Examples

Example A-25 deleteGroup Request Example

DELETE https://10.182.98.78:9001/apis
/prm_pm_rest/services/partner_manager/group/
PartnerManagerSlaGroup/deleteGroup/testgroup1

Example A-26 deleteGroup Response Example

HTTP/1.1 200 OKContent-Length: 0Server: Jetty(8.0.1.0)

confirmMovePartnerToGroup

Assigns a partner to a group.

Authorization

Partner Manager Administrator

HTTP Method

POST

URI

/prm_pm_rest/services/partner_manager/group/PartnerManagerSlaGroup/confirmMovePartnerToGroup

Request Body

This operation uses these request parameters:

  • partnerName (String) Required. The name of the partner to associate with the group.

  • newGroupName (String) Required. The new group name.

  • action (String) Required. An action. Either CHANGE_APP or EXPAND_SLA.

Response Body

This operation does not return any parameters.

Examples

Example A-27 confirmMovePartnerToGroup Request Example

POST https://10.182.98.78:9001/apis
{"confirmMovePartnerToGroup":{"partnerName":"joechin33","newGroupName":
"VIP","action":"EXPAND_SLA"}} 

Example A-28 confirmMovePartnerToGroup Response Example

HTTP/1.1 200 OKContent-Length: 0Server: Jetty(8.0.1.0)

getUsers

Retrieves the userInfo object parameter for all partners.

Authorization

Partner Manager Administrator

HTTP Method

GET

URI

/prm_pm_rest/services/accountmanage/AccountManagement/getUsers

Request Body

This operation does not send any request parameters.

Response Body

This operation returns these parameters:

Examples

Example A-29 getUsers Request Example

GET https://10.182.98.78:9001/apis
/prm_pm_rest/services/accountmanage/AccountManagement/getUsers

Example A-30 getUsers Response Example

HTTP/1.1 200 OKContent-Length: 0Server: Jetty(8.0.1.0)
{"getUsersResponse":{"return":[{"company":"Oracle","companyURL":"www.oracle.com","
emailAddr":"demouser@oracle.com","financial":{},"firstName":"Demo","lastName":
"User","password":"demouser","phone":"12345678","secureityAnswer":"Attention",
"secureityAnswerChoice":"0","status":2,"userName":"demouser","userType":
"PRM_SP"},{"city":"bj","company":"oracle","companyURL":
"https://www.oracle.com","contacts":[{"city":"","contactTimeFrom":"",
"contactTimeTo":"","country":"","emailAddress":"","firstName":"","lastName":""},
{"city":"","contactTimeFrom":"3:0:0","contactTimeTo":"6:0:0","country":"China",
"emailAddress":"helen@oracle.com","firstName":"","lastName":""}]}}

getUserByName

Retrieves the details for a single partner.

Authorization

Partner Manager Administrator

HTTP Method

GET

URI

/prm_pm_rest/services/accountmanage/AccountManagement/getUsers/userName

Request Body

This operation uses these request parameters:

  • userName (String) Required. The name of the user to retrieve information for.

Response Body

This operation returns the userInfo object for the user. Table A-7, "userInfo Object Parameters" lists the userInfo parameters.

Examples

Example A-31 getUserByName Request Example

GET https://10.182.98.78:9001/users
/prm_pm_rest/services/accountmanage/AccountManagement/getUsers/testuser1

Example A-32 getUserByName Response Example

HTTP/1.1 200 OKContent-Length: 0Server: Jetty(8.0.1.0)
{"getUserByNameResponse":{"return":{"company":"Oracle","companyURL":
"www.oracle.com","emailAddr":"demouser@oracle.com","financial":{},"firstName":
"Demo","lastName":"User","password":"demouser","phone":"12345678",
"secureityAnswer":"Attention","secureityAnswerChoice":"0","status":2,
"userName":"demouser","userType":"PRM_SP"}}}

approve

Approves a partner registration. When a partner or network service supplier successfully registers, a notification is sent to the partner manager for approval. This operation approves the registration.

Authorization

Partner Manager Administrator

HTTP Method

POST

URI

/prm_pm_rest/services/accountmanage/AccountManagement/approve

Request Body

This operation uses these request parameters:

Response Body

This operation does not return any parameters.

Examples

Example A-33 approve Request Example

POST https://10.182.98.78:9001/users
/prm_pm_rest/services/accountmanage/AccountManagement/approve
{"approve":{"userInfo":{"city":"bj","company":"oracle","companyURL":"https://
www.oracle.com","country":"China","emailAddr":"testuser@oracle.com","financial":
{"bankAccountNumber":"","bankAddress":"","bankName":"","bankRoutingNumber":"",
"city":"","country":"","invoiceTo":"","referenceAccount":"","stateOrProvince":
"","taxID":"","zipOrPostalCode":""},"firstName":"test","lastName":"test",
"password":"weblogic123","phone":"1-1-12345678","secureityAnswer":"testuser",
"secureityAnswerChoice":"0","status":0,"userName":"testuser","userType":
"PRM_SP","notificationId":"874add7a-9474-4698-b9a8-84440f64a7da"}}} 

Example A-34 approve Response Example

HTTP/1.1 200 OKContent-Length: 0Server: Jetty(8.0.1.0)

reject

Rejects a partner registration.

Authorization

Partner Manager Administrator

HTTP Method

POST

URI

/prm_pm_rest/services/accountmanage/AccountManagement/reject

Request Body

This operation uses these request parameters:

Response Body

This operation does not return any parameters.

Examples

Example A-35 reject Request Example

GET https://10.182.98.78:9001/users
/prm_pm_rest/services/accountmanage/AccountManagement/reject
{"reject":{"userInfo":{"city":"bj","company":"oracle","companyURL":"https:
//www.oracle.com","country":"China","emailAddr":"testuser1@oracle.com",
"financial":{"bankAccountNumber":"","bankAddress":"","bankName":"",
"bankRoutingNumber":"","city":"","country":"","invoiceTo":"","referenceAccount":
"","stateOrProvince":"","taxID":"","zipOrPostalCode":""},"firstName":"test",
"lastName":"test","password":"weblogic123","phone":"1-1-12345678",
"secureityAnswer":"testuser","secureityAnswerChoice":"0","status":0,"userName":
"testuser1","userType":"PRM_SP"}}} 

Example A-36 reject Response Example

HTTP/1.1 200 OKContent-Length: 0Server: Jetty(8.0.1.0)

deleteUser

Deletes a user's userInfo object.

Authorization

Partner Manager Administrator

HTTP Method

DELETE

URI

/accountmanage/AccountManagement/deleteUser/userName

Request Body

This operation uses these request parameters:

  • userName (String) Required. The userName parameter of the userInfo object to delete. Table A-7 lists the userInfo object parameters.

Response Body

This operation does not return any parameters.

Examples

Example A-37 deleteUser Request Example

DELETE https://10.182.98.78:9001/users
/accountmanage/AccountManagement/deleteUser/{userName}
{"deleteUser":{userInfo":{userName":"testuser1"}}}

Example A-38 deleteUser Response Example

HTTP/1.1 200 OKContent-Length: 0Server: Jetty(8.0.1.0)

createUser

Creates a partner.

Authorization

Partner Manager Administrator

HTTP Method

POST

URI

services/accountmanage/AccountManagement/createUser

Request Body

This operation uses these request parameters:

Table A-7 userInfo Object Parameters

Parameter Data Type Description

city

String

The city where the user lives.

company

String

The company the user works for.

companyURL

URL

A URL for the company

contacts

contact object

Contact information. Table A-8, "contact Object Parameters" lists the contact parameters.

country

String

The country where the user lives.

emailAddr

String

An email address in xxx@xxx.xx format.

firstName

String

The user's first name.

lastName

String

The user's last name.

password

String

The user password. For the "registerSP" operation, this password can be 32-byte encrypted with the AES key you set in ”Encrypt Application Passwords.”

phone

String

The user's phone number in \+?[0-9][0-9,\-,\s]{2,} format.

securityAnsswer

String

The answer to a security question.

securiytAnswerChoice

String

The user's choice of security questions.

stateOrProvince

String

The state or province where the user lives.

status

String

The user's status. Can be one of active or registered.

streetAddress

String

The user's street address

userName

String

The user's online username.

zipOrPostalCode

String

The user's zip code or other postal code.

slaGroup

String

The user's SLA group.

userType

String

The user type. Can be one of: PRM_SP, PRM_SS, or PRM_OP.


Table A-8 contact Object Parameters

Parameter Data Type Description

address

String

The street address for the contact.

city

String

The contact city.

contactTimeFrom

String

A time of day start time after which the contact can be contacted in HH:MM:SS format.

contactTimeTo

String

And time of day end time end time for the contact in HH:MM:SS format.

contactType

STring

A contact type value.

country

String

The contact's country.

emailAddress

String

The contact's email address

firstName

String

The contact's first name.

lastName

String

The contact's last name.

phone

phone list

The contact phone list.

preferredLanguage

String

The language the user wishes to use.

stateOrProvince

String

The contact state or province

title

String

A title for the contact.

zipOrPostalCode

String

A postal code for the contact


Response Body

This operation does not return any parameters.

Examples

Example A-39 createUser Request Example

POST https://10.182.98.78:9001/users
services/accountmanage/AccountManagement/createUser
{"createUser":{"userInfo":{"userName":"sxh_nss","userType":
"PRM_SS","password":"weblogic123","emailAddr":"sxh_nss@oracle.com","phone":"1234567890",
"secureityAnswerChoice":0,"secureityAnswer":
"2","firstName":"rotter","lastName":"zeng","company":"oracle","companyURL":"https:
//123.com","stateOrProvince":"bj","zipOrPostalCode":"","streetAddress":"a","city":
"a","country":"Afghanistan","contacts":[{"city":"","country":"Afghanistan",
"emailAddress":"testuser@oracle.com","firstName":"","lastName":""},{"city":
"","country":"Afghanistan","emailAddress":"","firstName":"","lastName":""}]}}} 

Example A-40 createUser Response Example

HTTP/1.1 200 OKContent-Length: 0Server: Jetty(8.0.1.0)

listApplications

Retrieve a list of all application objects.

Authorization

Partner Manager Administrator

HTTP Method

GET

URI

/prm_pm_rest/services/partner_manager/application/PartnerManagerApplication/listApplications

Request Body

This operation does not use any request parameters.

Response Body

This operation returns these parameters:

Table A-9 application Object Parameters

Parameter Data Type Description

appKey

String

(Optional) A unique ID used to authorize the application. Once set, this cannot be changed. This is set by a Partner unless the automatic approval setting is on, in which case it can be set by a Partner Manager.

applicationAPIs

applicationAPI object

The applicationAPI object that defines the API. Table A-10, "applicationAPI Object Parameters" lists the applicationAPI object parameters. This object can be null, which creates an application without any subscribed APIs.

applicationID

String

A unique ID used to identify the object.

applicationName

String

The application's name

applicationStatus

String

One of:

  • CREATE PENDING APPROVAL

  • DELETE PENDING APPROVAL

  • UPDATE PENDING APPROVAL

  • PASSWORD RESET

  • ACTIVE

  • DENY

  • UNKNOWN

  • SUSPENDED

clientId

String

(Optional) A unique ID used to identify the client. This field can be changed. This is set by a Partner unless the automatic approval setting is on, in which case it can be set by a Partner Manager

description

String

An informal description of the object.

effectiveFrom

Date

The date the application starts being effective, in YYYY-MM-DD+HH:mm format.

effectiveTo

Date

That date that the application expires, in YYYY-MM-DD+HH:mm format.

lockStatus

String

One of: LOCKED, UNLOCKED.

partnerName

String

The name of the partner that the application belongs to.

quota

quota object

Table A-5, "quota Object Parameters" lists the quota parameters.

rate

rate object

Table A-6, "rate Object Parameters" lists the rate parameters

icon

String

The path to an icon to use. Used to specify custom graphics.

submitDate

Date

The date the application was submitted in YYYY-MM-DD+HH:mm format

trafficUser

String

The traffic user, used for authentication.

trafficPassword

String

A password to authenticate traffic. Minimum length is 8 characters. For the "updateApplication" operation, this password can be 32-byte encrypted with the AES key you set in ”Encrypt Application Passwords.”


Table A-10 applicationAPI Object Parameters

Parameter Data Type Description

apiName

String

The API name.

accessURL

URL

The URl used to access the API.

apiVersion

String

The API version number

apiDescription

String

An informal description for the API

applicationMethodSLAs

applicationmethodSLA object

The applicationMethodSLA object that defines rate and quota information for the API. Table A-11, "applicationMethodSLA Object Parameters" lists the applicationMethodSLA parameters.


Table A-11 applicationMethodSLA Object Parameters

Parameter Data Type Description

methodName

String

The name of the method given SLA restrictions.

inerfaceName

String

The name of the interface the method uses.

quota

quota object

Table A-5, "quota Object Parameters" lists the quota object parameters.

rate

rate object

Table A-6, "rate Object Parameters" lists the rate object parameters.


Examples

Example A-41 listApplications Request Example

GET https://10.182.98.78:9001/apps
/prm_pm_rest/services/partner_manager/application/PartnerManagerApplication/listApplications

Example A-42 listApplications Response Example

HTTP/1.1 200 OKContent-Length: 0Server: Jetty(8.0.1.0)
{"listApplicationsResponse":{"return":[{"applicationID":
"07c02413-0eeb-4a73-8920-ba7b8cbb97de","applicationName":"app-04","partnerName":
"rotterzeng","partnerCompany":"oracle","description":"aaaaaaaaaaaaaaaaaaaaaaaaaa",
"applicationAPIs":[{"apiName":"api-0918-1","accessURL":"https://localhost:8001/
daf/api-0918-1/1","apiVersion":"1","apiDescription":
"hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh","applicationMethodSLAs":[{"methodName":"
","interfaceName":"eda339e1-f8a5-4307-bf3e-654f2e0cd09c","quota":{"days":0,
"limitExceedOK":false,"qtaLimit":0},"rate":{"reqLimit":0,"timePeriod":0},
"methodGuarantee":{"reqLimitGuarantee":0,"timePeriodGuarantee":0}}],
"needReadContract":false}],"submitDate":"2014-09-18+08:00","effectiveFrom":
"2014-09-01+08:00","effectiveTo":"2014-09-30+08:00","status":"CREATE PENDING
 APPROVAL","lockStatus":"UNLOCKED","quota":{"days":1,"limitExceedOK":true,
"qtaLimit":1},"rate":{"reqLimit":1,"timePeriod":1}}]}} 

getApplication

Retrieve application object parameters.

Authorization

Partner Manager Administrator

HTTP Method

GET

URI

/prm_pm_rest/services/partner_manager/application/PartnerManagerApplication/getApplication/applicationID}

Request Body

This operation uses these request parameters:

  • applicationID (String) Required. The identifier of the application object to return.

Response Body

This operation returns these parameters:

Examples

Example A-43 getApplication Request Example

GET https://10.182.98.78:9001/apps
prm_pm_rest/services/partner_manager/application/PartnerManagerApplication/
getApplication/07c02413-0eeb-4a73-8920-ba7b8cbb97de

Example A-44 getApplication Response Example

HTTP/1.1 200 OKContent-Length: 0Server: Jetty(8.0.1.0)
{"getApplicationResponse":{"return":{"applicationID":"07c02413-0eeb-4a73-8920-
ba7b8cbb97de","applicationName":"app-04","partnerName":"guest1",
"partnerCompany":"oracle","description":"aaaaaaaaaaaaaaaaaaaaaaaaaa",
"applicationAPIs":[{"apiName":"api-0918-1","accessURL":"https://localhost:8001/daf/
api-0918-1/1","apiVersion":"1","apiDescription":
"hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh","applicationMethodSLAs":[{"methodName":"",
"interfaceName":"eda339e1-f8a5-4307-bf3e-654f2e0cd09c","quota":{"days":0,
"limitExceedOK":false,"qtaLimit":0},"rate":{"reqLimit":0,"timePeriod":0},
"methodGuarantee":{"reqLimitGuarantee":0,"timePeriodGuarantee":0}}],
"needReadContract":false}],"submitDate":"2014-09-18+08:00","effectiveFrom":
"2014-09-01+08:00","effectiveTo":"2014-09-30+08:00","status":"CREATE PENDING
 APPROVAL","lockStatus":"UNLOCKED","quota":{"days":1,"limitExceedOK":true,
"qtaLimit":1},"rate":{"reqLimit":1,"timePeriod":1}}}} 

updateCurrentSlaForApprove

Approve an application registration request.

Authorization

Partner Manager Administrator

HTTP Method

POST

URI

/prm_pm_rest/services/partner_manager/application/PartnerManagerApplication/updateCurrentSlaForApprove

Request Body

This operation uses these request parameters:

Response Body

This operation does not use any response parameters.

Examples

Example A-45 updateCurrentSLAForApprove Request Example

POST https://10.182.98.78:9001/apps
/prm_pm_rest/services/partner_manager/application/PartnerManagerApplication/updateCurrentSlaForApprove
{"updateCurrentSlaForApprove":{"application":{"notificationId":
"18ddcd29-d883-4fab-a1f8-83f5322feb67","applicationID":
"5548f811-18a5-45d6-b5d9-6cc0b75d6bfa","applicationName":
"app_0925_1","partnerName":"rotterzeng","partnerCompany":"oracle",
"description":"app_0925_1app_0925_1app_0925_1","trafficUser":
"rotterzeng_app_0925_1","trafficPassword":"rotterzeng_app_0925_1",
"submitDate":"2014-09-28+08:00","effectiveFrom":"2014-09-01+08:00",
"effectiveTo":"2014-09-30+08:00","status":"CREATE PENDING APPROVAL",
"lockStatus":"UNLOCKED","quota":{"qtaLimit":1,"limitExceedOK":false,"days"
:1},"rate":{"reqLimit":1,"timePeriod":1}}}} 

Example A-46 updateCurrentSLAForApprove Response Example

HTTP/1.1 200 OKContent-Length: 0Server: Jetty(8.0.1.0)

denyApplication

Deny an application registration request.

Authorization

Partner Manager Administrator

HTTP Method

POST

URI

/prm_pm_rest/services/partner_manager/application/PartnerManagerApplication/denyApplication

Request Body

This operation uses these request parameters:

Response Body

This operation does not use any response these parameters.

Examples

Example A-47 denyApplication Request Example

POST https://10.182.98.78:9001/apps
/prm_pm_rest/services/partner_manager/application/PartnerManagerApplication/denyApplication{"denyApplication":
{"application":{"notificationId":"de6a031c-30a2-48c5-9908-3adac59510f0",
"applicationID":"7781766f-38ec-4adc-a1e6-b7acd0c501bf","applicationName":
"app0925_2","partnerName":"rotterzeng","partnerCompany":
"oracle","description":"app0925_2app0925_2app0925_2app0925_2",
"trafficUser":"rotterzeng_app0925_2","trafficPassword":
"rotterzeng_app0925_2","submitDate":"2014-09-28+08:00","effectiveFrom":
"2014-09-01+08:00","effectiveTo":"2014-09-30+08:00","status":
"CREATE PENDING APPROVAL","lockStatus":"UNLOCKED","quota":
{"days":1,"limitExceedOK":true,"qtaLimit":1},"rate":{"reqLimit":1,
"timePeriod":1}}}}

Example A-48 denyApplication Response Example

HTTP/1.1 200 OKContent-Length: 0Server: Jetty(8.0.1.0)

getAllSysConfig

Retrieve all system configuration settings as a list of key/value pairs.

Authorization

Partner Manager Administrator

HTTP Method

GET

URI

/prm_pm_rest/services/prm_pm/services/partner_manager/sysconfig/getAllSysConfig

Request Body

This operation use any request parameters.

Response Body

This operation returns these parameters:

Table A-12 sysConfig Object Parameters

Parameter Data Type Description

key

String

The name of a configuration setting.

value

String

The value for a configuration setting.


Examples

Example A-49 getAllSysConfig Request Example

GET https://10.182.98.78:9001/config
/prm_pm_rest/services/prm_pm/services/partner_manager/sysconfig/getAllSysConfig{"GetAllSysConfig":{"return":
[{"key":"KEY_AUTO_APPROVE_FOR_REGISTER","value":"false"}]}} 

Example A-50 getAllSysConfig Response Example

HTTP/1.1 200 OKContent-Length: 0Server: Jetty(8.0.1.0)
{"GetAllSysConfigResponse":{"return":[{"key":"KEY_AUTO_APPROVE_FOR_REGISTER","value":"false"}]}} 

getSysConfig

Retrieve a single system configuration object.

Authorization

Partner Manager Administrator

HTTP Method

GET

URI

/prm_pm_rest/services/prm_pm/services/partner_manager/sysconfig/getSysConfig/key

Request Body

This operation uses these request parameters:

  • key (String) Required. The name of the configuration setting to retrieve.

Response Body

This operation returns these parameters:

Examples

Example A-51 getSysConfig Request Example

GET https://10.182.98.78:9001/config
/prm_pm_rest/services/prm_pm/services/partner_manager/sysconfig/getSysConfig/"key": 
"KEY_AUTO_APPROVE_FOR_REGISTER"

Example A-52 getSysConfig Response Example

HTTP/1.1 200 OKContent-Length: 0Server: Jetty(8.0.1.0)
{"GetSysConfigResponse": {"return": {"key": 
"KEY_AUTO_APPROVE_FOR_REGISTER","value": "false"}}}

updateAllSysConfig

Update all system configuration settings, and optionally configure a list of IP addresses allowed to communicate with Serivices Gatekeeper.

Authorization

Partner Manager Administrator

HTTP Method

PUT

URI

/prm_pm_rest/services/prm_pm/services/partner_manager/sysconfig/updateAllSysConfig

Request Body

This operation uses these request parameters:

Response Body

This operation does not use response parameters.

Examples

Example A-53 updateAllSysConfig Request Example

PUT https://10.182.98.78:9001/config
/prm_pm_rest/services/prm_pm/services/partner_manager/sysconfig/updateAllSysConfig
{"updateAllSysConfig":{"sysConfig":[{"key":"APP","value":"true"},
{"key":"APP1","value":"false"}]}

Example A-54 updateAllSysConfig Response Example

HTTP/1.1 200 OKContent-Length: 0Server: Jetty(8.0.1.0)

updateSysConfig

Retrieve a single configuration setting key/value pair.

Authorization

Partner Manager Administrator

HTTP Method

PUT

URI

/prm_pm_rest/services/prm_pm/services/partner_manager/sysconfig/updateSysConfig/key

Request Body

This operation uses these request parameters:

  • key (String) Required. The name of the configuration setting to retrieve.

Response Body

This operation does not use response parameters.

Examples

Example A-55 updateSysConfig Request Example

PUT https://10.182.98.78:9001/config
/prm_pm_rest/services/prm_pm/services/partner_manager/sysconfig/updateSysConfig/
{"updateSysConfig":{"key":"APP","value":"true"}}

Example A-56 updateSysConfig Response Example

HTTP/1.1 200 OKContent-Length: 0Server: Jetty(8.0.1.0)
 

getBlobSysConfig

Retrieve complex configuration information, such as long text descriptions, or graphics.

Authorization

Partner Manager Administrator

HTTP Method

GET

URI

/prm_pm_rest/services/prm_pm/services/partner_manager/sysconfig/getBlobSysConfig/key

Request Body

This operation uses these request parameters:

  • key (String) Required. The name of the configuration setting to retrieve.

Response Body

This operation returns these parameters:

  • return (Blob list). The configuration information.

Examples

Example A-57 getBlobSysConfig Request Example

GET https://10.182.98.78:9001/config
/prm_pm_rest/services/prm_pm/services/partner_manager/sysconfig/getBlobSysConfig/
{"getBlobSysConfig":{"key":"TITLE","value":"icon1.jpeg"}}

Example A-58 getBlobSysConfig Response Example

HTTP/1.1 200 OKContent-Length: 0Server: Jetty(8.0.1.0)

updateBlobSysConfig

Update a complex configuration setting.

Authorization

Partner Manager Administrator

HTTP Method

PUT

URI

/prm_pm_rest/services/prm_pm/services/partner_manager/sysconfig/updateBlobSysConfig/key

Request Body

This operation uses these request parameters:

  • key (String) Required. The name of the configuration setting to retrieve.

Response Body

This operation does not use response parameters.

Examples

Example A-59 updateBlobSysConfig Request Example

GET https://10.182.98.78:9001/subscribers
/prm_pm_rest/services/prm_pm/services/partner_manager/sysconfig/updateBlobSysConfig
{"updateBlobSysConfig":{"key":"TITLE","value":"icon1.jpeg"}}

Example A-60 updateBlobSysConfig Response Example

HTTP/1.1 200 OKContent-Length: 0Server: Jetty(8.0.1.0)

registerSP

Register an account (subscriber profile).

Authorization

Partners are authorized to use this operation.

HTTP Method

POST

URI

/prm_pm_rest/services/prm_pr/services/register/Register/registerSP

Request Body

This operation uses these request parameters:

  • registerSP (userInfo object) Required. The userInfo object contains details for the subscriber to register. Table A-7, "userInfo Object Parameters" lists the userInfo object parameters. The password parameter supports 24 and 32-byte encryption.

Response Body

This operation does not use response parameters.

Examples

Example A-61 registerSP Request Example

GET https://10.182.98.78:9001/subscribers
{"registerSP":{"spInfo":{"userName":"testuser1","userType":
"PRM_SP","emailAddr":"testuser1@testcompany.com","password":"weblogic123","phone":
"1-1-12345678","secureityAnswerChoice":0,"secureityAnswer":"testuser","firstName":
"test","lastName":"test","company":"oracle","companyURL":"https://www.oracle.com","
city":"bj","country":"China","contacts":[]}}}

Example A-62 registerSP Response Example

HTTP/1.1 200 OKContent-Length: 0Server: Jetty(8.0.1.0)

editUser

This operation changes userInfo object subscriber profile parameters for one subscriber.

Authorization

Partners are authorized to use this operation.

HTTP Method

PUT

URI

/prm_pm_rest/services/prm_pr/services/account/PortalAccount/editUser

Request Body

This operation uses these request parameters:

Response Body

This operation does not use any response parameters.

Examples

Example A-63 editUser Request Example

GET https://10.182.98.78:9001/subscribers
/prm_pm_rest/services/prm_pr/services/account/PortalAccount/editUser
{"editUser":{"userInfo":{"userName":"rotterzeng","userType":
"PRM_SP","password":"{AES}GrVKe6y4ccO3wKB5DuJ3ng==","emailAddr":
"testuser@testcompany.com","phone":
"1234567890","secureityAnswerChoice":0,"secureityAnswer":"2","firstName":"rotter",
"lastName":"zeng","company":"oracle","companyURL":"https://123.com",
"stateOrProvince":"bj","zipOrPostalCode":"","streetAddress":"a","city":"a",
"country":"Afghanistan","contacts":[{"city":"","country":"Afghanistan",
"emailAddress":"testuser@testcompany.com","firstName":"","lastName":""},
{"city":"","country":"Afghanistan","emailAddress":"","firstName":"",
"lastName":""}]}}} 

Example A-64 editUser Response Example

HTTP/1.1 200 OKContent-Length: 0Server: Jetty(8.0.1.0)

getUserByName

Retrieves subscriber profile information for a subscriber based on their user name.

Authorization

Partners are authorized to use this operation

HTTP Method

GET

URI

/prm_pm_rest/services/prm_pr/services/account/PortalAccount/getUserByName/userName

Request Body

This operation uses these request parameters:

Response Body

This operation returns these parameters:

Examples

Example A-65 getUserByName Request Example

GET https://10.182.98.78:9001/subscribers
/prm_pm_rest/services/prm_pr/services/account/PortalAccount/getUserByName/{testuser2}

Example A-66 getUserByName Response Example

HTTP/1.1 200 OKContent-Length: 0Server: Jetty(8.0.1.0)
{"getUserByNameResponse":{"return":{"city":"a","company":"oracle","companyURL":
"https://123.com","contacts":[{"city":"","country":"Afghanistan","emailAddress":"
","firstName":"","lastName":""},{"city":"","country":"Afghanistan","emailAddress":
"testuser@testcompany.com","firstName":"","lastName":""}],"country":"Afghanistan",
"emailAddr":"testuser@testcompany.com","financial":{"bankAccountNumber":"",
"bankAddress":"","bankName":"","bankRoutingNumber":"","city":"","country":"",
"invoiceTo":"","referenceAccount":"","stateOrProvince":"","taxID":"",
"zipOrPostalCode":""},"firstName":"testuser2","lastName":"zeng","password":
"{AES}GrVKe6y4ccO3wKB5DuJ3ng==","phone":"1234567890","secureityAnswer"
:"2","secureityAnswerChoice":
"0","stateOrProvince":"bj","status":0,"streetAddress":"a","userName":"rotterzeng",
"zipOrPostalCode":"","slaGroup":"VIP","userType":"PRM_SP"}}}

listApplications

This operation lists operations that belong to a partner.

Authorization

Partners are authorized to use this operation.

HTTP Method

GET

URI

/prm_pm_rest/services/prm_pm/services/partner/application/PartnerApplication/listApplications

Request Body

This operation does not use any request parameters.

Response Body

This operation returns these parameters:

Examples

Example A-67 listApplications Request Example

GET https://10.182.98.78:9001/apps
/prm_pm_rest/services/prm_pm/services/partner/application/PartnerApplication/listApplications

Example A-68 listApplications Response Example

HTTP/1.1 200 OKContent-Length: 0Server: Jetty(8.0.1.0)
{"listApplicationsResponse":{"return":[{"applicationID":"07c02413-
0eeb-4a73-8920-b
a7b8cbb97de","applicationName":"app-04","partnerName":"rotterzeng","partnerCompany
":"oracle","description":"aaaaaaaaaaaaaaaaaaaaaaaaaa","applicationAPIs":[{"apiName
":"api-0918-1","accessURL":"https://localhost:8001/daf/api-0918-1/1",
"apiVersion":"1","apiDescription":"hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh",
"applicationMethodSLAs":[
{"methodName":"","interfaceName":"eda339e1-f8a5-4307-bf3e-654f2e0cd09c","quota":{"
days":0,"limitExceedOK":false,"qtaLimit":0},"rate":{"reqLimit":0,"timePeriod":0},"
methodGuarantee":{"reqLimitGuarantee":0,"timePeriodGuarantee":0}}],"needReadContra
ct":false}],"submitDate":"2014-09-18+08:00","effectiveFrom":"2014-09-01+08:00","ef
fectiveTo":"2014-09-30+08:00","status":"ACTIVE","lockStatus":"UNLOCKED","quota":{"
days":1,"limitExceedOK":true,"qtaLimit":1},"rate":{"reqLimit":1,"timePeriod":1}}}]
}} 

createApplication

This operation creates an application object.

Authorization

Partners are authorized to use this operation.

HTTP Method

POST

URI

/prm_pm_rest/services/prm_pm/services/partner/application/PartnerApplication/createApplication

Request Body

This operation uses these request parameters:

Response Body

This operation does not use any response parameters.

Examples

Example A-69 createApplication Request Example

POST https://10.182.98.78:9001/apps
/prm_pm_rest/services/prm_pm/services/partner/application/PartnerApplication/createApplication
{"createApplication":{"application":{"applicationName":"app-0929","description":
"app-0929app-0929app-0929app-0929","effectiveFrom":"2014-09-01","effectiveTo":
"2014-09-30","partnerName":"rotterzeng","quota":{"days":"1","limitExceedOK":true,"
qtaLimit":"1"},"rate":{"reqLimit":"1","timePeriod":"1"},"applicationAPIs":
[{"apiName":"8cdc8cdc-61e0-4ec2-9fc1-c9e71c1821e8"}]}}}

Example A-70 createApplication Response Example

HTTP/1.1 200 OKContent-Length: 0Server: Jetty(8.0.1.0)

updateApplication

This operation changes one or more parameters of an application.

Authorization

Partners are authorized to use this operation.

HTTP Method

PUT

URI

/prm_pm_rest/services/prm_pm/services/partner/application/PartnerApplication/updateApplication

Request Body

This operation uses these request parameters:

  • updateApplication (application object) Required. The application object contains the new application object parameters. Table A-9, "application Object Parameters" lists the application parameters. The trafficPassword parameter supports 24 and 32-byte encryption.

Response Body

This operation does not use any response parameters.

Examples

Example A-71 updateApplication Request Example

PUT https://10.182.98.78:9001/apps
/prm_pm_rest/services/prm_pm/services/partner/application/PartnerApplication/updateApplication
{"updateApplication":{"application":{"applicationID":"53f91602-01af-4483-a7ee-
3fc4af6b1280","applicationName":"app-0929","description":"app-0929app-0929app-
0929app-0929","effectiveFrom":"2014-09-01+08:00","effectiveTo":"2014-09-30+08:00",
"trafficUser":"rotterzeng_app-0929","partnerName":"rotterzeng","quota":{"days":"1","qtaLimit":"1"},"rate":
{"reqLimit":"100","timePeriod":"1"},"applicationAPIs":[{"apiName":"8cdc8cdc-61e0-4
ec2-9fc1-c9e71c1821e8"}]}}} 

Example A-72 updateApplication Response Example

HTTP/1.1 200 OKContent-Length: 0Server: Jetty(8.0.1.0)

removeApplication

This operation deletes an application object.

Authorization

Partners are authorized to use this operation.

HTTP Method

DELETE

URI

/prm_pm_rest/services/prm_pm/services/partner/application/PartnerApplication/removeApplication/applicationID

Request Body

This operation uses these request parameters:

Response Body

This operation does not use any response parameters.

Examples

Example A-73 removeApplication Request Example

DELTET https://10.182.98.78:9001/apps
/prm_pm_rest/services/prm_pm/services/partner/application/
PartnerApplication/removeApplication/{applicationID}
{"applicationID":"53f91602-01af-4483-a7ee3fc4af6b1280"}

Example A-74 removeApplication Response Example

HTTP/1.1 200 OKContent-Length: 0Server: Jetty(8.0.1.0)

removePendingApp

This operation removes an application in a PENDING state. Used when a partner wants to cancel an pending operation before the partner administrator has acted on it.

Authorization

Partners are authorized to use this operation.

HTTP Method

DELETE

URI

/prm_pm_rest/services/prm_pm/services/partner/application/PartnerApplication/removePendingApp/applicationID

Request Body

This operation uses these request parameters:

Response Body

This operation does not use any response parameters.

Examples

Example A-75 removePendingApp Request Example

DELETE https://10.182.98.78:9001/apps
/prm_pm_rest/services/prm_pm/services/partner/application/PartnerApplication/removePendingApp/
{"applicationID":"53f91602-01af-4483-a7ee3fc4af6b1280"}

Example A-76 removePendingApp Response Example

HTTP/1.1 200 OKContent-Length: 0Server: Jetty(8.0.1.0)

getInterfaceList

Lists all interfaces that belong to a network service supplier.

Authorization

Network service suppliers and partner managers are authorized to execute this operation.

HTTP Method

GET

URI

/prm_pm_rest/services/prm_pr/services/svrinterface/Interface/getInterfaceList/supplierName

Request Body

This operation uses these request parameters:

  • supplierName (String) Required. The name of the supplier to return svrinterfaceInfo objects for.

Response Body

This operation returns these parameters:

  • getInterfaceListResponse (svrinterfaceInfo object list). This operation returns a list of svrinfterfaceInfo objects, one for each interface that the network service supplier owns.Table A-13, "svrinterfaceListResponse Object Parameters" lists the svrinterfaceListResponse parameters.

Table A-13 svrinterfaceListResponse Object Parameters

Parameter Data Type Description

id

String

The interface identifier.

name

String

The interface name

version

String

The version number of the interface

status

String

One of: UNKNOWN, CREATED, APPROVED, ACTIVE, DEPRECATED, REMOVED, DENY, SUSPENDED.

supplierName

String

The name of the network service supplier that created the interface.

accessURL

String

The interface's access URL.

wsdlurl

String

The URL of the WSDL/WADL file that the interface uses.

validtime

Date

The date and time the interface was validated.

deprecatetime

Date

The date and time the interface was deprecated.

suspendtime

Date

The date and time the interface was suspended.

docURL

String

The URL for documentation for the interface.

securityType

String

One of: NONE, TEXT, or OAUTH.

authToken

String

The authorization token. Can be one of:

  • For security type NONE, no value

  • For security type TEXT, uses the userName:password format

  • For security type OAUTH, uses the access token.

icon

String

The location of the directory of the icon to use

description

String

An informal description of the interface.

throughput

Interger

The maximum throughput allowed.


Examples

Example A-77 getInterfaceList Request Example

GET https://10.182.98.78:9001/interfaces
/prm_pm_rest/services/prm_pr/services/svrinterface/Interface/getInterfaceList/{supplierName} 
{"supplierName":"sxh"}

Example A-78 getInterfaceList Response Example

HTTP/1.1 200 OKContent-Length: 0Server: Jetty(8.0.1.0)
{"getInterfaceListResponse":{"return":[{"id":"b454f603-925b-4b04-9f0e-d207f4db
80a0","name":"first interface","version":"1.0","status":"ACTIVE","supplierName":"sxh","accessURL":
"https://access.url/v1","WSDLURL":"https://access.url/v1?WADL","validtime":
1399618800,"deprecatetime":1420041599,"suspendtime":32503651199,"docURL":"https:
//doc.access.url/v1","securityType":"NONE","icon":"0","description":"desc",
"throughput":100}]}} 

getInterfaceInfoByName

Retrieve a svrinterface object parameters that match the interface name and a version number that you request.

Authorization

Network service suppliers and partner managers are authorized to execute this operation.

HTTP Method

GET

URI

/prm_pm_rest/services/prm_pr/services/svrinterface/Interface/getInterfaceInfoByName/svrinterfaceName/svrinterfaceVersion

Request Body

This operation uses these request parameters:

  • svrinterfaceName (String) Required. The name of the svrinterface object to return.

  • svrinterfaceVersion (String) Required. The version number of the interface object to return.

Response Body

This operation does not use any response parameters.

Examples

Example A-79 getInterfaceInfoByName Request Example

GET https://10.182.98.78:9001/interfaces
/prm_pm_rest/services/prm_pr/services/svrinterface/Interface/getInterfaceInfoByName
{"svrinterfaceName":"firstinterface","svrinterfaceVersion":"v1"}

Example A-80 getInterfaceInfoByName Response Example

HTTP/1.1 200 OKContent-Length: 0Server: Jetty(8.0.1.0)

updateInterface

This operation makes changes to the object containing an interface.

Authorization

Network service suppliers

HTTP Method

POST

URI

/prm_pm_rest/services/prm_pr/services/svrinterface/Interface/updateInterface

Request Body

This operation uses these request parameters:

Response Body

This operation does not use any response parameters.

Examples

Example A-81 updateInterface Request Example

POST https://10.182.98.78:9001/interfaces
        /prm_pm_rest/services/prm_pr/services/svrinterface/Interface/updateInterface
{"updateInterface":{"svrinterfaceInfo":{"id":"b454f603-925b-4b04-9f0e-
d207f4db80a0","name":"first interface","version":"2.0","status":"ACTIVE","supplierName":"sxh","accessURL":
"https://access.url/v1","WSDLURL":"https://access.url/v1?WADL","validtime":141197930
2,"deprecatetime":1414571290,"suspendtime":1411979302,"docURL":"https://doc.access.
url/v1","securityType":"NONE","icon":"0","description":"desc","throughput":100,
"activeDate":"2014-05-09","activeTime":"15:00:00","deprecateTime":"16:28:10",
"deprecateDate":"2014-10-29"}}} 

Example A-82 updateInterface Response Example

HTTP/1.1 200 OKContent-Length: 0Server: Jetty(8.0.1.0)

removeInterfaceByID

This operation deletes a network service supplier interface based on the interface ID.

Authorization

Network service suppliers

HTTP Method

DELETE

URI

/prm_pm_rest/services/prm_pr/services/svrinterface/Interface/removeInterfaceByID/svrinterfaceID

Request Body

This operation uses these request parameters:

Response Body

This operation does not use any response parameters.

Examples

Example A-83 removeInterfaceByID Request Example

GET https://10.182.98.78:9001/interfaces
/prm_pm_rest/services/prm_pr/services/svrinterface/Interface/removeInterfaceByID/{svrinterfaceID}
{"svrinterface":{"id":"b454f603-925b-4b04-9f0e-d207f4db80a0"}}

Example A-84 removeInterfaceByID Response Example

HTTP/1.1 200 OKContent-Length: 0Server: Jetty(8.0.1.0)