class Bluekai::Rule

Public Instance Methods

rule_create(body) click to toggle source

Public: Creates a new self-classification rule

name:string - Enter a string specifying the name of the self-classification rule.

type:string - {‘phint’, ‘url’} Specify the type of classification rule.

phints: - If you are creating a phint-based rule,

enter a list of your phint definitions.
Each phint requires the following properties:
key - The phint key operator - The criteria
used for determining how the phint value
is applied ('is' or 'contains')
value - The full or partial phint value,
depending on the specified operator.

urls: - Provide a list of your URL definitions

if you are creating for URL-based rules.

referrer:string - {‘True’,‘False’} If you are creating a

URL-based rule, specify whether the URL to
be classified is the site URL (False) or
the referrer URL (True).

exact:string - {‘True’,‘False’} If you are creating a

URL-based rule, specify whether the URL collected
from your site must match the URL in your
rule (True) or match a top-level URL (False) so
that you can target users visiting the child pages
without specifying them.

partner_id:integer - Enter the unique ID assigned to your BlueKai DMP seat.

site_ids (optional): - Enter a list of containers/site IDs to which

the self-classification rule applies. If
you do not include this parameter, the
rule is applicable to ALL the
container/site IDs in your seat.

category_ids: - a list of category IDs to which

the self-classification rule applies.

JSON example for Phint-based self-classification rule { “name”: “Phint Example”, “type”: “phint”, “phints”: [ { “key”: “x”, “value”: “123”, “operator”: “is” } ], “partner_id”: 123, “site_ids”: [1234], “category_ids”: [12345] }

JSON example for URL-based self-classiifcation rule { “name”: “URL Example”, “type”: “url”, “urls”: [“shop.yoursite.com”], “referrer”: false, “exact”: false, “partner_id”: 123, “site_ids”: [1234], “category_ids”: [123456] } Returns: hash of created self-classification rule

# File lib/bluekai/rule.rb, line 148
def rule_create(body)
  body = { partner_id: @partner_id }.merge(body)
  request('POST', '/Services/WS/classificationRules', {}, body)
end
rule_delete(rule_id) click to toggle source

Public: Deletes a self-classification rule

rule_id:integer (MANDATORY) - id of classification rule to be deleted

Returns: ‘200’ if rule could be deleted

# File lib/bluekai/rule.rb, line 170
def rule_delete(rule_id)
  request('DELETE', "/Services/WS/classificationRules/#{rule_id}", {})
end
rule_list(query) click to toggle source

Public: List the self-classification rules in your private taxonomy

sort_by:string - Enter ‘status’, ‘id’, ‘created_at’, ‘updated_at’,

or 'type' to sort the returned self-classification
rules by the specified option.

sorting_order:string - Enter ‘asc’ or ‘desc’ to list the returned

self-classification rules in ascending or descending
order based on the specified sort option.

ids:integer - Returns the self-classification rule matching the specified

rule ID, or returns all the self-classification rules matching
the specified list of rule IDs. Syntax for passing multiple rule IDs:
ruleId1&id=ruleId2 Example: 123&id=125

type:enum - Enter ‘phint’ or ‘url’ to return only the phint or

URL-based self-classification rules.

site_ids:string - Returns all the self-classification rules under the

specified site ID or list of site IDs. Syntax for
passing multiple site IDs: site_id_1&site_ids=site_id_2
Example: 1234&site_ids=1235

category_ids:string - Returns all the self-classification rules used

to map the specified catgeory ID or list of category IDs.
Syntax for passing multiple category
IDs: category_id_1&category_ids=category_id_2
Example: 1234&category_ids=1235

offset:integer - Specify the starting index from which to return the

self-classification rules.

size:integer - Specify the maximum number of rules to be included in

the response. This filter requires the offset filter
to be specified.

created_date_range:string - Returns all the self-classification rules

created within the specified list of dates.
Syntax: YYYY-MM-DD&created_date_range=YYYY-MM-DD
Example: 2014-01-01&created_date_range=2014-31-01

updated_date_range:string - Returns all the self-classification rules updated

within the specified list of dates.
Syntax: YYYY-MM-DD&updated_date_range=YYYY-MM-DD
Example: 2014-01-01&updated_date_range=2014-31-01

status:string - Enter ‘Active’ or ‘Creating’ to return the

self-classification rules based on the specified status referrer
boolean  Returns all URL-based self-classification rules that
classify the site URL (False) or the referrer URL (True) in
the collected URL.

exact:boolean - Returns all URL-based self-classification rules that classify

an exact URL (True) or a top-level URL (False) in the collected URL.

Returns: hash of Bluekai rules

# File lib/bluekai/rule.rb, line 65
def rule_list(query)
  request('GET', '/Services/WS/classificationRules', query)[:rules]
end
rule_read(rule_id) click to toggle source

Public: Reads a self-classification rule

rule_id:integer - The unique ID assigned to the self-classification rule to be retrieved

Returns: hash of Blukkai rule parameters

# File lib/bluekai/rule.rb, line 75
def rule_read(rule_id)
  request('GET', "/Services/WS/classificationRules/#{rule_id}", {})
end
rule_update(rule_id, body) click to toggle source

Public: Update a self-classification rule

rule_id:integer (MANDATORY) - id of classification rule to be updated

for other parameters refer to documentation of rule_create(body)

Returns: hash of updated self-classification rule

# File lib/bluekai/rule.rb, line 160
def rule_update(rule_id, body)
  body = { partner_id: @partner_id }.merge(body)
  request('PUT', "/Services/WS/classificationRules/#{rule_id}", {}, body)
end