A partner developer intending to test their app’s integration with PM Pro’s Open data access APIs  or demo it to a customer in production, needs to work through a sequence of API workflow steps to get the app  authorized by a PM Pro admin. This is a one time sequence for each app and for each tenant that the app is integrating with:

STEPS:

  1. Register the app details and the developer profile to obtain an AppID. This AppID is critical for calling any of the report APIs in production. The appId with the tenantId for which API queries are made will be the authorization scheme. For registering an app, please take a look at api docs here: https://developer.plantronics.com/oda/apis/put/app.
  2. Sample Curl - 
    curl -X PUT --header "Content-Type: application/json" -d "{
        \"description\": \"This will a sample app providing conversation analysis.\",
        \"name\": \"ConvAnalysisApp\",
        \"partnerProfile\": {
            \"email\": \"manoj.ramakrishnan@plantronics.com\",
            \"firstName\": \"Manoj\",      
            \"lastName\": \"Ramakrishnan\",
            \"partnerName\": \"PltPartner\"
        }
    }" "http://plantronics-prod.apigee.net/app?apikey=1hKMMPFMmaldnC0rcohvXN0UX7UeWPjb"
         Response : HTTP/1.1 201 Created
Access-Control-Allow-Credentials:
true
Access-Control-Allow-Origin:
http://dev-plantronics.pantheonsite.io
Connection:
keep-alive
Content-Type:
application/json;charset=UTF-8
Date:
Fri, 07 Jul 2017 22:09:57 GMT
Server:
Apache-Coyote/1.1
Transfer-Encoding:
chunked
Vary:
Origin
{
  "_links": {
    "self": {
      "href": "https://partner-api.preview.pltzone.org/v1/partner/app/87a8c4ea-ee20-4f94-b61d-1261d06c8bfc"
    }
  },
  "description": "This will a sample app providing conversation analysis.",
  "dateCreated": 1499465397513,
  "dateUpdated": 1499465397513,
  "name": "ConvAnalysisApp",
  "status": "ENABLED",
  "tenantAppAuth": [],
  "partnerProfile": {
    "id": "f76621db-8eae-4c3f-83bc-3872c3445e52",
    "email": "manoj.ramakrishnan@plantronics.com",
    "firstName": "Manoj",
    "lastName": "Ramakrishnan",
    "partnerId": "e75c8290-02b6-4057-a735-760c33dc7049",
    "partnerName": "PltPartner"
  },
  "errorMessage": null,
  "id": "87a8c4ea-ee20-4f94-b61d-1261d06c8bfc",
  "subscriptions": null
}

---
Next Step (if utilizing REST data): Request and Receive App Authorization

Next Step (if utilizing streaming data):  Ingesting and Consuming Streaming Data