Saltearse al contenido

Shopify

El componente Shopify de Nappai te permite conectar tu automatización directamente con tu tienda Shopify. Imagina que este componente es un “traductor” inteligente: toma tus instrucciones en Nappai y las convierte en peticiones que tu tienda de Shopify entiende, permitiendo obtener información (como una lista de productos) o realizar cambios (como actualizar una orden) de forma automática.

¿Cómo funciona?

Internamente, este componente se comunica con Shopify a través de su API REST. Esto significa que realiza conexiones seguras hacia los servidores de Shopify para pedir datos o enviar actualizaciones.

El proceso funciona así:

  1. Identificación: Tú le dices a Nappai qué quieres hacer (por ejemplo, “Obtener todos los pedidos”) y seleccionas tu tienda usando una credencial guardada.
  2. Conexión: El componente envía una petición segura a Shopify usando tu clave de acceso y el dominio de tu tienda.
  3. Procesamiento: Shopify responde con la información solicitada (por ejemplo, un listado de productos en formato JSON).
  4. Resultados: Nappai recibe esa información y la convierte en datos estructurados (salidas) que puedes usar en el siguiente paso de tu automatización (por ejemplo, enviar un correo a un cliente con esos datos).

Conexión y Credenciales

Este componente requiere configurar previamente una credencial en el panel de Nappai para poder interactuar con tu tienda de Shopify de forma segura:

  1. Dirígete a la sección de Credenciales en tu panel de Nappai.
  2. Crea una nueva credencial del tipo Shopify API. Para obtener estos datos, ve a tu panel de administración de Shopify > Ajustes > Apps > Develop apps, crea una app con los permisos necesarios e instala la app en tu tienda para obtener las credenciales. Guarda los campos requeridos (Shop URL, API Client ID, API Secret Key, API Version).
  3. En tu flujo de trabajo, selecciona la credencial que acabas de guardar en el campo de entrada Credential de este nodo.

Operaciones

Este componente ofrece varias operaciones que puedes seleccionar según lo que necesites hacer. Solo puedes usar una operación a la vez:

  • Get: Recupera información de tu tienda, como una lista de productos, una orden específica o datos de un cliente.
  • Create: Genera nuevos elementos en tu tienda, como un producto nuevo, una orden de compra o un registro de cliente.
  • Update: Modifica la información de un elemento existente, como actualizar el precio de un producto o cambiar el estado de una orden.
  • Delete: Elimina un elemento de tu tienda, como borrar un producto o cancelar una orden.

Para usar el componente, primero selecciona la operación que necesitas en el campo “Operation” (Operación).

Entradas

