Shopify

Sync Data

Aprende cómo sincronizar y personalizar datos de tu tienda de Shopify

Sincroniza tus productos de Shopify, meta-campos y suscriptores con Clerk. Esta guía cubre cómo crear una app en el Panel de Desarrolladores de Shopify, personalizar los datos de producto y sincronizar la información de suscriptores.

Configurar la sincronización #

Para sincronizar los datos de tu tienda Shopify con Clerk, debes crear una app en el Panel de Desarrolladores de Shopify y configurarla en Clerk. El usuario que realice la configuración debe tener acceso al Panel de Desarrolladores y permisos para desarrollar apps en la tienda Shopify.

Requisitos de acceso: Sólo los propietarios de la tienda o el personal con permisos de Administrador pueden crear la app (no a través de acceso colaborativo). El mismo usuario de Shopify debe crear e instalar la app.

Crear la app #

  1. En Shopify, ve a Settings > Apps > Develop Apps.

  2. Haz clic en Build apps in Dev Dashboard.

    • Si no ves esta opción, haz clic en Learn more.
    • En la nueva ventana que se abre, haz clic en Go to Dev Dashboard.
    • Alternativamente, puedes abrir el Dev Dashboard directamente tras iniciar sesión.
  3. En el Panel de Desarrolladores, haz clic en Create App.

  4. Introduce Clerk.io como nombre de la app.

  5. En App URL, agrega el placeholder estándar de app de Shopify: https://shopify.dev/docs/apps/default-app-home

  6. Bajo Embed App in Shopify Admin, elimina la marca de verificación. La app sólo necesita ser instalada una vez y no necesita aparecer en el menú lateral de Shopify.

  7. En Webhooks API Version, selecciona la última versión (al menos 2025-07).

Configurar los alcances #

  1. Bajo Access scopes, otorga acceso a los alcances que aparecen a continuación. Puedes pegar la siguiente cadena directamente en el campo de entrada para agregarlos todos a la vez:

    read_all_orders,read_customers,write_customers,read_inventory,read_locales,read_locations,read_markets,read_markets_home,read_metaobjects,read_online_store_pages,read_orders,read_products,read_publications,read_content,read_translations
    
    ¿Por qué necesitamos permisos de escritura? Clerk sólo lee datos, pero Shopify requiere el alcance write_customers para acceder a los campos de URL de marketing del cliente (por ejemplo, para sincronizar customer.unsub_url).

    O puedes seleccionarlas individualmente:

    • Customers (read_ y write_)
    • Inventory (read_)
    • Locales (read_)
    • Locations (read_)
    • Markets (read_)
    • Markets Home (read_)
    • Metaobjects (read_)
    • Online Store Pages (read_)
    • Orders (read_)
    • All Orders (read_)
    • Products (read_)
    • Publications (read_)
    • Store Content (read_)
    • Translations (read_)
  2. En la parte inferior de la pantalla, haz clic en Release.

Instalar la app #

Importante: El usuario de Shopify que crea la app también debe instalarla. Si otro usuario intenta instalar la app, Shopify no permitirá la instalación.
  1. Haz clic en Home, luego haz clic en Install app en la esquina superior derecha.

  2. Shopify te redirigirá a una página donde seleccionas la tienda Shopify en la que instalar la app. Elige tu tienda de la lista.

  3. En la página siguiente, revisa el resumen de detalles de la app y haz clic en Install en la esquina inferior derecha.

Conectar con Clerk #

  1. Vuelve al Panel de Desarrolladores y haz clic en Settings dentro de la app Clerk.io. Aquí encontrarás el Client ID y el Client Secret.

  2. Ve a my.clerk.io > Data > Configuration. Bajo Sync Method, selecciona Shopify.

  3. Pega el Client ID y el Client Secret en el formulario. Después haz clic en Start Sync.

Problema conocido: Shopify puede fallar al generar un token en la primera sincronización, provocando un error de autenticación. Este es un problema intermitente conocido en Shopify. Simplemente espera 1-2 minutos y vuelve a intentarlo.

Mercados e inventario #

Si gestionas múltiples mercados, idiomas o ubicaciones de inventario en Shopify, confirma estos campos antes de sincronizar:

  • Shopify Market
  • Shopify Locale
  • Prefix URLs with Locale
  • Force Relative URLs
  • Ubicaciones de inventario

Estos valores deben coincidir con la configuración de mercado/dominio de tu Shopify. Para un mapeo completo campo por campo, consulta Shopify integration settings.

Datos de variantes #

Los datos de variantes de Shopify pueden comportarse de forma diferente según la opción Import only stock variant data.

Los atributos típicos de variantes de Shopify en Clerk.io incluyen:

  • variant_inventory_policy (lista de cadenas)
  • variant_inventory_tracking (lista booleana)
  • variant_list_prices (lista numérica)
  • variant_names (lista de cadenas)
  • variant_option_size (lista de cadenas)
  • variant_prices (lista numérica)
  • variant_stocks (lista numérica)
  • variant_weight (lista numérica)
  • variant_weight_unit (lista de cadenas)
  • variants (lista de cadenas, IDs de variantes)

