Get Attributes
Description#
get_attributes()
is used to fetch experimentation and personalized experiences from Target and extract attribute values.
Method#
getAttributes
Copied to your clipboardtarget_client_instance.get_attributes(mbox_names, options)
Parameters#
Name | Type | Required | Default | Description |
---|---|---|---|---|
mbox_names | list[str] | Yes | None | A list of mbox names |
options | dict | No | None | The same options as used for Get Offers |
AttributesProvider#
The AttributesProvider
returned by target_client.get_attributes()
has the following methods:
Method | Return Type | Description |
---|---|---|
get_value(mbox_name, key) | any | Returns the value for a specified mbox name and attribute key |
as_object(mbox_name) | dict | Returns a simple json object with key value pairs |
get_response() | TargetDeliveryResponse | Returns the response object normally returned by get_offers |
Example#
Python
Copied to your clipboard1def client_ready_callback():2 context = Context(channel=ChannelType.WEB)3 mboxes = [MboxRequest(name="a1-serverside-ab", index=1)]4 execute = ExecuteRequest(mboxes=mboxes)5 delivery_request = DeliveryRequest(context=context, execute=execute)67 get_attributes_options = {8 "request": delivery_request9 }1011 attributes_provider = target_client.get_attributes(["demo-engineering-flags"], get_attributes_options)12 # returns just the value of searchProviderId from the demo-engineering-flags mbox offer13 search_provider_id = attributes_provider.get_value("demo-engineering-flags", "searchProviderId")1415 # returns a simple dict object representing the demo-engineering-flags mbox offer16 engineering_flags = attributes_provider.as_object("demo-engineering-flags")17 """ the value of engineeringFlags looks like this18 {19 "cdnHostname": "cdn.cloud.corp.net",20 "searchProviderId": 143,21 "hasLegacyAccess": false22 }23 """2425 asset_url = "http://{}/path/to/asset".format(engineering_flags.get("cdnHostname"))262728client_options = {29 "client": "acmeclient",30 "organization_id": "1234567890@AdobeOrg",31 "events": {32 "client_ready": client_ready_callback33 }34}35target_client = TargetClient.create(client_options)