Skip to main content
POST
/
product
/
batch-delivery
Batch Product Delivery
curl --request POST \
  --url https://api.royalti.io/product/batch-delivery \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "productIds": [
    "prod-123",
    "prod-456",
    "prod-789"
  ],
  "provider": "spotify-ddex-sftp",
  "priority": "normal"
}
'
{
  "status": "success",
  "message": "<string>",
  "data": {
    "batchId": "<string>",
    "totalProducts": 123,
    "foundProducts": 123,
    "successfulDeliveries": 123,
    "failedDeliveries": 123,
    "invalidProducts": 123,
    "provider": "<string>",
    "priority": "<string>",
    "deliveries": [
      {}
    ],
    "errors": [
      {}
    ],
    "createdAt": "2023-11-07T05:31:56Z"
  }
}
This endpoint requires authentication. Include your Bearer token in the Authorization header.

Description

POST /product/batch-delivery Create deliveries for multiple products in a single request. Features:
  • Process up to 100 products per request
  • Returns detailed status for each product
  • Supports partial success (some products succeed, others fail)
  • Asynchronous queue-based processing
Validation Rules:
  • All products must have UPC codes
  • Provider must be active and configured
  • “DDEX & Deliveries” addon must be enabled
  • Products must have required DDEX metadata
Rate Limits:
  • Counts as 1 request per product towards plan limits
  • Maximum 100 products per batch

Code Examples

const response = await fetch('https://api.royalti.io/product/batch-delivery', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${token}`,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    "productIds": [
      "prod_abc123",
      "prod_def456",
      "prod_ghi789"
    ],
    "provider": "fuga-csv-ftp",
    "priority": "normal",
    "settings": {}
  })
});

const data = await response.json();
console.log(data);

Authorizations

Authorization
string
header
required

JWT Authorization header using the Bearer scheme. Format: "Bearer {token}"

Body

application/json
productIds
string[]
required

Array of product IDs (max 100)

Maximum array length: 100
provider
string
required

Provider ID

priority
enum<string>
default:normal

Delivery priority

Available options:
normal,
high,
urgent
settings
object

Optional DDEX settings override

Response

Batch delivery initiated successfully

status
enum<string>
Available options:
success,
partial_success
message
string
data
object