How to Automate your Shipments
Use our Shipping Rules feature to automate your shipments by defining actions that will be automatically performed when specific conditions are met.
Introduction to shipping rules
Shipping rules allow you to automate your shipping processes by defining conditions and actions. These rules can be applied to:
- New shipments: by default, a newly created shipping rule applies only to shipments created after it.
- Existing ones: simply set the
recalculate_shipments
body field totrue
.
You can apply more than one shipping rule to your shipments: for this purpose, specify priority for each rule defining the order of application. Rules are applied by their priority in incremental order.
Creating a shipping rule
To create a shipping rule, send a POST
request to https://api.easyship.com/2023-01/shipping_rules
with the following body parameters:
name
(required).description
(required).recalculate_shipments
(optional,false
by default).priority
(optional).
Once you've set these parameters, proceed to define conditions and actions.
Defining conditions for a shipping rule
Shipping rule conditions are checked using the AND
Boolean operator. You can specify conditions based on various criteria, including destination country, item category, item SKU, and more. Here is the full conditions list:
Condition name (Easyship Dashboard) | Name of condition field (Easyship API) | Description |
---|---|---|
Destination country | match_country | Apply the shipping rule to orders for specified destination countries. This field operates with country identifiers that can be obtained via the Country API. |
match_all | Apply the shipping rule to all shipments. | |
Item category | match_category | Apply the shipping rule to orders including specified item categories. This field operates with category identifiers that can be obtained via the Item Category API. |
Destination state or province | match_state | Apply the shipping rule to orders for specified destination states. This option is available only for the United States, Canada, Australia and Mexico. The field operates with state identifiers that can be obtained via the State API. |
Destination postal or ZIP code | match_zipcode | Apply the shipping rule to orders for specified postal or ZIP codes. Behaviour of this condition is defined by the following operators ( operator string):is_any_of — match any of specified codesis_none_of — don’t match (exclude) specified codesstarts_with — match any codes starting with a specified symbols |
Item stock keeping unit (SKU) | match_sku | Apply the shipping rule to orders with specified stock keeping units. Behaviour of this condition is defined by the following operators ( operator string):contains — look for SKU containing specified symbolsdoes_not_contain — look for SKUs that do not contain specified symbolsis_exactly — look for SKU exactly matching specified symbols |
Store or platform | match_platform_name | Apply the shipping rule to orders placed within specified platforms. |
match_store | Apply the shipping rule to orders placed in specified stores. | |
Shipping option selected by buyer | match_buyer_selected_courier_name | Apply the shipping rule to orders containing specified buyer-selected couriers. Behaviour of this condition is defined by the following operators ( operator string):contains — look for a courier name containing specified symbolsdoes_not_contain — look for a courier name that does not contain specified symbolsis_exactly — look for a courier name exactly matching specified symbols |
Number of items | match_items_count | Apply the shipping rule to orders that contain specified number of items. Behaviour of this condition is defined by the following operators ( operator string):greater_than — greater than a specified number (> )greater_than_or_equal_to — greater than or equal to a specified number (>= )less_than — less than a specified number (\< )less_than_or_equal_to — less than or equal to a specified number (\<= )equal_to — equal to a specified number (= ) |
Total selling price | match_operation | Apply the shipping rule to orders that contain specified total selling price. Behaviour of this condition is defined by the following operators ( operator string):greater_than — greater than a specified number (> )greater_than_or_equal_to — greater than or equal to a specified number (>= )less_than — less than a specified number (\< )less_than_or_equal_to — less than or equal to a specified number (\<= )equal_to — equal to a specified number (= ) |
Total shipment weight | match_weight | Apply the shipping rule to orders that contain specified total shipment weight. The measurement system in use depends on destination country of an order. Behaviour of this condition is defined by the following operators ( operator string):greater_than — greater than a specified number (> )greater_than_or_equal_to — greater than or equal to a specified number (>= )less_than — less than a specified number (\< )less_than_or_equal_to — less than or equal to a specified number (\<= )equal_to — equal to a specified number (= ) |
Order tag | include_order_tag_name | Apply the shipping rule to orders including specified tags. The field operates with tag names that can be obtained via the Tag API. |
Once you’ve set the conditions, continue with actions.
Defining actions for a shipping rule
To apply actions for the shipping rule conditions, configure the actions
array:
Action name (Easyship Dashboard) | Name of action field (Easyship API) | Description |
---|---|---|
Exclude specified courier services | add_never_courier | Remove specified courier services from applicable shipments. This field operates with courier identifiers that can be obtained via the Courier ID. |
Prefer specified courier services | add_preferred_courier | Add specified courier services to applicable shipments. This field operates with courier identifiers that can be obtained via the [Courier ID](Courier ID). |
Set import tax and duty payor | force_incoterms | Set specified duty tax type and duty payor to all applicable shipments. Behaviour of this condition is defined by the following operators ( operator string):DDP — pre-paid tax and duties included in shipping costDDU — post-paid tax and duties included in shipping costDDU_and_Best_DDP — tree post-paid and one pre-paid shipping options offered at checkoutDDP_and_Best_DDU — one post-paid and three pre-paid shipping options offered at checkout |
Select couriers by | force_sort_by | Change the sorting rule for selection of couriers for all applicable shipments. Behaviour of this action is defined by the following operators ( operator string):total_charge — best pricedelivery_time_rank — fastest deliveryvalue_for_money_rank — best value for money |
Set insurance as | force_insurance | Always set or reject insurance for all applicable shipments. Behaviour of this action is defined by the insured boolean operator:true — insure all applicable shipmentsfalse — don’t insure all applicable shipments |
Filter couriers by tracking quality | force_tracking_rating | Filter couriers by tracking quality for all applicable shipments. Behaviour of this action is defined by the force_tracking_rating boolean operator:true — always filter couriers by tracking qualityfalse — never filter couriers by tracking quality |
Select box | force_package | Automatically select specified box by Box ID for all applicable shipments. This rule includes two options: force_box_id — select specified box identifiers with the box typeforce_flat_rate_box_id — select a specific flat rate box with an ID. For flat-rate shipping, the price is determined by the packaging rather than the weight or dimensions of an item. |
Exclude specified boxes | reject_packages | Exclude boxes by specific Box ID. |
Declare residential address | force_residential_surcharge | Always set or reject setting a shipment destination address as residential for all applicable shipments. Behaviour of this action is defined by the set_as_residential boolean operator:true — set the destination address as residential for all applicable shipmentsfalse — unset the destination address as residential for all shipments |
Ship from | force_ship_from | Set the sender’s origin address for all applicable shipments. This field operates with address identifiers that can be obtained via the Address ID. |
Include return labels (domestic) | force_automated_return_requested | Include or reject including return labels for all applicable domestic shipments. Behaviour of this action is defined by the automated_return_requested boolean operator:true — always include return labelsfalse — never include return labels |
Filter couriers by delivery time | add_forced_delivery_time | Filter available couriers by delivery time for all applicable shipments. Behaviour of this action is defined by the following operators ( operator string):less_than — less than a specified number (\< )less_than_or_equal_to — less than or equal to a specified number (\<= )greater_than_or_equal_to — greater than or equal to a specified number (>= )greater_than — greater than a specified number (> ) |
Editing a shipping rule
You can modify an existing shipping rule by executing the PATCH https://api.easyship.com/2023-01/shipping_rules/{shipping_rule_id}
request, where {shipping_rule_id}
is the shipping rule identifier provided when you create a new rule.
This method allows to change core fields, add and edit its conditions and actions, and adjust the rule to your requirements.
To edit a rule, specify the request body parameters:
- Change
name
,description
andpriority
if needed. - Change existing conditions and actions: in case you don’t specify existing conditions or actions, they will be removed from the shipping rule.
- Add new conditions or actions if applicable.
Activating and deactivating a shipping rule
Manage your shipping rules by activating and deactivating them as needed.
To activate a shipping rule, execute POST https://api.easyship.com/2023-01/shipping_rules/{id}/activate
where {id}
is the shipping rule ID provided when you create a new rule.
To deactivate a shipping rule, execute POST https://api.easyship.com/2023-01/shipping_rules/{id}/deactivate
.
Deleting a shipping rule
To delete a shipping rule, execute DELETE https://api.easyship.com/2023-01/shipping_rules/{shipping_rule_id}
where {shipping_rule_id}
is the shipping rule ID provided when you create a new rule.
To learn more about shipping rules functionality, see our Help Center article on How to Automate Tasks with Shipping Rules.
Updated 10 months ago