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.
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:
1const 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.
1import { gql } from '@afosto/storefront';
2import StorefrontClient, { CoreCartFragment } from '@afosto/storefront';
3
4const client = StorefrontClient({
5 storefrontToken: 'STOREFRONT_TOKEN',
6});
7
8const query = gql`
9 ${CoreCartFragment}
10 mutation SetCountryCodeOnCart($set_country_code_on_cart_input: SetCountryCodeOnCartInput!) {
11 setCountryCodeOnCart(input: $set_country_code_on_cart_input) {
12 cart {
13 ...CoreCartFragment
14 }
15 }
16 }
17`;
18
19const variables = {
20 setCountryCodeOnCartInput: {
21 cartId: client.getCartTokenFromStorage(),
22 countryCode: 'FR',
23 },
24};
25
26const 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.