Shipping: free delivery, prices, carriers
ps_update_shipping
Sets free delivery from a chosen order value, changes delivery prices and switches delivery options on or off.
Free TellMyShop Audit: No. This tool is only in the paid version of TellMyShop. The free TellMyShop Audit has only tools that read your store.
Ask Claude
„Make delivery free from 199 for Black Friday.”
Example preview
Free shipping from cart value: 299.00 -> 199.00 PLN gross. Free shipping by weight: off (unchanged). Handling fee: 0.00 (unchanged). Applies to all carriers that use the shop's free-shipping setting.
Technical details
Shipping changes (current state: ps_list_carriers). action=set_free_shipping sets free_price (free delivery from a gross cart value; 0 = off), free_weight (from a weight in kg; 0 = off) and handling (net handling fee added to carriers that use it). action=set_prices sets a carrier's net prices in its EXISTING ranges: prices [{from, price}], where from is the lower bound of the range (amount or kg, as in ps_list_carriers); zone_id defaults to the zone of the default country. action=set_carrier_active switches a carrier on or off (carrier_id, active).
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| action | enum: set_free_shipping | set_prices | set_carrier_active | yes | set_free_shipping | set_prices | set_carrier_active. |
| shop_id | integer | no | Shop ID in a multistore installation. Defaults to the shop in the connector address. IDs are listed by ps_get_shop_info. |
| lang | string | no | ISO language code, for example pl or en. Defaults to the shop's default language. |
| free_price | number | no | set_free_shipping: gross cart value threshold in the shop currency (0 = off). Range 0 to 1,000,000. |
| free_weight | number | no | set_free_shipping: weight threshold (kg, 0 = off). Range 0 to 100,000. |
| handling | number | no | set_free_shipping: net handling fee in the shop currency. Range 0 to 10,000. |
| carrier_id | integer | when: action=set_prices or set_carrier_active | set_prices / set_carrier_active: the carrier (ps_list_carriers). |
| zone_id | integer | no | set_prices: zone (default the zone of the shop's default country). |
| prices | array of object | when: action=set_prices | set_prices: prices per range. Max 50 items. Fields of each item: from (number, required): Lower bound of the range (amount in the shop currency or kg). price (number, required): Net delivery price in this range (shop currency). Range 0 to 100,000. |
| active | boolean | when: action=set_carrier_active | set_carrier_active: true = switch on, false = switch off. |
| confirm | boolean | no | false (default) returns a preview and saves nothing. true executes, only after the user approved the preview, together with change_token. |
| change_token | string | when: confirm=true | Token from the preview. Required with confirm=true. Valid 30 minutes, single use, bound to the previewed arguments and data state. |
Limits
Prices only in existing ranges, up to 50 ranges per call; new carriers and ranges are added in the back office (Shipping > Carriers). Amounts are in the shop currency. Revertible with ps_revert_change.
What you see before anything is saved
Claude first calls the tool without confirming it. The module returns a preview (current and new values) and a single-use token valid for 30 minutes. Claude shows you the preview and saves the change only after your yes.
Related tools
- List carriers ps_list_carriers
- Manage cart rules and voucher codes ps_manage_cart_rules
- Revert change ps_revert_change
Use cases with this tool
- Update the shipping information page
- Check free-shipping thresholds against your average order
- Offer free shipping from a set order amount
- Update carrier prices after a courier price change
Last updated: 2026-10-05