Internationale prijzen
In Afosto kun je verschillende prijslijsten definiëren voor verschillende landen. Om deze prijslijsten te implementeren voor een specifiek land in de context van een winkelwagen, kun je een landcode instellen op de winkelwagen.
Deze eigenschap heeft alleen invloed op de prijsstelling van de winkelwagen. Het is de verantwoordelijkheid van de ontwikkelaar om ervoor te zorgen dat de juiste prijzen worden weergegeven op de storefront op basis van het geselecteerde land.
Het instellen van een landcode kan worden gedaan met de Afosto-client of een GraphQL-mutatie.
Met behulp van de Afosto-client
Hier is hoe je een landcode kunt instellen met behulp van de Afosto JavaScript-client:
```js
const cart = await client.setCountryCodeOnCart('FR');
In dit voorbeeld stellen we de landcode in op 'FR' voor Frankrijk. Je kunt 'FR' vervangen door de juiste landcode.
### Met GraphQL
Als alternatief kun je een landcode instellen op de winkelwagen met behulp van een GraphQL-mutatie. De setCountryCodeOnCart-mutatie stelt je in staat om een landcode te specificeren voor een gegeven winkelwagen.
import { gql } from '@afosto/storefront';
import StorefrontClient, { CoreCartFragment } from '@afosto/storefront';
const client = StorefrontClient({
storefrontToken: 'STOREFRONT_TOKEN',
});
const query = gql`
${CoreCartFragment}
mutation SetCountryCodeOnCart($set_country_code_on_cart_input: SetCountryCodeOnCartInput!) {
setCountryCodeOnCart(input: $set_country_code_on_cart_input) {
cart {
...CoreCartFragment
}
}
}
`;
const variables = {
setCountryCodeOnCartInput: {
cartId: client.getCartTokenFromStorage(),
countryCode: 'FR',
},
};
const response = await client.query(query, variables);
Hier gebruiken we de SetCountryCodeOnCart mutatie, waarbij we het winkelwagen-ID en de landcode doorgeven. Let op: we gebruiken 'FR' als de landcode in dit voorbeeld. Je moet 'FR' vervangen door de gewenste landcode.
Deze GraphQL-mutatie retourneert een winkelwagenobject (met de toegepaste landcode), die vervolgens naar behoefte binnen je applicatie kan worden gebruikt.