Ir al contenido principal
2. Entidad Tiendas
Actualizado hace más de un mes

La entidad Tiendas en WoowUp te permite gestionar las ubicaciones físicas de tu negocio, ya sean sucursales, puntos de venta o incluso tiendas de ecommerce. Esta entidad es clave para integrar datos de ventas realizadas en diferentes ubicaciones y asociarlas correctamente a los clientes.

Campos permitidos

Campo

Tipo

Descripción

Ejemplo

Obligatorio

name

String

Identificador único de la tienda

A101

display_name

String

Nombre de la tienda

Sucursal Palermo

branch_zone_code

String

Código de la zona

13

No

branch_zone_name

String

Nombre de la zona

Buenos Aires

No

2.1 Endpoints principales

La API de WoowUp proporciona varios endpoints para interactuar con la entidad Tiendas. A continuación, se detallan los más relevantes:

  • Crear tienda (POST):
    Este endpoint te permite agregar una nueva tienda en WoowUp.

    Ejemplo:

    curl --request POST \ 
    --url https://api.woowup.com/v3/branches \
    --header 'Authorization: Basic <tu_api_key>' \
    --header 'accept: application/json' \
    --header 'Content-Type: application/json' \
    --data:{
    "name": "A101",
    "display_name": "Sucursal Palermo",
    "branch_zone": {
    "id": "005106",
    "name": "Centro"}
    }

    Respuesta:

    {
    "payload": {
    "id": 94848,
    "name": "A101",
    "display_name": "Sucursal Palermo",
    "description": null,
    "status": "active",
    "holder": null,
    "email": null,
    "telephone": null,
    "address": "Calle Falsa 123",
    "working_hours": null,
    "notes": null,
    "branch_zone": null,
    "country": null,
    "state": "Estado Y",
    "city": "Ciudad X",
    "location_type": null,
    "business_type": null,
    "shopping_center": null,
    "format": null,
    "group": null,
    "m2": null,
    "m2_cost": null,
    "employees_quantity": null,
    "is_web": false,
    "createtime": "2024-10-04T05:05:16+00:00",
    "updatetime": "2024-10-04T05:05:16+00:00"
    },
    "message": "ok",
    "code": "ok",
    "time": "22ms"
    }

  • Actualizar tienda (PUT):
    Modifica los datos de una tienda existente.

    Como parámetro se debe enviar el id de la tienda, el cual se obtiene haciendo antes un GET o, dentro de WoowUp, en Configuración > Tiendas.

    Ejemplo:

    curl --request PUT \ 
    --url https://api.woowup.com/v3/branches/{id} \
    --header 'Authorization: Basic <tu_api_key>' \
    --header 'accept: application/json' \
    --header 'Content-Type: application/json' \
    --data:{
    "name": "A101",
    "display_name": "Sucursal Palermo Nueva"
    }

    Respuesta:

    {
    "payload": {
    "id": 94848,
    "name": "A101",
    "display_name": "Sucursal Palermo Nueva",
    "description": null,
    "status": "active",
    "holder": null,
    "email": null,
    "telephone": null,
    "address": "Calle Falsa 123",
    "working_hours": null,
    "notes": null,
    "branch_zone": null,
    "country": null,
    "state": "Estado Y",
    "city": "Ciudad X",
    "location_type": null,
    "business_type": null,
    "shopping_center": null,
    "format": null,
    "group": null,
    "m2": null,
    "m2_cost": null,
    "employees_quantity": null,
    "is_web": false,
    "createtime": "2024-10-04T05:05:16+00:00",
    "updatetime": "2024-10-08T05:05:16+00:00"
    },
    "message": "ok",
    "code": "ok",
    "time": "22ms"
    }

