Segment Targeting API




To add a segment to demand or supply targeting you have to create a segment group and add the ids of the segments to the group.

Create a Segment Group

SDK

Use tab completion with SDK to auto-complete function names or show field options!

In [1]: import springserve
 
In [2]: tag = springserve.demand_tags.get(30424)

In [3]: new_segment_group = {
            "group": "2",
            "white_list": false,
            "segment_group_type": "segments",
            "segment_ids": [11111
            ]
        }


In [4]: tag.segments_groups.append(new_segment_group)
		tag.segment_targeting_enabled = True
 
In [5]: tag.save()	
 
In [6]: tag.ok

Out [5]: True

REST API

PUT /api/v0/demand_tags/<id>

Headers

Content-Type application/json
Authorization "yourAuthToken"

Body (example)

{  
    "segment_targeting_enabled":true,
    "segment_groups": [{
            "group": "2",
            "white_list": false,
            "segment_group_type": "segments",
            "segment_ids": [
                11111,
                22222
            ]
        }]
}


Response

Status code 200

{
  "id": 316932,
  "account_id": 391,
  "name": "test_tag",
  "active": true,
  "rate": "0.01",
  …
 
  "segment_groups": [
        {
            "id": 855,
            "group": "2",
            "white_list": false,
            "segment_group_type": "segments",
            "segment_ids": [
                10009,
                10018
            ],
            "partner_segment_ids": []
        }
    ],
    "frequency_caps": []
}


Add a Segment Group

SDK

In [1]: tag = springserve.demand_tags.get(30424)
 
In [2]: tag.segment_groups.append({ 'group':0, 'whitelist':False, 'segment_group_type': 'segments', 'segment_ids': [11111]})

In [3]: changed = tag.save()
 
In [4]: changed.ok
Out [4]: True
 

Edit a Segment Group

SDK

In [1]: tag = springserve.demand_tags.get(30424)
 
In [2]: tag.segment_groups[0]['segment_ids'].append(10009)

In [3]: changed = tag.save()
 
In [4]: changed.ok
Out [4]: True