Saltar al contenido principal
POST
/
api
/
v2
/
apps
/
{app_id}
/
batch
/
categories
/
upsert
curl -X POST "https://ecommerce.jelou.ai/api/v2/apps/{app_id}/batch/categories/upsert" \
  -H "Authorization: Bearer <API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{
    "resources": [
      {
        "name": "Pizzas",
        "description": "Todas nuestras pizzas artesanales",
        "image": "https://ejemplo.com/images/pizzas.jpg",
        "order": 1,
        "status": true,
        "branch": "SUC-CENTRO"
      },
      {
        "name": "Bebidas",
        "description": "Bebidas frías y calientes",
        "order": 2,
        "branch": "SUC-CENTRO"
      },
      {
        "name": "Postres",
        "order": 3
      }
    ]
  }'
{
  "message": "Batch upsert process initiated successfully",
  "count": 3,
  "jobs": 1
}
Puedes crear o actualizar categorías en lote según su nombre. Si una categoría con el mismo nombre ya existe en la misma tienda y sucursal, se actualiza; si no, se crea.
app_id
string
requerido
ID de tu tienda en Jelou Shop.
resources
object[]
requerido
Lista de categorías a crear o actualizar (máx. 500 por solicitud).
La sucursal debe estar creada antes de asignarla a una categoría. Usa el endpoint Crear sucursales para registrarla primero.
curl -X POST "https://ecommerce.jelou.ai/api/v2/apps/{app_id}/batch/categories/upsert" \
  -H "Authorization: Bearer <API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{
    "resources": [
      {
        "name": "Pizzas",
        "description": "Todas nuestras pizzas artesanales",
        "image": "https://ejemplo.com/images/pizzas.jpg",
        "order": 1,
        "status": true,
        "branch": "SUC-CENTRO"
      },
      {
        "name": "Bebidas",
        "description": "Bebidas frías y calientes",
        "order": 2,
        "branch": "SUC-CENTRO"
      },
      {
        "name": "Postres",
        "order": 3
      }
    ]
  }'
{
  "message": "Batch upsert process initiated successfully",
  "count": 3,
  "jobs": 1
}

Comportamiento

El endpoint retorna 202 Accepted inmediatamente. Las categorías se procesan en segundo plano.
Las categorías se identifican por su name dentro de la misma tienda y sucursal. Si ya existe una con ese nombre, se actualiza en lugar de crear una nueva.
Si el código de sucursal no coincide con ninguna sucursal de la tienda, la categoría se crea sin sucursal asignada.
Si se proporciona una URL de imagen, se descarga y almacena en segundo plano después de la creación de la categoría.

Errores de validación

CampoMensaje
resourcesThe resources field is required.
resourcesAt least one category is required.
resourcesCannot process more than 500 categories at once.
resources.*.nameEach category must have a name.
resources.*.imageCategory image must be a valid URL.
resources.*.orderCategory order must be an integer. / Category order cannot be negative.
resources.*.statusCategory status must be a boolean.

Límites

  • Máximo 500 categorías por solicitud.
  • Todas las categorías se validan antes de procesarse.
Reemplaza {app_id} con el ID de tu tienda y <API_KEY> con el token proporcionado por Jelou.