Documentación engañosa y obsoleta de Shopify Buy JS

2 minutos de lectura

avatar de usuario
Ricardo Álvarez Correa

Actualmente estoy tratando de crear un sitio de WordPress para vender productos en línea, estoy usando Shopify para manejar la parte de comercio electrónico. El problema se basa en este fragmento de código.

import Client from 'shopify-buy';

const client = Client.buildClient({
  domain: 'your-shop-name.myshopify.com',
  storefrontAccessToken: 'your-storefront-access-token'
});

Estoy usando la versión de compilación UMD minimizada publicada en el documentaciónmi código real es este:

const client = ShopifyBuy.buildClient({
  domain: 'domain.myshopify.com',
  storefrontAccessToken: 'token',
  apiKey: 'key',
  appId: '6'
});

// Fetch all products in your shop
client.product.fetchAll().then((products) => {
  // Do something with the products
  console.log(products);
});

No uso la importación porque estoy usando el recurso CDN (lo pongo en cola en mi wordpress functions.php), la declaración del cliente en mi código es diferente ya que, por razones desconocidas para mí, cada vez que intento usar solo el fragmento de código proporcionado por la documentación de Shopify. Recibo mensajes de error que dicen que me faltan la apiKey y la appID, por lo que necesitaba incluirlos, para luego recibir este mensaje de la consola:

[ShopifyBuy] La propiedad de configuración apiKey está obsoleta a partir de la versión 1.0, utilice storefrontAccessToken en su lugar.

y también recibe este error:

“TypeError: client.product no está definido”

Entonces, esto me hace creer que la versión minimizada proporcionada está desactualizada o que algo está mal con la información proporcionada por Shopify a las personas que intentan usar la versión UMD minimizada.

También hay 1 video de YouTube que explica cómo usar esto desde hace aproximadamente 1 año al momento de escribir. La interfaz de usuario de Shopify está desactualizada y el código también está desactualizado, por lo que no quiero construir toda la tienda con un código obsoleto para poder necesita volver a hacerlo. Este es un gran problema para personas como yo que crean sitios web para clientes.

Entonces, en conclusión, necesito ayuda para saber cómo declarar el objeto del cliente o si alguien ya lo hizo en WordPress, dígame cómo hacerlo, por favor.

Este es el error que mencioné acerca de perder la apiKey:

buy-button-storefront.min.js:2 Error no detectado: new Config() requiere la opción ‘apiKey’ en buy-button-storefront.min.js:2 en Array.forEach () en n.constructor (buy-button -storefront.min.js:2) en el nuevo n (buy-button-storefront.min.js:2) en Object.buildClient (buy-button-storefront.min.js:3) en (índice):235

  • tambien me gustaria saber como solucionar esto!

    – Mateo

    17 de abril de 2018 a las 4:59

Este fragmento de código está funcionando ahora mismo.

const client = ShopifyBuy.buildClient({
domain: 'website.myshopify.com',
storefrontAccessToken: 'storeaccesstokenid'
});

Además de esto, debe agregar esto al pie de página

<script src="https://sdks.shopifycdn.com/js-buy-sdk/v1/latest/index.umd.min.js"></script>

¿Ha sido útil esta solución?