Belastingprijzen weergeven met API-net voor Adobe Developer App Builder
API Netlaat ontwikkelaars toe om privé of derde APIs en andere interfaces met de producten van de Adobe te integreren gebruikend Adobe I/O Runtime.
In dit onderwerp, wordt API Net gebruikt om productprijzen op een Pagina van het Detail van het Product met belastingen te tonen in.
Belastingtarieven instellen
Er moeten belastingen zijn geconfigureerd om te worden weergegeven op de pagina Productdetails.
- de belastingtarieven van de opstelling.
- Laat belastingen toe om in de catalogus 🔗 worden getoond, en plaats het aan of
Including and Excluding Tax
ofIncluding Tax
.
Controleer of de Catalogusservice werkt door een pagina met productdetails te controleren.
API-net configureren
Als dit nog niet het geval is, sluit u het API-net met de Catalogusservice aan op uw exemplaar. Zie gedetailleerde instructies in het Begonnenonderwerp in de API de ontwikkelaarsgids van het Net.
Vervang in het bestand mesh.json
de waarden name
, endpoint
en x-api-key
.
{
"meshConfig": {
"sources": [
{
"name": "<NAME OF MESH>",
"handler": {
"graphql": {
"endpoint": "<COMMERCE INSTANCE GQL ENDPOINT URL>"
}
},
"transforms": [
{
"prefix": {
"includeRootOperations": true,
"value": "Core_"
}
}
]
},
{
"name": "CommerceCatalogServiceGraph",
"handler": {
"graphql": {
"endpoint": "https://catalog-service-sandbox.adobe.io/graphql/",
"operationHeaders": {
"Magento-Store-View-Code": "{context.headers['magento-store-view-code']}",
"Magento-Website-Code": "{context.headers['magento-website-code']}",
"Magento-Store-Code": "{context.headers['magento-store-code']}",
"Magento-Environment-Id": "{context.headers['magento-environment-id']}",
"x-api-key": "API_KEY",
"Magento-Customer-Group": "{context.headers['magento-customer-group']}"
},
"schemaHeaders": {
"x-api-key": "<YOUR API_KEY>"
}
}
}
}
],
"additionalTypeDefs": "extend type ComplexProductView {\n priceWithTaxes: Core_PriceRange\n}\n extend type SimpleProductView {\n priceWithTaxes: Core_PriceRange\n}\n",
"additionalResolvers": [
{
"targetTypeName": "ComplexProductView",
"targetFieldName": "priceWithTaxes",
"sourceName": "MagentoQACore",
"sourceTypeName": "Query",
"sourceFieldName": "Core_products",
"requiredSelectionSet": "{\n items {\n sku, \n price_range {\n minimum_price {\n final_price {\n value\n currency\n }\n }\n }\n }\n }",
"sourceArgs": {
"filter.sku.eq": "{root.sku}"
},
"result": "items[0].price_range"
},
{
"targetTypeName": "SimpleProductView",
"targetFieldName": "priceWithTaxes",
"sourceName": "MagentoQACore",
"sourceTypeName": "Query",
"sourceFieldName": "Core_products",
"requiredSelectionSet": "{\n items {\n sku, \n price_range {\n minimum_price {\n final_price {\n value\n currency\n }\n }\n }\n }\n }",
"sourceArgs": {
"filter.sku.eq": "{root.sku}"
},
"result": "items[0].price_range"
}
]
}
}
Dit mesh.json
configuratiebestand:
- Transformeert de Commerce-kerntoepassing zodat 'Core_' vereist is vóór een van de query's of typen ervan. Hiermee voorkomt u mogelijke naamconflicten met de Catalogusservice.
- Hiermee breidt u de typen
ComplexProductView
enSimpleProductView
uit met een nieuw veld met de naampriceWithTaxes
. - Hiermee voegt u een aangepaste oplosser voor het nieuwe veld toe.
Creeer het netwerk met creeer bevelmet het mesh.json
dossier.
GraphQL-query
U kunt de nieuwe priceWithTaxes
-gegevens ophalen met GraphQL.
Voorbeeld van query:
query {
products(skus:[MH07]) {
__typename
id
sku
name
description
shortDescription
addToCartAllowed
url
... on ComplexProductView {
priceWithTaxes {
minimum_price {
final_price {
value
}
}
maximum_price {
final_price {
value
}
}
}
priceRange {
maximum {
final {
amount {
value
currency
}
}
regular {
amount {
value
currency
}
}
roles
}
minimum {
final {
amount {
value
currency
}
}
regular {
amount {
value
currency
}
}
roles
}
}
}
}
}
Query-reactie:
{
"data": {
"products": [
{
"__typename": "ComplexProductView",
"id": "VFVnd053AFpHVm1ZWFZzZEEAWkRWa09Ua3hNVFl0WTJJd015MDBaRGMwTFRnME16a3RNak01TVRVNE9ESTBOemd4AGJXRnBibDkzWldKemFYUmxYM04wYjNKbABZbUZ6WlEAVFVGSE1EQTFPRFEyTVRjeA",
"sku": "MH07",
"name": "Hero Hoodie13",
"description": "<p>Gray and black color blocking sets you apart as the Hero Hoodie keeps you warm on the bus, campus or cold mean streets. Slanted outsize front pockets keep your style real . . . convenient.</p>\r\n<p>* Full-zip gray and black hoodie.<br />* Ribbed hem.<br />* Standard fit.<br />* Drawcord hood cinch.<br />* Water-resistant coating.</p>",
"shortDescription": "",
"addToCartAllowed": true,
"url": "http://commerce_url/hero-hoodie.html",
"priceWithTaxes": {
"minimum_price": {
"final_price": {
"value": 8.330001
}
},
"maximum_price": {
"final_price": {
"value": 13355.524701
}
}
},
"priceRange": {
"maximum": {
"final": {
"amount": {
"value": 39.02,
"currency": "USD"
}
},
"regular": {
"amount": {
"value": 54,
"currency": "USD"
}
},
"roles": [
"visible"
]
},
"minimum": {
"final": {
"amount": {
"value": 39.02,
"currency": "USD"
}
},
"regular": {
"amount": {
"value": 54,
"currency": "USD"
}
},
"roles": [
"visible"
]
}
}
}
]
},
"extensions": {}
}