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

 

 

 

 

Get a List of Packages Code Samples

Use the code samples below as examples to create an application in your desired language.  The following code samples use the /{custid}/packages endpoint which allows you to search for packages and returns a list of packages from EPKB.  Get started and begin to understand the endpoint by following the examples below in the language of your choice. 

 

Code Samples

cURL

curl -X GET --header "Accept: application/json" --header \
"x-api-key: APIKEY" "https://sandbox.ebsco.io/rm/rmaccounts/CUSTID/packages?search=boston&orderby=relevance&count=5&offset=1" 


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("packages")
    .addQueryParameter("search", "boston")
    .addQueryParameter("orderby", "relevance")
    .addQueryParameter("count", "5")
    .addQueryParameter("offset", "1")
    .build();

// Build the request
Request request = new Request.Builder()
    .url(url)
    .get()
    .addHeader("accept", "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 path = "/packages";

// Create the Request
var urlstr = host + CUSTID + path;
var settings = {
  "async": true,
  "crossDomain": true,
  "url": urlstr,
  "method": "GET",
  "data": { "search": "boston", "orderby": "relevance", "count": "5", "offset": "1" },
  "headers": { "accept": "application/json", "x-api-key": APIKEY }
};

// 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, 'packages')
uri = URI(urlstr)

query = URI.encode_www_form({
    # Request parameters
    'search' => 'boston',
    'orderby' => 'relevance',
    'count' => '5',
    'offset' => '1'
})
if query.length > 0
  if uri.query && uri.query.length > 0
    uri.query += '&' + query
  else
    uri.query = query
  end
end

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

# Create the request
request = Net::HTTP::Get.new(uri.request_uri)
request["accept"] = 'application/json'
request["x-api-key"] = APIKEY

# Send the request
response = http.request(request)


Python

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

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

# Set the Query Parameters
params = urllib.parse.urlencode({'search': 'boston', 'orderby': 'relevance', 'count': 5, 'offset': 1})

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

# Send Request  
conn.request("GET", url + '?' + params, headers=headers)

# Get Response
res = conn.getresponse()
data = res.read()