The HoldingsIQ service retrieves vendor, package and title related information in JSON format. The service automates the managing of holdings data from different sources.

 

 

 

 

Update a Package Code Samples

Use the code samples below as examples to create an application in your desired language.  The following code samples use the /{custid}/vendors/{vendorid}/packages/{packageid} endpoint which allows you to update selection and customizations to a package in a customer EPKB account.  Get started and begin to understand the endpoint by following the examples below in the language of your choice. 

 

Code Samples

cURL

curl -X PUT --header "Content-Type: application/json" --header \
"Accept: application/json" --header "x-api-key: APIKEY" -d \
" {
  \"isSelected\": true
} \
" \
"https://sandbox.ebsco.io/rm/rmaccounts/CUSTID/vendors/19/packages/1615"


Java

// Construct the client
OkHttpClient client = new OkHttpClient();

// Create the URL
HttpUrl url = new HttpUrl.Builder()
      .scheme("https")
      .host("sandbox.ebsco.io")
      .addPathSegment("rm")
      .addPathSegment("rmaccounts")
      .addPathSegment(CUSTID)
      .addPathSegment("vendors")
      .addPathSegment(VENDORID)
      .addPathSegment("packages")
      .addPathSegment(PACKAGEID)
      .build();

// Build the body   
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{   \n\t\"isSelected\": true \n}");   

// Build the request
Request request = new Request.Builder()
     .url(url)
     .put(body)
     .addHeader("accept", "application/json")
     .addHeader("content-type", "application/json")
     .addHeader("x-api-key", APIKEY)
     .build();

// Send the request
Response response = client.newCall(request).execute();


JavaScript

var host = "https://sandbox.ebsco.io/rm/rmaccounts/";
var pathsega = "/vendors/";
var pathsegb = "/packages/";

// Create the Request
var urlstr = host + CUSTID + pathsega + VENDORID + pathsegb + PACKAGEID;
var settings = {
  "async": true,
  "crossDomain": true,
  "url": urlstr,
  "method": "PUT",
  "processData": false,
  "data": "{   \n\t\"isSelected\": true \n}",
  "headers": {
    "accept": "application/json",
    "x-api-key": APIKEY,
    "content-type": "application/json"
  }
}


// Send the Request
$.ajax(settings).done(function (response) {
console.log(response);
});


Ruby

# Form the URL 
urlstr = File.join('https://', 'sandbox.ebsco.io', 'rm/rmaccounts', CUSTID, 'vendors', '19', 'packages', '1615')
url = URI(urlstr)

# Create the HTTP object
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

# Create the request
request = Net::HTTP::Put.new(url)
request["accept"] = 'application/json'
request["x-api-key"] = APIKEY
request["content-type"] = 'application/json'
request.body = "{   \n\t\"isSelected\": true \n}"
# Send the request
response = http.request(request)


Python

# Form the URL
url = ''.join(['/rm','/rmaccounts/', CUSTID, '/vendors/', VENDORID, '/packages/', PACKAGEID])

# Create Connection Instance
conn = http.client.HTTPSConnection("sandbox.ebsco.io")

# Payload
payload = "{   \n\t\"isSelected\": true \n}"

# Create the Request Headers
headers = {
    'accept': "application/json",
    'x-api-key': APIKEY,
    'content-type': "application/json"  
    }

# Send Request  
conn.request("PUT", url, payload, headers)

# Get Response
res = conn.getresponse()