Spike: MODKBEKBJ-464 - Investigate Cost Per Use Controller API

MODKBEKBJ-464 - Getting issue details... STATUS

Terminology mapping

kb-ebscoAuth ServiceAPIGEECost-per-use

credentials that are created 
especially for the FOLIO for

authentication via Auth Service



encrypted customer_id value


title id

package id


Q/A Section:

Auth Service Questions:

1. What other responses Auth Service can return except 200[OK]?


2. Is it an option to check that token is expired?


3. Does Auth Service have any request limits?


APIGEE Questions

1. What is the mapping between APIGEE endpoints and Cost-per-use?

KB ebscoAPIGEECost-per-use
to be defined  GET https://apis.ebsco.com/uc/costperuse/package/{listId} + same parameters as for cost-per-use

GET /api/costperuse/package/{listId}

to be defined GET https://apis.ebsco.com/uc/costperuse/title/{kbid}/{listId} + same parameters as for cost-per-use

GET /api/costperuse/title/{kbid}/{listId}

to be defined POST https://apis.ebsco.com/uc/costperuse/titles

POST /api/costperuse/titles

2. Will APIGEE transform Cost-per-use data? It means will the body structure remain the same or it will be a different model?

A. Double-checked with the APIGEE team that the response is just a pass-through and it will be the same model. - SD

5. Could you explain this sentence in detail?

As new customers are added, APIGEE's KVM store will need to be updated to generate a new encrypted customer id (which will be shared with FOLIO)

q1. How new customers will be added?

A. When new customer(say university) is come, he needs to get an encrypted customer id on APIGEE side to be able to fetch the cost-per-use info. Unfortunately, his process is a manual action.

q2. What endpoint will update APIGEE KVM store?

A. No such endpoint for the current moment.                                          #Please update this section if information is changed.

q3. "which will be shared with FOLIO" - how this will happen?

A. To be discussed. Right now it is like a messaage with the id.

4. Could you explain this sentence with details?

FOLIO will need to maintain epCustomerID and its APIGEE associated encrypted customer id.

A. mod-kb-ebsco-java module has to send an encrypted customer_id value as a request header. So inside the module we need to maintain mapping between university and its encrypted key for APIGEE

University nameEncrypted customer_id
Duke University<some_encrypted_key2>

5. Does APIGEE have any request limits?

A. There is a provision to apply limits but at this time, no limits have been enforced. - SD

Cost-per-use Questions

1. Does Cost-Per-Use have any request limits?

A. No - SD

2. Could we have more info about "inline_model" structure?

3. What are possible values for "fiscalMonth", "analysisCurrency"? What "database" means in the context of an integer value for listId?

A. full list of values for "analysisCurrency" is available on this page Q-(6)What are the valid values that we can pass in for analysisCurrency?

A. Month are represented in a "MMM" format, for instance JAN, MAY, SEP

A. "Database" in description can be skipped, seems like a typo.

4. Will Folio use POST for Cost-per-use service?

A. Yes

5. What are the possible values for "filter"?

6. Is it a correct assumption that on 200[Ok] endpoint will return empty body?

Additional Q/A