Skip to main content
POST
https://api.zenflow.com.ar
/
api
/
v1
/
products
/
bulk
Bulk Upsert Products
curl --request POST \
  --url https://api.zenflow.com.ar/api/v1/products/bulk \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <api-key>' \
  --data '
{
  "products": [
    {
      "barcode": "<string>",
      "name": "<string>",
      "sku": "<string>",
      "category": "<string>",
      "price": 123,
      "weight": 123
    }
  ]
}
'

Bulk Upsert Products

Create new products or update existing ones in a single request. Products are matched by barcode.
Requires write:products scope.

Request

POST /api/v1/products/bulk

Body Parameters

products
array
required
Array of products to create or update

Example

curl -X POST "https://api.zenflow.com.ar/api/v1/products/bulk" \
  -H "X-API-Key: zenflow_live_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "products": [
      {
        "barcode": "7891234567890",
        "name": "Widget A",
        "sku": "SKU-001",
        "price": 29.99
      },
      {
        "barcode": "7891234567891",
        "name": "Widget B",
        "sku": "SKU-002",
        "price": 49.99
      },
      {
        "barcode": "7891234567892",
        "name": "Widget C",
        "sku": "SKU-003",
        "price": 19.99
      }
    ]
  }'

Response

{
  "success": true,
  "data": {
    "created": 2,
    "updated": 1,
    "errors": []
  }
}

Response with Errors

{
  "success": true,
  "data": {
    "created": 2,
    "updated": 0,
    "errors": [
      {
        "barcode": "INVALID",
        "error": "Barcode is required"
      }
    ]
  }
}

Best Practices

  • Use this endpoint for initial catalog sync
  • Batch products in groups of 100 for optimal performance
  • The endpoint is idempotent - safe to retry on failure