Before executing this skill, read these referenced skills with ReadFullDocsArticle:
Detects delivery regions where customers cannot see any shipping options at checkout and creates standard shipping to fill the gaps. A coverage gap is a HIGH priority blocking issue -- customers in affected destinations literally cannot complete a purchase.
Retrieve all delivery profiles to build a complete map of regions and their carriers.
Endpoint: POST https://www.wixapis.com/ecom/v1/delivery-profiles/query
Request:
Response:
Save every region id, name, active status, and carrier appId values.
Retrieve all shipping options to determine which regions already have coverage.
Endpoint: POST https://www.wixapis.com/ecom/v1/shipping-options/query
Request:
Response:
Build a map of deliveryRegionId to the count of shipping options linked to it.
For each deliveryRegion across all profiles, apply these checks in order:
If ALL carriers in the region have an external appId (e.g., Shippo appId: "2b1943e2-3fc2-47bc-be56-3d402e5966d7"), skip the region entirely. External carriers manage their own rates.
If active=false, skip. Inactive regions are not shown at checkout regardless of shipping options.
Count how many shipping options have this region's id in their deliveryRegionId field. If the count is zero, this is a coverage gap.
Severity: HIGH -- blocking. Customers shipping to this region's destinations cannot see any shipping options and cannot complete checkout.
For each shipping option, check if ALL of its linked regions have active=false. If so, the option exists but is invisible at checkout. This is a configuration issue worth flagging.
For each shipping option, verify that its deliveryRegionId actually exists in one of the delivery profiles. If the region no longer exists, the option is orphaned -- it exists in the system but is never shown to customers.
For each region identified as having zero coverage, create a standard shipping option and a free shipping tier.
effective_aov (e.g., if effective_aov is $60, rate is $3.00-$6.00)effective_aov x 1.2 (e.g., if effective_aov is $60, threshold is $72)estimatedDeliveryTime -- never leave it empty. Use "5-7 business days" for domestic, "7-14 business days" for international.Endpoint: POST https://www.wixapis.com/ecom/v1/shipping-options
Request:
Response:
Endpoint: POST https://www.wixapis.com/ecom/v1/shipping-options
Request:
After creating options for all gaps, re-query shipping options to confirm:
deliveryRegionIdestimatedDeliveryTime is populated (not empty)Endpoint: POST https://www.wixapis.com/ecom/v1/shipping-options/query
Use the same request from Step 2 and verify the count now covers all active, non-external regions.
| Error | Cause | Fix |
|---|---|---|
deliveryRegionId is not a valid GUID | Used deliveryRegionIds (plural) instead of deliveryRegionId (singular) in create request | Use the singular deliveryRegionId field |
SHIPPING_OPTION_NOT_FOUND | The shipping option ID doesn't exist | Re-query shipping options to get current IDs |
REVISION_MISMATCH | The revision doesn't match the current version | Re-fetch the option to get the latest revision, then retry |
| Region appears covered but customers still can't check out | Region has active=false | Check region active status in the delivery profile; activate the region if intended |
| Option exists but not visible at checkout | Option linked to an inactive or deleted region | Verify region exists and active=true in the delivery profile |