2.2 Otros Endpoints de interés:

  • Obtener tiendas (GET):
    Este endpoint permite recuperar la lista de todas las tiendas activas en la plataforma. Se puede realizar una páginación con los parámetros page y limit.

    Ejemplo de solicitud:

    curl --request GET \ 
    --url https://api.woowup.com/v3/branches?page=0&limit=1 \
    --header 'Authorization: Basic <tu_api_key>' \
    --header 'accept: application/json' \

    Respuesta:

    {
    "payload": [
    {
    "id": 1,
    "name": "A101",
    "display_name": "Sucursal Palermo",
    "description": "",
    "status": "active",
    "created": "2018-04-13 15:12:50",
    "modified": null,
    "holder": null,
    "email": null,
    "telephone": null,
    "address": null,
    "working_hours": null,
    "notes": null,
    "branch_zone_name": null
    }
    ],
    "message": "ok",
    "code": "ok",
    "time": "25ms"
    }

  • Eliminar tienda (DELETE):
    Permite eliminar una tienda existente de la plataforma.

    En este caso, el id debe enviarse en el body de la consulta junto a un email para notificar cuando el proceso de borrado haya finalizado.

    Ejemplo:

    curl --request DELETE \ 
    --url https://api.woowup.com/v3/branches \
    --header 'Authorization: Basic <tu_api_key>' \
    --header 'accept: application/json' \
    --header 'Content-Type: application/json' \
    --data:{
    "id": 00000,
    "notify_to": "[email protected]"
    }

Respuesta:

{
"payload": {
"request_id": "XXXX"
},
"message": "ok",
"code": "ok",
"time": "62ms"
}

2.3 Consideraciones importantes

  • Identificación de tiendas: Cada tienda tiene un id único que WoowUp asigna automáticamente al momento de su creación. Utiliza este id para realizar modificaciones o eliminar tiendas.

  • Datos requeridos: Para crear o actualizar una tienda, es necesario proporcionar al menos los campos obligatorios como name, y display_name,. Asegúrate de revisar la documentación completa para ver qué campos son opcionales.

2.4 Ejemplo de uso:

En este ejemplo se simulará la integración de los datos de Tiendas desde una base de datos hacia WoowUp. El flujo de integración incluye:

  1. Extracción de datos desde la base de datos local.

  2. Transformación de los datos para cumplir con los formatos requeridos.

  3. Envío de los datos a WoowUp mediante solicitudes HTTP.

Flujo de Integración

Paso 1: Extraer datos desde la base de datos

Extrae los datos de la base de datos utilizando un script o consulta SQL. Por ejemplo, para una base de datos MySQL:

SELECT 
id AS store_id,
name AS store_name
FROM
stores_table;


Paso 2: Preparar los datos

Transforma los datos extraídos al formato JSON requerido por WoowUp. El formato esperado por el endpoint de Tiendas es:

{
"id": "string",
"name": "string"
}


Ejemplo de Transformación en Código (Python)

import json

# Datos extraídos desde la base de datos

stores_data = [
{"store_id": "001", "store_name": "Tienda Central"},
{"store_id": "002", "store_name": "Sucursal Norte"} ]

# Transformar los datos

formatted_data = [
{ "name": store["store_id"], "display_name": store["store_name"]}

for store in stores_data ]

# Imprimir datos formateados

print(json.dumps(formatted_data, indent=4))

Paso 3: Enviar los datos a WoowUp

Envía los datos utilizando el endpoint de Tiendas con una solicitud POST.


Endpoint:

POST https://api.woowup.com/v3/stores


Encabezados:

Content-Type: application/json Authorization: Bearer <API_KEY>

Ejemplo de Código para Envío (Python)

import requests

# URL del endpoint

url = "https://api.woowup.com/v3/stores"

# Headers para la solicitud

headers = { "Content-Type": "application/json", "Authorization": "Bearer <API_KEY>" }

# Enviar cada tienda

for store in formatted_data:
response = requests.post(url, headers=headers, json=store)
if response.status_code == 201:
print(f"Tienda {store['name']} creada exitosamente.")
else:
print(f"Error al crear la tienda {store['name']}: {response.json()}")

¿Ha quedado contestada tu pregunta?