cupa-shopfront-xapi

(0 reviews)

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:

resources/image-ee164b6c-2298-4650-8fe1-0806689c2ddd.png


Sequence Diagram:

resources/image-61542562-d3e6-44aa-8d86-c3b470849951.png

Sequence Diagram Description:

No.StepsDescription
1.RequestHttp 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 CredentialsClient id and Client secret credentials are validated by the security API mule gateway layer
3.If Validation fails, service returns specific fault responseIf Validation fails, service returns specific fault response
4.RequestRequest forward and behave like a passthrough API
5.ResponseResponse from Shopfront
6.Return ResponseReturns the success response.

Endpoints:

1. Health Check

GET: /status

To check the health of the API.

TopicDetails
1.Operation DescriptionCheck the current status of API
2.URI/api/status
3.MethodGET
4.Response{ "application": "cupa-shopfront-xapi", "version": "v1", "environment": "prod", "status": "Running", "timestamp": "2024-05-11T07:41:43.227Z+00:00" }
5.Synchronous/AsynchronousSynchronous
6.ProtocolHTTPS
7.URLhttps://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"
      }
    ]
  }
]
TopicDetails
1.Operation DescriptionTo get product details
2.URI/product
3.MethodGET
6.Synchronous/ AsynchronousSynchronous
7.ProtocolHTTPS
8.URLhttps://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
      }
    ]
  }
]
TopicDetails
1.Operation DescriptionTo get product details for Version 2
2.URI/v2/product
3.MethodGET
6.Synchronous/ AsynchronousSynchronous
7.ProtocolHTTPS
8.URLhttps://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": "Β£"
    }
]
TopicDetails
1.Operation DescriptionTo get country Sales Organization details
2.URI/reference/country-so
3.MethodGET
6.Synchronous/ AsynchronousSynchronous
7.ProtocolHTTPS
8.URLhttps://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"
  }
]
TopicDetails
1.Operation DescriptionTo get Country Region details
2.URI/reference/country-region
3.MethodGET
6.Synchronous/ AsynchronousSynchronous
7.ProtocolHTTPS
8.URLhttps://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"
              }
            ]
          }
        ]
      }
    ]
  }
}
TopicDetails
1.Operation DescriptionTo get Ecommerce Order Details
2.URI/v1/ecommerce/orders
3.MethodGET
6.Synchronous/ AsynchronousSynchronous
7.ProtocolHTTPS
8.URLhttps://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"
    }
]
TopicDetails
1.Operation DescriptionTo get Prices Exchange Rates
2.URI/v1/prices/exchangerates
3.MethodGET
6.Synchronous/ AsynchronousSynchronous
7.ProtocolHTTPS
8.URLhttps://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

Reviews