Import or Setup Dynamic Rules Programatically

This article aims to help you set up dynamic rules with Code/Wp All Import/REST API/Any import tool.

1. Dynamic rules are posts of the post type b2bking_rule

The first step to create a rule is to create a new post of the type b2bking_rule (this is a custom post type that our plugin creates).

2. Dynamic rules are configured through their metadata

The plugin uses metadata to configure rule type, amounts, conditions, etc.

List of Meta Keys and Values #

Below you will find the main keys and possible values to configure a rule:

1)

b2bking_rule_what - this is the most important key, which controls rule type. Possible values:

  • discount_percentage
  • discount_amount
  • fixed_price
  • hidden_price
  • free_shipping
  • minimum_order
  • maximum_order
  • required_multiple
  • tax_exemption_user - this is a regular tax exemption
  • tax_exemption - this is zero tax products
  • add_tax_percentage
  • add_tax_amount

The above correspond to Discount Percentage rules, Discount Amount rules, etc.

2)

b2bking_rule_who - this controls the category of users / user that this rule applies to. Possible values:

  • everyone_registered - All registered users
  • everyone_registered_b2b - All registered b2b users
  • everyone_registered_b2c - All registered b2c users
  • user_0 - All guest users (logged out)
  • group_x - Here x is the B2B group ID such as 25,55, e.g: group_25
  • user_x - Here x is the User ID (to apply rules to a specific user)
  • multiple_options - Multiple options and a separate meta key will be configured

To set multiple options, you must set the additional meta key b2bking_rule_who_multiple_options. This key would contain the same values as above, comma separated, without spaces:

Example: user_0,user_5 - this configuration would be visible to all guest users and the logged in user with id 5

3)

b2bking_rule_applies - this controls the products / categories the rule applies to. Possible values:

  • cart_total - All products / Cart total
  • category_x - Here x is the ID of the category
  • product_x - Here x is the ID of the product or variation
  • b2bking_one_time - One time tax or fee
  • multiple_options - Multiple options and a separate meta key will be configured

To set multiple options, you must set the additional meta key b2bking_rule_applies_multiple_options. This key would contain the same values as above, comma separated, without spaces:

Example: category_5,product_2

4)

b2bking_how_much - this is the actual value of the price/discount/minimum order depending on the rule type.

Values can be numbers between 1-999999999

Other meta keys:

  • b2bking_rule_currency
  • b2bking_rule_quantity_value
  • b2bking_rule_taxname
  • b2bking_rule_discountname
  • b2bking_rule_conditions
  • b2bking_rule_discount_show_everywhere
  • b2bking_rule_requires
  • b2bking_rule_showtax

How to get full configuration details for a rule #

There are a large number of possible keys and combination / configuration options. The best way to get the precise configuration for a specific rule that you are trying to create programatically, is to first create it manually in the backend. Then you can check the meta keys and configuration in the wp_postmeta table.

Steps:

1) Create desired rule manually

Example: I configure the following rule:

I click "Publish" and then check the URL/Link. I get: http://b2bking.local/wp-admin/post.php?post=118&action=edit

This url has the number 118, which is the rule id

2) Go to the wp_postmeta table with a tool such as ARI Adminer or PHPMyAdmin and search for the rule id

Example:

I go there with ARI Adminer and search for 118 and get the full configuration:

Not all keys in the configuration are necessary for the rule. If a key is empty or comes from another rule (e.g. b2bking_rule_currency: AED in the example), then you can ignore it.

Powered by BetterDocs