Publicado el Dejar un comentario

Consultando productos con MybusinesPOS y woocommerce

Ejemplo completo para integrar WooCommerce y MyBusiness POS v20, usando prácticas comunes de sincronización (productos, precios e inventario)


🛒 Integración WooCommerce + MyBusiness POS v20: Ejemplo Práctico

Conectar tu tienda en línea en WooCommerce con tu sistema de MyBusiness POS v20 permite que:

  • Los productos y precios se sincronicen automáticamente.
  • El inventario se mantenga actualizado en ambos sistemas.
  • Las ventas en línea y físicas compartan el mismo catálogo y stock.

A continuación te muestro un ejemplo técnico completo de cómo podrías implementar una sincronización básica de productos y precios entre WooCommerce y MyBusiness POS.


📌 Antes de Empezar

Este ejemplo asume que:

✔ Tu WooCommerce está activo y accesible con la REST API de WooCommerce.
✔ MyBusiness POS v20 está instalado y ejecutándose en tu red local.
✔ Los productos en POS tienen un campo adicional (por ejemplo wc_id) que almacena el ID de producto de WooCommerce.
✔ Los productos se identifican por SKU (código de producto) para que coincidan entre WooCommerce y POS.


🔧 ¿Qué vamos a lograr?

Queremos que un script externo (por ejemplo, en Python o Node.js) haga lo siguiente:

  1. Leer productos de MyBusiness POS.
  2. Comparar con WooCommerce usando SKU.
  3. Actualizar o crear productos en WooCommerce con esos datos.
  4. Asegurar que los precios y existencias queden sincronizados.

Este patrón es común cuando no hay un plugin oficial listo para MyBusiness POS + WooCommerce.(helpmybusinesspos.info)


💻 Ejemplo de Script de Sincronización (Python)

Este es un ejemplo básico que:

  • Conecta a la base de datos SQL de MyBusiness POS.
  • Conecta a WooCommerce vía REST API.
  • Sincroniza productos, precios e inventario.

Ajusta los parámetros de conexión a tu servidor SQL Server y WooCommerce.

# Instalar dependencias:
# pip install pyodbc woocommerce

import pyodbc
from woocommerce import API

# Configuración de WooCommerce API
wcapi = API(
    url="https://tu-tienda.com",
    consumer_key="ck_CONSUMER_KEY",
    consumer_secret="cs_CONSUMER_SECRET",
    version="wc/v3"
)

# Conexión a SQL Server donde está MyBusiness POS
conn = pyodbc.connect(
    "Driver={SQL Server};"
    "Server=TU_SERVIDOR_SQL;"
    "Database=MyBusiness20;"
    "Trusted_Connection=yes;"
)

cursor = conn.cursor()

# Consultar productos desde MyBusiness POS
cursor.execute("SELECT articulo, descripcion, precio1, existencia FROM prods")

for row in cursor.fetchall():
    sku = row.articulo
    name = row.descripcion
    price = float(row.precio1)
    stock = int(row.existencia)

    # Construir el payload para WooCommerce
    data = {
        "product": {
            "sku": sku,
            "name": name,
            "regular_price": str(price),
            "stock_quantity": stock
        }
    }

    # Intentar actualizar el producto por SKU en WooCommerce
    r = wcapi.get("products?sku=" + sku).json()

    if len(r) > 0:
        # Si existe, actualizamos con el ID
        product_id = r[0]['id']
        wcapi.put(f"products/{product_id}", data)
        print(f"Actualizado: {sku}")
    else:
        # Si no existe, crear uno nuevo
        wcapi.post("products", data)
        print(f"Creado: {sku}")

conn.close()

📊 ¿Cómo funciona esto?

🧠 1. Conexión a WooCommerce

Usamos la REST API de WooCommerce para crear o actualizar productos desde código.
Esto te permite sincronizar precios, stock e información general del producto con tu tienda en línea.(5205495.fs1.hubspotusercontent-na1.net)

🗄 2. Conexión a MyBusiness POS