Los siguientes campos están disponibles para configurar este componente. Cada campo puede estar visible en diferentes operaciones:

  • Data: Información principal para crear o actualizar entidades.
    • Visible en: Create, Update, Delete
  • Entity: El tipo de elemento con el que trabajarás (ej. producto, orden, cliente).
    • Visible en: Get, Create, Update, Delete
  • Operation: La acción específica que deseas ejecutar (Get, Create, Update o Delete).
    • Visible en: Get, Create, Update, Delete
  • Entity ID: El identificador único del elemento al que quieres acceder, modificar o borrar.
    • Visible en: Get, Update, Delete
  • Limit: La cantidad máxima de elementos que deseas obtener en la respuesta.
    • Visible en: Get
  • Order By: El campo por el cual deseas ordenar los resultados (ej. por fecha). Escribe un signo menos (-) delante si quieres ordenarlo en sentido descendente (ej. “-created_at”).
    • Visible en: Get
  • Search: Una palabra o frase específica para filtrar los resultados y encontrar solo lo que te interesa.
    • Visible en: Get
  • Product Title: El nombre del producto.
    • Visible en: Get, Create, Update, Delete
  • Product Price: El precio del producto. Si usas variantes (ej. tallas), separa los precios con comas en el mismo orden que las variantes.
    • Visible en: Get, Create, Update, Delete
  • Include Additional Fields: Una opción para solicitar más detalles del producto o la orden más allá de los básicos.
    • Visible en: Get, Create, Update, Delete
  • Additional Fields: Una lista de campos extra específicos que quieres que se incluyan en la solicitud.
    • Visible en: Get, Create, Update, Delete
  • Product Body HTML: La descripción detallada del producto, que soporta formato HTML para añadir negritas, enlaces, etc.
    • Visible en: Get, Create, Update, Delete
  • Product Type: La categoría a la que pertenece el producto (ej. “Electrónica”, “Ropa”).
    • Visible en: Get, Create, Update, Delete
  • Vendor: El nombre del fabricante o proveedor del producto.
    • Visible en: Get, Create, Update, Delete
  • Tags: Etiquetas separadas por comas para categorizar y facilitar la búsqueda del producto.
    • Visible en: Get, Create, Update, Delete
  • Image Created At: La fecha y hora de creación de la imagen del producto.
    • Visible en: Get, Create, Update, Delete
  • Image ID: El identificador de la imagen del producto.
    • Visible en: Get, Create, Update, Delete
  • Image Position: La posición de la imagen (importante para el orden de visualización en la tienda).
    • Visible en: Get, Create, Update, Delete
  • Image Src: La URL de la imagen o un código JSON con los detalles de la imagen.
    • Visible en: Get, Create, Update, Delete
  • Image Width: El ancho de la imagen en píxeles.
    • Visible en: Get, Create, Update, Delete
  • Image Height: La altura de la imagen en píxeles.
    • Visible en: Get, Create, Update, Delete
  • Handle: Un identificador único y legible para el producto (ej. “camiseta-roja”).
    • Visible en: Get, Create, Update, Delete
  • Options: Las opciones del producto (ej. Talla, Color) en formato JSON o string estructurado.
    • Visible en: Get, Create, Update, Delete
  • Published At: La fecha y hora de publicación del producto en la tienda.
    • Visible en: Get, Create, Update, Delete
  • Published Scope: El alcance de la publicación del producto (ej. qué canales lo ven).
    • Visible en: Get, Create, Update, Delete
  • Template Suffix: El sufijo de la plantilla utilizada para mostrar el producto.
    • Visible en: Get, Create, Update, Delete
  • Customer ID: El identificador del cliente asociado a la orden.
    • Visible en: Get, Create, Update, Delete
  • Number of Line Items: La cantidad de líneas (productos diferentes) dentro de una orden.
    • Visible en: Get, Create, Update, Delete
  • Include Additional Fields: Opción para incluir más detalles en la creación o actualización de una orden.
    • Visible en: Get, Create, Update, Delete
  • Select Additional Fields: Selección de qué campos adicionales incluir en la orden.
    • Visible en: Get, Create, Update, Delete
  • Billing Address First Name: El primer nombre en la dirección de facturación.
    • Visible en: Get, Create, Update, Delete
  • Billing Address Last Name: El apellido en la dirección de facturación.
    • Visible en: Get, Create, Update, Delete
  • Address Line 1: La primera línea de la dirección de facturación (calle y número).
    • Visible en: Get, Create, Update, Delete
  • Address Line 2: La segunda línea de la dirección de facturación (apto, oficina, etc.).
    • Visible en: Get, Create, Update, Delete
  • Billing Address City: La ciudad de la dirección de facturación.
    • Visible en: Get, Create, Update, Delete
  • Billing Address Zip: El código postal de la dirección de facturación.
    • Visible en: Get, Create, Update, Delete
  • Billing Address State: El estado o provincia de la dirección de facturación.
    • Visible en: Get, Create, Update, Delete
  • Billing Address Country: El país de la dirección de facturación.
    • Visible en: Get, Create, Update, Delete
  • Billing Address Company: El nombre de la empresa en la dirección de facturación.
    • Visible en: Get, Create, Update, Delete
  • Billing Address Phone: El número de teléfono en la dirección de facturación.
    • Visible en: Get, Create, Update, Delete
  • Number of Discount Codes: La cantidad de códigos de descuento aplicados a la orden.
    • Visible en: Get, Create, Update, Delete
  • Order Email: El correo electrónico del cliente para la orden.
    • Visible en: Get, Create, Update, Delete
  • Fulfillment Status: El estado de la preparación del envío (ej. pendiente, enviado).
    • Visible en: Get, Create, Update, Delete
  • Order Inventory Management: El método de gestión de inventario de la orden.
    • Visible en: Get, Create, Update, Delete
  • Order Note: Una nota interna o externa sobre la orden.
    • Visible en: Get, Create, Update, Delete
  • Order Send Fulfillment Receipt: Opción para enviar el recibo de preparación al cliente.
    • Visible en: Get, Create, Update, Delete
  • Order Send Receipt: Opción para enviar el recibo final de la orden al cliente.
    • Visible en: Get, Create, Update, Delete
  • Order Shipping Address First Name: El primer nombre en la dirección de envío.
    • Visible en: Get, Create, Update, Delete
  • Order Shipping Address Last Name: El apellido en la dirección de envío.
    • Visible en: Get, Create, Update, Delete
  • Order Shipping Address Address1: La primera línea de la dirección de envío.
    • Visible en: Get, Create, Update, Delete
  • Order Shipping Address Address2: La segunda línea de la dirección de envío.
    • Visible en: Get, Create, Update, Delete
  • Order Shipping Address City: La ciudad en la dirección de envío.
    • Visible en: Get, Create, Update, Delete
  • Order Shipping Address Company: El nombre de la empresa en la dirección de envío.
    • Visible en: Get, Create, Update, Delete
  • Order Shipping Address Country: El país en la dirección de envío.
    • Visible en: Get, Create, Update, Delete
  • Order Shipping Address Phone: El número de teléfono en la dirección de envío.
    • Visible en: Get, Create, Update, Delete
  • Order Shipping Address Province: La provincia o estado en la dirección de envío.
    • Visible en: Get, Create, Update, Delete
  • Order Shipping Address Zip: El código postal en la dirección de envío.
    • Visible en: Get, Create, Update, Delete
  • Order Source Name: El nombre de la plataforma o lugar donde se originó la orden (ej. Web, App de Shopify).
    • Visible en: Get, Create, Update, Delete
  • Order Tags: Etiquetas separadas por comas para clasificar la orden.
    • Visible en: Get, Create, Update, Delete
  • Order Test: Opción para marcar si la orden es de prueba.
    • Visible en: Get, Create, Update, Delete
  • First Name: El primer nombre del cliente.
    • Visible en: Get, Create, Update, Delete
  • Last Name: El apellido del cliente.
    • Visible en: Get, Create, Update, Delete
  • Customer Email: El correo electrónico del cliente.
    • Visible en: Get, Create, Update, Delete
  • Customer Phone: El número de teléfono del cliente.
    • Visible en: Get, Create, Update, Delete
  • Customer Tags: Etiquetas separadas por comas para clasificar al cliente.
    • Visible en: Get, Create, Update, Delete
  • Customer Note: Una nota interna sobre el cliente.
    • Visible en: Get, Create, Update, Delete
  • Tracking Number: El código de seguimiento del envío para rastrear el paquete.
    • Visible en: Get, Create, Update, Delete
  • Tracking Company: El nombre de la empresa de mensajería o paquetería (ej. DHL, FedEx).
    • Visible en: Get, Create, Update, Delete
  • Notify Customer: Opción para enviar un correo de notificación de envío al cliente.
    • Visible en: Get, Create, Update, Delete

