Profiles
Retrieving profile objects
- class ProfileMixin
This class defines all functions related to
BlueConic profiles
.- class ProfileExpandOptions(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
This enumeration defines all profile expand options.
- SEGMENTS:
Expand segment data.
- MERGE_INFO:
Expand the profiles with replaces and replaced_by data.
- TIMELINE:
Expand timeline data.
- GROUPS:
Expand group data.
- MATCHING_GROUPS:
Expand matching group data.
- get_profile(profile_id, properties=None, group_properties=None, include_timeline_events=False, timeline_events_filter=None, expand=None, pseudonymize_pii=False)
Gets the profile with the profile ID and returns it as a
BlueConic profile
.- Parameters:
profile_id (str) – ID of the profile to return
properties ([str], optional) – The profile properties to return with the profile. Leave empty for all the profile properties. Defaults to None.
group_properties ([str], optional) – The group properties to return with the profile. Leave empty for all the group properties. Defaults to None.
include_timeline_events (bool. Defaults to False.) – Add timeline events to profile
timeline_events_filter (TimelineEventsFilter, optional) – Timeline filters to limit the returned timeline events. See filtering timeline events for details.
expand (Sequence[ProfileExpandOptions], optional) – The objects to include with the retrieved profiles.
pseudonymize_pii (bool. Defaults to False.) – Pseudonymize_pii profile properties that are PII
- Raises:
HTTPError
: Request fails- Returns:
A profile with the requested properties
- Return type:
- Usage:
>>> import blueconic >>> bc = blueconic.Client() >>> profile = bc.get_profile('example_profile_id', include_timeline_events=True) >>> profile.id Example Profile id
- get_profiles(segment_id='allvisitors', start=None, count=1000, properties=None, group_properties=None, progress_bar=True, required_properties=None, filters=None, include_timeline_events=False, timeline_events_filter=None, stage_id=None, expand=None, pseudonymize_pii=False)
Gets all profiles and returns them in a generator with all
BlueConic profiles
.- Parameters:
segment_id (str) – Profiles are retrieved from the segment with this ID. If not specified the ‘allvisitors” segment is used
start (int, optional) – The profile to start from. Defaults to 0. Deprecated, doesn’t work anymore in R89.
count (int, optional) – The number of profiles to retrieve. To get all profiles in a segment, use count=0. Defaults to 1000.
properties ([str], optional) – The profile properties that should be retrieved. Leave empty to retrieve all profile properties. Defaults to None.
group_properties ([str], optional) – The group properties that should be retrieved. Leave empty to retrieve all group properties. Defaults to None.
progress_bar (bool, optional) – Enables the view of the progress bar, which shows the progress of the profile retrieval. Defaults to True.
required_properties ([str], optional) – Profile properties that should be filled. Defaults to None.
filters (Union[FilterConfig, Sequence[FilterConfig]], optional) – Property filters to limit the returned profiles. See filtering profiles for details.
include_timeline_events (bool. Defaults to False.) – Add timeline events to profile
timeline_events_filter (TimelineEventsFilter, optional) – Timeline filters to limit the returned timeline events. See filtering timeline events for details.
stage_id (str, optional) – The stage id to filter on a stage of a lifecycle
expand (Sequence[ProfileExpandOptions], optional) – The objects to include with the retrieved profiles.
pseudonymize_pii (bool. Defaults to False.) – Pseudonymize_pii profile properties that are PII
- Raises:
ValueError – If count or start is lower than 0
- Returns:
Iterator with Profiles
- Return type:
Iterator[Profile]
- Usage:
>>> import blueconic >>> bc = blueconic.Client() >>> segment_id = bc.get_blueconic_parameter_value("My segment","segment") >>> profiles = bc.get_profiles(segment_id, count=10000) >>> with bc.get_profile_bulkhandler() as bh: >>> for profile in profiles: >>> print(profile.id) >>> next_best_product_for_this_profile = calculate_next_best_product_for_this_profile() >>> profile.add_value('next_best_product', next_best_product_for_this_profile) >>> bh.write(profile)
Using profile objects
- class Profile
- __init__(profile_id=None, properties=None, segments=None, permission_level=None, privacy_legislation=None, consented_objectives=None, refused_objectives=None, timeline_events=None, replaces=None, replaced_by=None, groups=None, matching_groups=None)
This class represents a
BlueConic profile
.- Parameters:
profile_id (str) – The ID of the profile
properties ([str]) – The profile properties of this profile
segments (Sequence[str], optional) – The segments this profile occurs in at this moment. Defaults to None.
permission_level (str, optional) – The permission level of this profile. Defaults to None.
privacy_legislation (str, optional) – The privacy legislation of this profile. Defaults to None.
consented_objectives (Sequence[str], optional) – The objectives this profile consented to. Defaults to None.
refused_objectives (Sequence[str], optional,) – The objectives this profile refused. Defaults to None.
timeline_events (Iterable[TimelineEvent]) – The timeline events of this profile. Defaults to None.
replaces (Sequence[str]) – The IDs of the profiles that were replaced by this profile.
replaced_by (str) – The ID of the profile that replaces this profile.
groups (Iterable[Group]) – The groups of this profile. Defaults to None.
matching_groups (Iterable[MatchingGroup]) – The matching groups of this profile. Defaults to None.
- add_timeline_event(timeline_event)
Add a single timeline event to this profile. Deprecated in favor of ProfileOperation.add_timeline_operation().
- Parameters:
timeline_event (TimelineEvent) – The timeline event to be added to the profile.
- add_timeline_events(*timeline_events)
Add a list of timeline event to this profile.
- Parameters:
timeline_events ([TimelineEvent]) – The timeline events to be added to the profile.
- add_value(property_id, property_value)
Adds one value to the property. Keeps existing values intact.
- get_value(property_id)
Gets the first value of a property.
- get_values(property_id)
Gets all values of a property.
- set_value(property_id, property_value, set_if_empty=False)
Sets one value for this property. Removes all values that were already present.
- Parameters:
property_id (str) – The ID of the property
property_value (int or str or bool or float or datetime.datetime) – The value to set. All values are cast to a string
set_if_empty (bool, optional) – When set to False, the existing value will always be replaced with the new value. Set this parameter to True to set the new value only when there was no value yet present in the property. Defaults to False.
- Raises:
KeyError – If the ID does not refer to an existing property
- set_values(property_id, property_values, set_if_empty=False)
Sets multiple values for this property. Remove all values that were already present.
- Parameters:
property_id (str) – The ID of the property
property_values ([int or str or bool or float or datetime.datetime]) – A list of values. All values are cast to a string
set_if_empty (bool) – When set to False, the existing values will always be replaced with the new values. Set this parameter to True to set the new values only when there were no values yet present in the property. Defaults to False.
- property consented_objectives
Returns the consented objectives of this profile.
- property groups
Returns the groups of this profile.
- property id
Returns the ID of this profile.
- property matching_groups
Returns the matching groups of this profile.
- property permission_level
Returns the permission level of this profile.
- property privacy_legislation
Returns the privacy legislation of this profile.
- property properties
Returns the properties of this object.
- property property_ids
Returns the property IDs of this object.
- property refused_objectives
Returns the refused objectives of this profile.
- property replaced_by
The ID of the profile that replaces this profile.
- property replaces
The IDs of the profiles that were replaced by this profile.
- property segments
Returns the segment IDs of this profile.
- property timeline_events
Returns the timeline events of this profile.