cupa-shopfront-xapi
home
Shopfront Experience API
cupa-shopfront-xapi is an experience API which exposes the product related data to English Digital Shopfront fetched from various data bases like Oracle Database, Carta , Pubsys , AWS Redshift via system and Process API.
Architecture Diagram:
Sequence Diagram:
Sequence Diagram Description:
No. | Steps | Description |
---|---|---|
1. | Request | Http Client invokes the mule services along with credentials (client id and client secret) in query params and X-TRANSACTION-ID (A code to track API calls end to end) via Mule Soft Secure API layer |
2. | Validate Credentials | Client id and Client secret credentials are validated by the security API mule gateway layer |
3. | If Validation fails, service returns specific fault response | If Validation fails, service returns specific fault response |
4. | Request | Request forward and behave like a passthrough API |
5. | Response | Response from Shopfront |
6. | Return Response | Returns the success response. |
Endpoints:
1. Health Check
GET: /status
To check the health of the API.
Topic | Details | |
---|---|---|
1. | Operation Description | Check the current status of API |
2. | URI | /api/status |
3. | Method | GET |
4. | Response | { "application": "cupa-shopfront-xapi", "version": "v1", "environment": "prod", "status": "Running", "timestamp": "2024-05-11T07:41:43.227Z+00:00" } |
5. | Synchronous/Asynchronous | Synchronous |
6. | Protocol | HTTPS |
7. | URL | https://apis.cambridgeassessment.org.uk/cupa-shopfront-xapi/api/status |
8. | Mode of Communication | β Batch β Message β Real Time |
9. | Interface Pattern | β Publish / Subscribe β Request / Reply |
2. To GET Product Details
GET: /product
This endpoint to post revision status, payload in below format.
[
{
"eanNumber": "9781009101028",
"materialId": "2700000879",
"issueTitle": "Studentβs Course",
"masterTitle": "Evolve Digital Level 6",
"masterSubtitle": "Evolve Digital Level 6",
"authors": "Goldstein/Jones",
"blurb15": "A six-level English course that gets students speaking with confidence.",
"blurb50": "Students work through this Level 6 (CEFR C1) online course independently...",
"blurb150": "A six-level English course that gets students speaking with confidence. Students work through this Level 6 (CEFR C1) online course independently. It is expertly designed for self-paced learning, covering all four skills and providing instruction and guidance as well as practice and production opportunities.........",
"productBlurbs": [
{
"blurbType": "Blurb 15",
"blurbText": "A six-level English course that gets students speaking with confidence."
},
{
"blurbType": "Blurb 50",
"blurbText": "A six-level English course that gets students speaking with confidence..............."
}
],
"thumbUrl": "http://assets.cambridge.org/97810090/03452/thumb/9781009003452t.jpg",
"coverUrl": "http://assets.cambridge.org/97810090/03452/cover/9781009003452.jpg",
"largeCoverUrl": "http://assets.cambridge.org/97810090/03452/large_cover/9781009003452i.jpg",
"assets": [
{
"assetType": "Large Cover",
"assetUrl": "http://assets.cambridge.org/97810090/03452/large_cover/9781009003452i.jpg"
},
{
"assetType": "Thumbnail",
"assetUrl": "http://assets.cambridge.org/97810090/03452/large_cover/9781009003452i.jpg"
}
],
"pricesCurrent": [
{
"salesOrg": "1214",
"distrChannel": "00",
"priceType": "01",
"priceTypeQual": "05",
"priceStatus": "02",
"currency": "USD",
"price": 110.22
},
{
"salesOrg": "1214",
"distrChannel": "00",
"priceType": "01",
"priceTypeQual": "05",
"priceStatus": "02",
"currency": "CAD",
"price": 110.22
}
],
"languageVariety": "American English",
"familyTitle": "Evolve Digital",
"formatCode": "DW",
"formatLegend": "Digital Mixed Media",
"releaseDate": "2022-03-25",
"leasePeriodValue": 18,
"leasePeriodUnit": "M",
"publishers": [
{
"publisherCode": "CUP",
"publisherName": "Cambridge University Press"
}
],
"contentCategoryCode": "C1",
"contentCategoryLegend": "Adult Learners",
"seriesCode": "EVDG",
"seriesName": "Evolve Digital",
"CEFRFrom": "C1",
"CEFRTo": "C1",
"editionNumber": 1,
"bibliographicTitle": "Get Psyched! Digital ITB (for Card)",
"bicEduQualCode1": "4EB",
"bicEduQual1": "Cambridge Level 1 Key English Test (KET)",
"bicEduQualCode2": "4EC",
"bicEduQual2": "Cambridge Level 2 Preliminary English Test (PET)",
"bicEduQualCode3": "4ED",
"bicEduQual3": "Cambridge Level 3 First Certificate in English (FCE)",
"themaQualifiers": [
{
"themaQualifierTypeCode": "1",
"themaQualifierType": "Places" ,
"themaCodeSequence": 1,
"themaQualifierCode": "1A",
"themaQualifier": "World",
"themaQualifierNotes": ""
},
{
"themaQualifierTypeCode": "2",
"themaQualifierType": "Languages",
"themaCodeSequence": 1,
"themaQualifierCode": "2ACB",
"themaQualifier": "English",
"themaQualifierNotes": ""
}
],
"themaSubjects": [
{
"themaCodeSequence": 1,
"themaSubjectCategoryCode": "ULD",
"themaSubjectCategory": "Microsoft (Windows) operating systems",
"themaSubjectCategoryNotes": ""
},
{
"themaCodeSequence": 2,
"themaSubjectCategoryCode": "ULJ",
"themaSubjectCategory": "Open source and other operating systems",
"themaSubjectCategoryNotes": ""
}
],
"productRanges": [
{
"productRangeCode": 1,
"productRange": "Product Family",
"productRangeLearnMore": "N/A - please add URL in Family Profile Web tab"
},
{
"productRangeCode": 2,
"productRange": "Self Study",
"productRangeLearnMore": "N/A - please add URL in Family Profile Web tab"
}
],
"datafixFlag": "Y",
"familyLearnMore": "https://....",
"globalPublicationStatus": {
"code": "04",
"description": "Active",
"message": "The product was published, and is still active in the sense that the publisher will accept orders for it..."
},
"featuresBenefits": [
{
"sequenceId": 1,
"feature": "Provides flexible, in depth guidance on how to analyse poetry, prose and drama, which students can apply to any text.",
"selection": "Web Catalogue"
},
{
"sequenceId": 2,
"feature": "Incudes annotated sample answers and a dedicated section on βEssay writing skills and techniquesβ to encourage independent learning.",
"selection": "Web Catalogue"
}
]
}
]
Topic | Details | |
---|---|---|
1. | Operation Description | To get product details |
2. | URI | /product |
3. | Method | GET |
6. | Synchronous/ Asynchronous | Synchronous |
7. | Protocol | HTTPS |
8. | URL | https://apis.cambridgeassessment.org.uk/cupa-shopfront-xapi/api/product/ |
9. | Mode of Communication | β Batch β Message β Real Time |
10. | Interface Pattern | β Publish / Subscribe β Request / Reply |
3. To GET Product Details with Version 2
GET: /v2/product
This endpoint is used to get product details , payload in below format.
[
{
"eanNumber": "9781009101028",
"materialId": "2700000879",
"masterSubtitle": "Evolve Digital Level 6",
"authors": "Goldstein/Jones",
"contributions": [
{
"sequence": 1,
"onixRoleCode": "A01",
"onixRoleLegend": "By (author)",
"onixRoleDescription": "Author of a textual work",
"cambridgeRoleCode": "AU",
"cambridgeRoleLegend": "By (author)",
"cambridgeRoleDescription": "Author of a textual work",
"forename": "Mary",
"surname": "Jones",
"affiliations": [
{
"type": "book",
"institutionName": "University of Miami School of Law"
}
]
}
],
"digitalPhysical": "D",
"productBlurbs": [
{
"blurbType": "Blurb 15",
"blurbText": "A six-level English course that gets students speaking with confidence."
},
{
"blurbType": "Blurb 50",
"blurbText": "A six-level English course that gets students speaking with confidence."
},
{
"blurbType": "Blurb 150",
"blurbText": "A six-level English course that gets students speaking with confidence."
}
],
"assets": [
{
"assetType": "Large Cover",
"assetUrl": "http://assets.cambridge.org/97810090/03452/large_cover/9781009003452i.jpg"
},
{
"assetType": "Thumbnail",
"assetUrl": "http://assets.cambridge.org/97810090/03452/large_cover/9781009003452i.jpg"
}
],
"pricesCurrent": [
{
"salesOrg": "1214",
"distrChannel": "00",
"priceType": "01",
"priceTypeQual": "05",
"priceStatus": "02",
"currency": "USD",
"price": 110.22
},
{
"salesOrg": "1214",
"distrChannel": "00",
"priceType": "01",
"priceTypeQual": "05",
"priceStatus": "02",
"currency": "CAD",
"price": 110.22
}
],
"languageVariety": "American English",
"familyTitle": "Evolve Digital",
"formatCode": "DW",
"formatLegend": "Digital Mixed Media",
"releaseDate": "2022-03-25",
"leasePeriodValue": 18,
"leasePeriodUnit": "Months",
"publishers": [
{
"publisherName": "Cambridge University Press"
}
],
"contentCategoryCode": "C1",
"contentCategoryLegend": "Adult Learners",
"CEFRFrom": "C1",
"CEFRTo": "C1",
"editionNumber": 1,
"bibliographicTitle": "Get Psyched! Digital ITB (for Card)",
"bicEduQualCode1": "4EB",
"bicEduQual1": "Cambridge Level 1 Key English Test (KET)",
"bicEduQualCode2": "4EC",
"bicEduQual2": "Cambridge Level 2 Preliminary English Test (PET)",
"bicEduQualCode3": "4ED",
"bicEduQual3": "Cambridge Level 3 First Certificate in English (FCE)",
"themaQualifiers": [
{
"themaQualifierTypeCode": "1",
"themaQualifierType": "Places" ,
"themaCodeSequence": 1,
"themaQualifierCode": "1A",
"themaQualifier": "World",
"themaQualifierNotes": ""
},
{
"themaQualifierTypeCode": "2",
"themaQualifierType": "Languages",
"themaCodeSequence": 1,
"themaQualifierCode": "2ACB",
"themaQualifier": "English",
"themaQualifierNotes": ""
}
],
"themaSubjects": [
{
"themaCodeSequence": 1,
"themaSubjectCategoryCode": "ULD",
"themaSubjectCategory": "Microsoft (Windows) operating systems",
"themaSubjectCategoryNotes": ""
},
{
"themaCodeSequence": 2,
"themaSubjectCategoryCode": "ULJ",
"themaSubjectCategory": "Open source and other operating systems",
"themaSubjectCategoryNotes": ""
}
],
"productRanges": [
{
"productRangeCode": 1,
"productRange": "Product Family",
"productRangeLearnMore": "N/A - please add URL in Family Profile Web tab"
},
{
"productRangeCode": 2,
"productRange": "Self Study",
"productRangeLearnMore": "N/A - please add URL in Family Profile Web tab"
}
],
"datafixFlag": "Y",
"familyLearnMore": "https://....",
"globalPublicationStatus": {
"code": "04",
"description": "Active",
"message": "The product was published, and is still active in the sense that the publisher will accept orders for it..."
},
"featuresBenefits": [
{
"sequenceId": 1,
"feature": "Provides flexible, in depth guidance on how to analyse poetry, prose and drama, which students can apply to any text.",
"selection": "Web Catalogue"
},
{
"sequenceId": 2,
"feature": "Incudes annotated sample answers and a dedicated section on βEssay writing skills and techniquesβ to encourage independent learning.",
"selection": "Web Catalogue"
}
],
"relatedProducts": [
{
"isbn13": "9781108408943",
"sapIdLevel3": "2700192570",
"sequence": 1
},
{
"isbn13": "9781108414081",
"sapIdLevel3": "2800415936",
"sequence": 2
}
]
}
]
Topic | Details | |
---|---|---|
1. | Operation Description | To get product details for Version 2 |
2. | URI | /v2/product |
3. | Method | GET |
6. | Synchronous/ Asynchronous | Synchronous |
7. | Protocol | HTTPS |
8. | URL | https://apis.cambridgeassessment.org.uk/cupa-shopfront-xapi/api/v2/product |
9. | Mode of Communication | β Batch β Message β Real Time |
10. | Interface Pattern | β Publish / Subscribe β Request / Reply |
4. To GET Country SalesORG Details
GET : /reference/country-so
This endpoint is used to get country Sales Organization details , payload in below format.
[
{
"platformId": 1,
"platformName": "tobedefined",
"countryIso2": "AF",
"countryIso3": "AFG",
"country": "Afghanistan",
"priceSalesOrg": "1201",
"priceCurrency": "GBP",
"countryCurrency" : "EU",
"countryCurrencyName": "Euro",
"countryCurrencySymbol": "β¬",
"displayCurrency": "GBP",
"displayCurrencyName": "Pound Sterling",
"displayCurrencySymbol": "Β£"
},
{
"platformId": 1,
"platformName": "tobedefined",
"countryIso2": "AX",
"countryIso3": "ALA",
"country": "Γ
land Islands",
"priceSalesOrg": "1201",
"priceCurrency": "GBP",
"countryCurrency" : "EU",
"countryCurrencyName": "Euro",
"countryCurrencySymbol": "β¬",
"displayCurrency": "GBP",
"displayCurrencyName": "Pound Sterling",
"displayCurrencySymbol": "Β£"
}
]
Topic | Details | |
---|---|---|
1. | Operation Description | To get country Sales Organization details |
2. | URI | /reference/country-so |
3. | Method | GET |
6. | Synchronous/ Asynchronous | Synchronous |
7. | Protocol | HTTPS |
8. | URL | https://apis.cambridgeassessment.org.uk/cupa-shopfront-xapi/api/reference/country-so |
9. | Mode of Communication | β Batch β Message β Real Time |
10. | Interface Pattern | β Publish / Subscribe β Request / Reply |
5. To GET Country Region Details
GET : /reference/country-region
This endpoint is used to get Country Region details , payload in below format.
[
{
"platformId": 1,
"platformName": "English Digital Shopfront",
"countryIso2": "AF",
"countryIso3": "AFG",
"country": "Afghanistan",
"vistaRegion": "C"
}
]
Topic | Details | |
---|---|---|
1. | Operation Description | To get Country Region details |
2. | URI | /reference/country-region |
3. | Method | GET |
6. | Synchronous/ Asynchronous | Synchronous |
7. | Protocol | HTTPS |
8. | URL | https://apis.cambridgeassessment.org.uk/cupa-shopfront-xapi/api/reference/country-region |
9. | Mode of Communication | β Batch β Message β Real Time |
10. | Interface Pattern | β Publish / Subscribe β Request / Reply |
6. To GET Ecommerce Order Details
GET : /v1/ecommerce/orders
This endpoint is used to get Ecommerce Order Details, payload in below format.
{
"orders": {
"size": 10,
"total": 1,
"offset": 0,
"records": [
{
"orderId": 294484,
"storeId": "store_eds",
"datePurchased": "2023-03-17T08:26:55Z",
"orderNumber": "1669109869986",
"status": 11,
"statusText": "Order Accepted",
"currencyCode": "GBP",
"currencyValue": 1.000000,
"paymentMethod": "GlobalGreenzone",
"totalIncTax": 90.0000,
"numProducts": 3,
"orderProducts": [
{
"id": 457984,
"sku": "2800515662",
"productId": 5776410,
"name": "Life Competencies: Secondary β 3pm UK time. Thursdays (9/16/23/30 March)",
"price": 30.0000,
"price0": 30.0000,
"price1": 30.0000,
"taxRate": 0.0000,
"tax": 0.00,
"quantity": 1,
"refundValue": 5.0000,
"totalPriceIncTax": 30.0000,
"customAttrArray": [
{
"id": -1,
"name": "wwwThumbUrl",
"value": "null",
"type": 0,
"facetNumber": 0,
"templateName": "Display"
},
{
"id": -1,
"name": "wwwCoverUrl",
"value": "null",
"type": 0,
"facetNumber": 0,
"templateName": "Display"
},
{
"id": -1,
"name": "productSpecificMessage",
"value": "Your learning materials will be available .If this is your first time visiting Cambridge One, you'll need to sign in and complete your profile.",
"type": 0,
"facetNumber": 0,
"templateName": "Display"
},
{
"id": -1,
"name": "deliveryPlatformProductUrlLinkText",
"value": "Go to Cambridge One",
"type": 0,
"facetNumber": 0,
"templateName": "Display"
},
{
"id": -1,
"name": "productExclusions",
"value": "zh_CN,es_CU,fa_IR,ko_KP,ar_SD,ar_SY,es_VE",
"type": 0,
"facetNumber": 0,
"templateName": "Availability"
}
]
}
]
}
]
}
}
Topic | Details | |
---|---|---|
1. | Operation Description | To get Ecommerce Order Details |
2. | URI | /v1/ecommerce/orders |
3. | Method | GET |
6. | Synchronous/ Asynchronous | Synchronous |
7. | Protocol | HTTPS |
8. | URL | https://apis.cambridgeassessment.org.uk/cupa-shopfront-xapi/api/v1/ecommerce/orders |
9. | Mode of Communication | β Batch β Message β Real Time |
10. | Interface Pattern | β Publish / Subscribe β Request / Reply |
7. To GET Prices Exchange Rates
GET :/v1/prices/exchangerates
This endpoint is used to get Prices Exchange Rates , payload in below format.
[
{
"currencyFrom": "ALL",
"currencyTo": "EUR",
"exchangeRateDate": "2024-01-23",
"exchangeRate": "0.0098"
}
]
Topic | Details | |
---|---|---|
1. | Operation Description | To get Prices Exchange Rates |
2. | URI | /v1/prices/exchangerates |
3. | Method | GET |
6. | Synchronous/ Asynchronous | Synchronous |
7. | Protocol | HTTPS |
8. | URL | https://apis.cambridgeassessment.org.uk/cupa-shopfront-xapi/api/v1/prices/exchangerates |
9. | Mode of Communication | β Batch β Message β Real Time |
10. | Interface Pattern | β Publish / Subscribe β Request / Reply |