Readiness and delivery profiles
The 13 tools of the Readiness and delivery profiles toolset in the Catalog area, with their permissions, approval rules and inputs.
On this page
Toolset readiness, 13 tools.
Records
delivery_profiles
The delivery promise profiles of the store: each with its name, the products it applies to and the delivery components it is built from, and which one is the default. There is one record; pass any id, e.g. "current".
- Permission:
products.read - Tools:
delivery_profiles_get
product_delivery
Which delivery profile a product and each of its variants use, whether chosen on the product or inherited, and how it resolves. Pass the product id.
- Permission:
products.read - Tools:
product_delivery_get
product_readiness
Whether one product is ready to sell and to publish: the findings of the readiness checks and what blocks publishing. Pass the product id. include full runs the slower checks too.
- Permission:
products.read - Tools:
product_readiness_get - Includes:
full
readiness_check
A check the readiness engine runs on the store, a product or a variant: what it asserts, how severe it can be, whether it blocks publishing, and whether it is active or disabled.
- Permission:
products.read - Tools:
readiness_check_list
store_readiness
Whether the store is ready to sell: the findings of the store-level readiness checks with their fixes. include full runs the slower checks too. There is one record; pass any id, e.g. "current".
- Permission:
products.read - Tools:
store_readiness_get - Includes:
full
variant_readiness
Whether one variant is ready to sell: the findings of the variant readiness checks. Pass <product id>/<variant id>.
- Permission:
products.read - Tools:
variant_readiness_get - Includes:
full
Actions
delivery_profile_delete
Delete a delivery profile; products that used it fall back to the default.
- Action key:
delivery_profile.delete - Permission:
products.write - Approval: Always waits for a person to approve it.
- Effect: Changes the live store.
- Destructive: in compact mode it runs with
run_destructive_action. - Retries: safe to repeat with the same input.
| Field | Type | Required | Description |
|---|---|---|---|
profile_id | string | yes | 1 to 64 characters |
Example input:
{
"profile_id": "019bb276-bd8c-7a66-9c86-722d45f4e493"
}delivery_profile_save
Create a delivery profile, or change one by passing its id.
components are the delivery steps in the shape delivery_profiles_get answers (at most 8); read the document first and copy the shape. applicability.mode any|all decides whether a product needs one or all of the listed categories, collections or tags.
- Action key:
delivery_profile.save - Permission:
products.write - Approval: Waits for approval when the store requires it for this action.
- Effect: Changes the live store.
- Retries: safe to repeat with the same input.
| Field | Type | Required | Description |
|---|---|---|---|
id | string | Pass to change an existing profile. 1 to 64 characters | |
name | string | yes | 1 to 80 characters |
description | string | at most 400 characters | |
enabled | boolean | ||
applicability | object | ||
applicability.mode | string | yes | one of "any", "all" |
applicability.category_ids | list of string | at most 32 items. 1 to 64 characters | |
applicability.collection_ids | list of string | at most 32 items. 1 to 64 characters | |
applicability.tag_ids | list of string | at most 32 items. 1 to 64 characters | |
components | list of map of string or number or boolean or list of any value or map of any value or null | yes | at most 8 items |
Example input:
{
"name": "Ships in 2 days",
"components": []
}delivery_profile_set_default
Choose the delivery profile products without their own use. null clears it.
- Action key:
delivery_profile.set_default - Permission:
products.write - Approval: Waits for approval when the store requires it for this action.
- Effect: Changes the live store.
- Retries: safe to repeat with the same input.
| Field | Type | Required | Description |
|---|---|---|---|
profile_id | string or null | yes | 1 to 64 characters |
Example input:
{
"profile_id": "019bb276-bd8c-7a66-9c86-722d45f4e493"
}product_delivery_set
Choose the delivery profile of a product and of its variants.
mode inherit follows the level above, none shows no delivery promise, profile uses profile_id. Variants not listed keep their choice.
- Action key:
product_delivery.set - Permission:
products.write - Approval: Waits for approval when the store requires it for this action.
- Effect: Changes the live store.
- Retries: safe to repeat with the same input.
| Field | Type | Required | Description |
|---|---|---|---|
product_id | string | yes | |
product | object, one shape of: | ||
product[mode=inherit].mode | string | yes | always "inherit" |
product[mode=none].mode | string | yes | always "none" |
product[mode=profile].mode | string | yes | always "profile" |
product[mode=profile].profile_id | string | yes | 1 to 64 characters |
variants | list of object | at most 200 items | |
variants[].variant_id | string | yes | 1 to 64 characters |
variants[].binding | object, one shape of: | yes | |
variants[].binding[mode=inherit].mode | string | yes | always "inherit" |
variants[].binding[mode=none].mode | string | yes | always "none" |
variants[].binding[mode=profile].mode | string | yes | always "profile" |
variants[].binding[mode=profile].profile_id | string | yes | 1 to 64 characters |
Example input:
{
"product_id": "019bb58e-0ec1-79c1-9f40-d39d8d07674b",
"product": {
"mode": "profile",
"profile_id": "019bb276-bd8c-7a66-9c86-722d45f4e493"
}
}product_publish
Publish a product through the readiness gate.
Runs the readiness checks first: when something blocks publishing the product stays a draft and the blockers come back (the answer is still a success). force publishes anyway, so use it only when the merchant says so.
- Action key:
product.publish - Permission:
products.write - Approval: Waits for approval when the store requires it for this action.
- Effect: Changes the live store.
- Retries: safe to repeat with the same input.
| Field | Type | Required | Description |
|---|---|---|---|
product_id | string | yes | |
force | boolean |
Example input:
{
"product_id": "019bb58e-0ec1-79c1-9f40-d39d8d07674b"
}readiness_run_action
Run one of the one-click fixes the readiness findings offer.
action_id comes from the fixes the readiness findings offer; only actions of kind apply can run. target_id is the product, variant or record it fixes. A dry run says what it would change.
- Action key:
readiness.run_action - Permission:
products.write - Approval: Always waits for a person to approve it.
- Effect: Changes the live store.
- Retries: runs at most once; a repeat with the same idempotency key returns the first result.
- Dry run: supported, with
dry_runset to true.
| Field | Type | Required | Description |
|---|---|---|---|
action_id | string | yes | at least 1 characters |
target_id | string | ||
params | map of string or number or boolean or list of any value or map of any value or null |
Example input:
{
"action_id": "core.link_default_sales_channel",
"target_id": "019bb58e-0ec1-79c1-9f40-d39d8d07674b"
}store_baseline_apply
Set up what the store needs to sell in a market: countries, currency, tax rates and a shipping option.
A dry run reports what would be created without changing anything. countries are two-letter codes, primary_country one of them. selling and shipping choose the kinds of products sold and how they ship.
- Action key:
store_baseline.apply - Permission:
settings.write - Approval: Always waits for a person to approve it.
- Effect: Changes the live store.
- Retries: safe to repeat with the same input.
- Dry run: supported, with
dry_runset to true.
| Field | Type | Required | Description |
|---|---|---|---|
countries | list of string | yes | 1 to 32 items. 2 to 2 characters |
primary_country | string | yes | 2 to 2 characters |
selling | list of string | Kinds of products sold. one of "physical", "digital", "undecided" | |
shipping | string | one of "courier", "local", "digital", "later" | |
currency_code | string | 3 to 3 characters | |
standard_vat_rates | map of number |
Example input:
{
"countries": [
"hu"
],
"primary_country": "hu",
"currency_code": "huf"
}