Salidas

El componente genera una salida llamada Result, que contiene los datos obtenidos o confirmados por Shopify en formato estructurado (JSON). Esta salida es fundamental porque puedes conectara la salida de Result con la entrada de otros componentes en tu flujo para realizar acciones posteriores.

Ejemplo de Respuesta JSON

Si utilizas la operación Get para buscar productos, tu salida Result se verá similar a esto: json { “products”: [ { “id”: 632910392, “title”: “Acme T-Shirt”, “body_html”: “Una camiseta cómoda.”, “vendor”: “My Brand”, “product_type”: “Camisetas”, “created_at”: “2023-10-01T12:00:00Z”, “handle”: “acme-t-shirt”, “price”: “19.99”, “status”: “active” } ] }

Conectividad

El flujo lógico de este componente suele ser lineal pero flexible:

  • Entrada: Recibe datos de configuración desde la credencial de Shopify y parámetros definidos por el usuario (qué producto o orden necesita).
  • Salida: Conecta comúnmente a componentes de Procesamiento de Datos (como “Filter” o “Code”) para decidir qué hacer con la información obtenida, o a componentes de Notificación (como Email o Slack) para informar sobre los resultados (ej. “Nueva orden recibida”).

Ejemplo de Uso

Escenario: Obtener detalles de una orden para enviar un correo de confirmación.

  1. Añades el componente Shopify.
  2. Seleccionas la operación Get.
  3. En Entity, seleccionas “Order”.
  4. En Entity ID, ingresas el ID de la orden que te interesa.
  5. Al ejecutar, el componente consultará a Shopify.
  6. Usas la salida Result y la conectas a un nodo de “Email” para enviar el detalle de esa orden al cliente.

