Как получить токен с помощью spree API v2 SDK

У меня есть приложение Spree 3.7, и я пытаюсь использовать API витрина v2 для получения токена. Мне рекомендовали использовать их SDK, но я не понимаю, как использовать SDK

Пример ниже:

Identifies a guest user's cart and order.

const response = await client.cart.create()

const orderToken: string = response.data.attributes.token

Четко не указано, откуда берется response.data.attributes.token и как его получить.

У кого-нибудь есть пример использования SDK для получения токена API? В настоящее время не в состоянии сделать это. Указано, что с помощью /cart я могу получить кнопку гостевого токена, пытаясь получить ответ, заканчивающийся 404

const orderToken: string = response.data.attributes.token возвращает данные как неизвестные. Откуда я могу получить значение данных?

  import { makeClient } from '@spree/storefront-api-v2-sdk/dist/client';


async function asyncCall() {
  console.info('calling');

  // When using the SDK in a <script> tag or as part of a Webpack bundle
  // targeted for the browser, instead use:
  // import { makeClient } from '@spree/storefront-api-v2-sdk/dist/client'

  const client = makeClient({
    host: 'https://stern-telecom-react-salman15.c9users.io/'
  });

  console.info(client)

  const createCart = await client.cart.create()


  const orderToken = response.data.attributes.token

  const addToCart = await client.cart.addItem({ orderToken }, {
    variant_id: '1',
    quantity: 1
  })

  console.info('orderToken',orderToken,'createCart',createCart);
  // expected output: 'resolved'
}

asyncCall();

1
351
1

Ответ:

Решено

Мне удалось получить токен API с помощью SDK, добавив .succes() перед вызовом data

const client = makeClient({
   host: 'yourwebsite or localhost:3000'
 });
 console.info('cliet',client);

const cartCreateResponse = await client.cart.create()
 console.info('cartCreateResponse',cartCreateResponse.success().data);


const orderToken = cartCreateResponse.success().data.attributes.token
 console.info('orderToken', orderToken);

 const addToCart = await client.cart.addItem({ orderToken }, {
   variant_id: '1',
   quantity: 1
 })