El script se conecta directamente a la base de datos de MyBusiness POS, que normalmente se ejecuta en SQL Server. Extrae productos y datos relevantes (como articulo, precio1 y existencia).(My Business POS SIL)

🔄 3. Comparación con WooCommerce

Para cada producto en POS:

  • Se busca por SKU en WooCommerce.
  • Si existe, se actualiza.
  • Si no existe, se crea.

De esta forma se garantiza que ambos sistemas mantengan los mismos productos y precios.


🚀 Próximos pasos y mejoras

Este ejemplo es una base funcional, pero en un entorno productivo te puede interesar:

✅ Sincronizar imágenes de producto.
✅ Sincronizar categorías y atributos.
✅ Ejecutar la sincronización de forma automática (cron).
✅ Manejo de errores y logs detallados.
✅ Sincronizar también órdenes de WooCommerce hacia POS (ventas web a tienda física).(helpmybusinesspos.info)


Prompt para consultar en la IA


Quiero que generes un script completo en Python para sincronizar productos entre WooCommerce y MyBusiness POS v20.

Primero realiza una **búsqueda profunda en helpmybusinesspos.info** y en toda la documentación disponible de MyBusiness POS para identificar:

1. La estructura de la base de datos SQL, especialmente las tablas y campos relacionados con productos (como prods, articulos, precios, existencias).
2. Los campos más comunes utilizados en MyBusiness POS para SKU, nombre, precio y stock.
3. Buenas prácticas al consultar esa base de datos desde aplicaciones externas.

Luego genera el script con las siguientes características:

- Conectarse a la base de datos SQL Server donde está MyBusiness POS.
- Leer los productos desde la tabla principal (por ejemplo prods) tomando por lo menos:
    - articulo (como SKU),
    - descripcion (como nombre),
    - precio1 (como precio regular),
    - existencia (como stock).
- Conectarse a la REST API de WooCommerce usando la versión wc/v3 y las credenciales del usuario (consumer_key y consumer_secret).
- Buscar cada producto por SKU en WooCommerce.
- Si existe, actualizar su precio y stock.
- Si no existe, crearlo.
- Mostrar en consola qué productos fueron creados y cuáles actualizados.

Requisitos técnicos del script:

- Usar pyodbc para SQL Server.
- Usar la librería oficial `woocommerce` para la API.
- Incluir instrucciones para instalar dependencias (pip install).
- Incluir comentarios explicando cada sección del código.
- No dejar valores reales de conexión; usar placeholders como:
    - TU_SERVIDOR_SQL
    - TU_BASE_DE_DATOS
    - TU_USUARIO_SQL
    - TU_PASSWORD_SQL
    - TU_URL_WOOCOMMERCE
    - ck_xxxxxxxxx
    - cs_xxxxxxxxx
- Agregar manejo básico de excepciones con try/except.
- Cerrar correctamente la conexión a la base de datos al finalizar.

El resultado debe ser un script Python completo, listo para producción básica, bien comentado y claro para desarrolladores que integran WooCommerce con MyBusiness POS, con la estructura de tablas y campos verificada en la documentación de helpmybusinesspos.info.

Se requiere lo siguiente:

MyBusiness POS v20 instalado y funcionando
Acceso al servidor SQL Server donde está la base de datos
Nombre de la base de datos de MyBusiness
Usuario y contraseña con permisos de lectura (mínimo SELECT)
Conocer las tablas reales como prods, existenciaalmacen u otras según documentación actual
Identificar correctamente los campos como articulo (SKU), precio, imagen y existencias
WooCommerce instalado y funcionando en WordPress
Llaves API de WooCommerce (consumer_key y consumer_secret)
Python 3.9 o superior instalado
Librerías de Python instaladas: pyodbc, requests y json
Conexión a internet para comunicarse con la API de WooCommerce
Permisos adecuados en MyBusiness para consulta de inventarios y precios

Además, se requiere realizar una búsqueda profunda en helpmybusinesspos.info para confirmar nombres de tablas, estructura de datos, relaciones y posibles cambios en MyBusiness POS v20 antes de implementar el código.

Deja un comentario