Conector entre SAP y Shopify : Como crear y actualizar productos de ERP SAP a Shopify

Conector entre SAP y Shopify : Como  crear y actualizar productos de ERP SAP a Shopify

3dids .com |

SAP

Crear Producto en Shopify viniendo el dato del ERP SAP:

Desde 3dids te podemos ayudar a hacer el conector. Ejemplo claro de como debería ser el proceso de creación y actualización de productos desde SAP a Shopify.

Esto no es más que un ejemplo que trata de que tu que eres desarrollador veas la estructura y la adaptes a tu ERP

python
import requests
import json

# Configuración de la API de Shopify
shopify_url = "https://your-store.myshopify.com/admin/api/2023-01/products.json"
shopify_headers = {
    "X-Shopify-Access-Token": "your_access_token",
    "Content-Type": "application/json"
}

# Leer datos del producto desde SAP
sap_product_data = {
    "name": "Producto de Ejemplo",
    "identifier": "PROD001",
    "short_description": "Descripción breve",
    "long_description": "Descripción larga",
    "seo_title": "Título SEO",
    "seo_description": "Descripción SEO",
    "tags": ["tag1", "tag2"],
    "variants": [
        {
            "title": "Variante 1",
            "price": "10.00",
            "inventory_quantity": 100,
            "images": ["url1", "url2", "url3", "url4", "url5"]
        },
        {
            "title": "Variante 2",
            "price": "15.00",
            "inventory_quantity": 50,
            "images": ["url6", "url7", "url8", "url9", "url10"]
        }
    ],
    "images": ["url11", "url12", "url13", "url14", "url15"]
}

# Crear producto en Shopify
product_data = {
    "product": {
        "title": sap_product_data["name"],
        "body_html": sap_product_data["long_description"],
        "vendor": "Your Vendor",
        "product_type": "Your Product Type",
        "tags": sap_product_data["tags"],
        "seo_title": sap_product_data["seo_title"],
        "seo_description": sap_product_data["seo_description"],
        "variants": [
            {
                "title": variant["title"],
                "price": variant["price"],
                "sku": sap_product_data["identifier"],
                "inventory_quantity": variant["inventory_quantity"]
            } for variant in sap_product_data["variants"]
        ],
        "images": [
            {
                "src": image
            } for image in sap_product_data["images"]
        ]
    }
}

response = requests.post(shopify_url, headers=shopify_headers, data=json.dumps(product_data))

if response.status_code == 201:
    print("Producto creado exitosamente en Shopify")
else:
    print("Error al crear el producto en Shopify:", response.text)

Actualizar Producto en Shopify:

python
import requests
import json

# Configuración de la API de Shopify
shopify_url = "https://your-store.myshopify.com/admin/api/2023-01/products/123456789.json"
shopify_headers = {
    "X-Shopify-Access-Token": "your_access_token",
    "Content-Type": "application/json"
}

# Leer datos del producto actualizado desde SAP
sap_product_data = {
    "name": "Producto de Ejemplo Actualizado",
    "identifier": "PROD001",
    "short_description": "Descripción breve actualizada",
    "long_description": "Descripción larga actualizada",
    "seo_title": "Título SEO actualizado",
    "seo_description": "Descripción SEO actualizada",
    "tags": ["tag1", "tag2", "tag3"],
    "variants": [
        {
            "title": "Variante 1 Actualizada",
            "price": "12.00",
            "inventory_quantity": 120,
            "images": ["url1", "url2", "url3", "url4", "url5"]
        },
        {
            "title": "Variante 2 Actualizada",
            "price": "18.00",
            "inventory_quantity": 60,
            "images": ["url6", "url7", "url8", "url9", "url10"]
        }
    ],
    "images": ["url11", "url12", "url13", "url14", "url15"]
}

# Actualizar producto en Shopify
product_data = {
    "product": {
        "id": 123456789,
        "title": sap_product_data["name"],
        "body_html": sap_product_data["long_description"],
        "vendor": "Your Vendor",
        "product_type": "Your Product Type",
        "tags": sap_product_data["tags"],
        "seo_title": sap_product_data["seo_title"],
        "seo_description": sap_product_data["seo_description"],
        "variants": [
            {
                "id": 987654321,  # ID de la variante en Shopify
                "title": variant["title"],
                "price": variant["price"],
                "sku": sap_product_data["identifier"],
                "inventory_quantity": variant["inventory_quantity"]
            } for variant in sap_product_data["variants"]
        ],
        "images": [
            {
                "src": image
            } for image in sap_product_data["images"]
        ]
    }
}

response = requests.put(shopify_url, headers=shopify_headers, data=json.dumps(product_data))

if response.status_code == 200:
    print("Producto actualizado exitosamente en Shopify")
else:
    print("Error al actualizar el producto en Shopify:", response.text)

Dónde alojar los scripts:

Para alojar estos scripts, te recomendaría las siguientes opciones:

  1. Dentro de SAP: Si tienes acceso al código fuente de SAP, puedes agregar estos scripts como métodos de un modelo personalizado. Esto te permitirá ejecutar las funciones directamente desde SAP.
  2. Servidor externo: Puedes alojar estos scripts en un servidor externo que tenga acceso a tu instancia de SAP y a la API de Shopify. Esto te permitirá ejecutar los scripts de manera programada o a demanda.
  3. Plataforma de integración: Considera usar una plataforma de integración como Render  Zapier, Integromat o incluso un servicio de integración personalizado que pueda ejecutar estos scripts y manejar la comunicación entre SAP y Shopify.

Recuerda que necesitarás ajustar los scripts según tu configuración específica de SAP y Shopify, y asegurarte de manejar adecuadamente las credenciales de API y la autenticación.