Ejemplo:

{
  "variant_inventory_policy": ["deny", "deny"],
  "variant_inventory_tracking": [true, true],
  "variant_list_prices": [240, 240],
  "variant_names": ["Xs", "M"],
  "variant_option_size": ["Xs", "M"],
  "variant_prices": [120, 120],
  "variant_stocks": [1, 7],
  "variant_weight": [0.4, 0.4],
  "variant_weight_unit": ["KILOGRAMS", "KILOGRAMS"],
  "variants": ["55970989179259", "55970989244795"]
}

Cuando la opción Import only stock variant data está habilitada, estas listas sólo incluirán las variantes en stock.

Personalizar los datos de producto #

En Shopify, los meta-campos y otros atributos que crees pueden sincronizarse a través de my.clerk.io > System status > Data sync.

Simplemente ve al campo de entrada llamado Custom Attributes y escribe los atributos de producto que desees incluir.

Para añadir varios atributos, sepáralos con comas.

Add attributes

Los atributos siempre deben escribirse usando su key.

Normalmente todo en minúsculas. Por ejemplo, el atributo “Sizes” debe ser “sizes”.

No necesitas incluir el namespace - Clerk lo encontrará automáticamente basado en el key.

En Shopify, normalmente puedes encontrar estos keys localizando tu atributo en Settings > Custom data > Products/Variants:

Custom data

Sincronizar suscriptores #

Shopify permite gestionar suscriptores directamente desde la plataforma.

Estos pueden sincronizarse fácilmente con Clerk.

Cuando se activa, importaremos el atributo “subscribed: true” para cada dirección de correo electrónico suscrita en Shopify.

Esto puede ser usado para Auto-Email.

Simplemente ve a tu tienda my.clerk.io, luego Data -> Configuration y configura Include Subscriber State en Yes. Haz clic en Save e inicia una nueva sincronización.

Subscriber state configuration

Si deseas usar un enlace de desuscripción para tus clientes, entonces cada cliente extraído desde un backend de Shopify incluye un atributo unsub_url que puede usarse en los diseños de auto email en el campo de desuscripción: {{customer.unsub_url}}

La versión de la Webhooks API debe ser al menos la 2022-04, ya que este soporte fue añadido ahí. Puedes comprobar esto en la app que creaste para Clerk en el Panel de Desarrolladores bajo Settings.

App personalizada heredada #

A partir de enero de 2026, Shopify ya no permite crear apps personalizadas directamente desde el admin de Shopify para las tiendas. Las apps personalizadas existentes seguirán funcionando, pero este método sólo debe usarse si ya tienes una app personalizada configurada. Para cualquier otro caso, usa el método a través del Panel de Desarrolladores anterior.

Si ya tienes una app personalizada existente y necesitas usarla o modificarla, selecciona Shopify (Legacy Custom App) como el Sync Method en my.clerk.io > Data > Configuration.

Estos pasos sólo aplican si tu tienda Shopify aún tiene acceso para crear apps personalizadas en el admin de Shopify.

  1. En Shopify, ve a Settings > Apps > Develop Apps.
Develop apps page
  1. Haz clic en Create app, ponle el nombre “Clerk.io”, elige el desarrollador de la App y luego haz clic nuevamente en Create app.

  2. Haz clic en ConfigurationAdmin API integrationConfigure.

Permissions configuration
  1. Bajo Admin API access scopes, otorga permisos de Lectura (alcances que comienzan con read_) a lo siguiente. Para Customers, selecciona Leer y escribir (incluye write_customers).

    ¿Por qué necesitamos permiso de escritura? Clerk sólo lee datos, pero Shopify requiere el alcance write_customers para acceder a los campos de URL de marketing del cliente (por ejemplo, para sincronizar customer.unsub_url).

    Puedes pegar la siguiente cadena directamente en el campo de entrada para agregar todos los alcances a la vez:

    read_all_orders,read_customers,write_customers,read_inventory,read_locales,read_locations,read_markets,read_markets_home,read_metaobjects,read_online_store_pages,read_orders,read_products,read_publications,read_content,read_translations
    

    O puedes seleccionarlas individualmente:

    • Customers (read_ y write_)
    • Inventory (read_)
    • Locales (read_)
    • Locations (read_)
    • Markets (read_)
    • Markets Home (read_)
    • Metaobjects (read_)
    • Online Store Pages (read_)
    • Orders (read_)
    • All Orders (read_)
    • Products (read_)
    • Publications (read_)
    • Store Content (read_)
    • Translations (read_)
API access scopes
  1. Haz clic en Save, luego en Install AppInstall.

  2. Abre API Credentials y copia tu dominio de Shopify y las API Key, Access Token y Secret Key de la app.

API credentials
  1. Ve a my.clerk.io > Data > Configuration. En Sync Method, selecciona Shopify (Legacy Custom App).

  2. Pega estos valores en el formulario. Elige un tamaño de imagen por defecto si se te solicita, luego haz clic en Start Sync.

Esta página ha sido traducida por una IA útil, por lo que puede contener errores de idioma. Muchas gracias por su comprensión.