Plantillas

[Esta sección no está disponible para este componente en las plantillas actualizadas]

Componentes Relacionados

[Esta sección no tiene componentes de enlace definidos actualmente]

Notas Importantes

🔒 Securely Store API Credentials 🔴 Never commit your API key or password to version control. Store them in encrypted secrets or environment variables to protect against unauthorized access.

🟡 Use Specific API Endpoints to Reduce Load 🟢 Target only the resources you need (e.g., orders, products) instead of fetching all data. This minimizes API calls, speeds up processing, and reduces the chance of hitting rate limits.

🟢 Provide Valid Shopify Credentials 🔴 You must supply a Shopify store domain, API key, and API password. Without these, the component cannot authenticate and will fail to retrieve data.

🟡 Install Nappai Dependencies 🟡 The component relies on the Nappai library. Ensure it is installed in your Python environment before running the component, otherwise import errors will occur.

🟢 Development Status May Cause Instability 🔴 This component is marked as a development version, which means it may contain bugs or change behavior without warning. Users should test thoroughly in a staging environment before using it in production.

🟡 Set Credentials via Environment Variables 🟢 A recommended approach is to set SHOPIFY_API_KEY, SHOPIFY_PASSWORD, and SHOPIFY_DOMAIN in your environment. This keeps credentials out of code and simplifies deployment across environments.

ℹ️ Component Requires Internet Connectivity 🟡 All operations involve HTTP requests to Shopify’s REST API, so the component must run on a machine with internet access. Offline usage will result in failed requests.

Consejos y Mejores Prácticas

  • Autenticación Primero: Asegúrate siempre de que tu credencial de Shopify esté configurada correctamente antes de intentar ejecutar la automatización. Sin credenciales, el componente no podrá conectarse.
  • Uso Eficiente: Al usar la operación Get, utiliza el campo Limit si solo necesitas unos pocos registros. Esto mantiene tu automatización rápida y evita bloqueos por límites de uso de la API.
  • Manejo de Errores: Ten en cuenta que, al ser un componente en etapa de desarrollo, cualquier cambio imprevisto podría afectar su comportamiento. Es recomendable probar primero en un entorno seguro.

Consideraciones de Seguridad

Para proteger tu tienda y tus datos, es vital utilizar credenciales válidas y mantenerlas seguras (no compartirlas públicamente). Además, recuerda que Shopify impone límites de velocidad (rate limits) en su API; si realizas muchas operaciones de golpe, podrías ser bloqueado temporalmente.