catalog.product.setDigital
Set a product's digital/shipping posture: requiresShipping, delivered digital content, withdrawal exception.
- scope:
catalog:write - storefront-visible (bumps the catalog generation): no
- destructive: no
Payload
| field | type | required | notes |
|---|---|---|---|
id | string (/^prd_[a-zA-Z0-9]{1,32}$/) | yes | |
requiresShipping | boolean | yes | |
digitalContent | string (≤10000 chars) | null | no | |
withdrawalException | string (/^[a-z_]{2,40}$/) | null | no | |
deliveryMode | "shared" | "pool" | no |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^prd_[a-zA-Z0-9]{1,32}$"
},
"requiresShipping": {
"type": "boolean"
},
"digitalContent": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 10000
},
{
"type": "null"
}
]
},
"withdrawalException": {
"anyOf": [
{
"type": "string",
"pattern": "^[a-z_]{2,40}$"
},
{
"type": "null"
}
]
},
"deliveryMode": {
"type": "string",
"enum": [
"shared",
"pool"
]
}
},
"required": [
"id",
"requiresShipping"
],
"additionalProperties": false
}Generated from the live platform registries at build time — reference pages cannot go stale. Markdown variant: /reference/commands/catalog.product.setDigital.md