Conector de Negócios Central e Shopify: Como criar e atualizar o ERP Business Central A Shopify

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

3dids .com |

Exemplo para criar e atualizar as informações do produto nos negócios centrais

 

Dos 3dids, podemos ajudá -lo a fazer o conector. Exemplo claro de como deve ser o processo de criação e atualização de produtos da Business Central para o Shopify.

Isso nada mais é do que um exemplo que tenta que você é desenvolvedor, veja a estrutura e adapte -a ao seu ERP

Crie produto no 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.json"
shopify_headers = {
    "X-Shopify-Access-Token": "your_access_token",
    "Content-Type": "application/json"
}

# Leer datos del producto desde Business Central
bc_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": bc_product_data["name"],
        "body_html": bc_product_data["long_description"],
        "vendor": "Your Vendor",
        "product_type": "Your Product Type",
        "tags": bc_product_data["tags"],
        "seo_title": bc_product_data["seo_title"],
        "seo_description": bc_product_data["seo_description"],
        "variants": [
            {
                "title": variant["title"],
                "price": variant["price"],
                "sku": bc_product_data["identifier"],
                "inventory_quantity": variant["inventory_quantity"]
            } for variant in bc_product_data["variants"]
        ],
        "images": [
            {
                "src": image
            } for image in bc_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)

Atualize o produto no 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 Business Central
bc_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": bc_product_data["name"],
        "body_html": bc_product_data["long_description"],
        "vendor": "Your Vendor",
        "product_type": "Your Product Type",
        "tags": bc_product_data["tags"],
        "seo_title": bc_product_data["seo_title"],
        "seo_description": bc_product_data["seo_description"],
        "variants": [
            {
                "id": 987654321,  # ID de la variante en Shopify
                "title": variant["title"],
                "price": variant["price"],
                "sku": bc_product_data["identifier"],
                "inventory_quantity": variant["inventory_quantity"]
            } for variant in bc_product_data["variants"]
        ],
        "images": [
            {
                "src": image
            } for image in bc_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)

QUALQUER

Onde acomodar os scripts:

Para hospedar esses scripts, eu recomendaria as seguintes opções:

  1. Dentro de Business Central: Si tienes acceso al código fuente de Business Central, puedes agregar estos scripts como métodos de un modelo personalizado. Esto te permitirá ejecutar las funciones directamente desde Business Central.
  2. Servidor externo: Puedes alojar estos scripts en un servidor externo que tenga acceso a tu instancia de Business Central 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 Odoo y Shopify.

Lembre -se de que você precisará ajustar os scripts de acordo com a configuração específica dos negócios centrais e do Shopify e gerencie adequadamente as credenciais e a autenticação da API.