Skip to content

Latest commit

 

History

History
151 lines (97 loc) · 3.97 KB

audiences.rst

File metadata and controls

151 lines (97 loc) · 3.97 KB

Audiences

https://dtrnk0o2zy01c.cloudfront.net/openapi/en-us/dest/Audiences_prod_3p.json.

Audience Discovery API

ad_api.api.Audiences

ad_api.api.Audiences.list_audiences_taxonomy

### Example python

import logging
from ad_api.api import Audiences
from ad_api.base import AdvertisingApiException, Utils

logging.basicConfig(
    level=logging.INFO,
    format="%(asctime)s:%(levelname)s:%(message)s"
)


def list_audiences_taxonomy(data: (str, dict)):
    try:

        result = Audiences(debug=True).list_audiences_taxonomy(
            body=data
        )

        logging.info(result)

    except AdvertisingApiException as error:
        logging.info(error)


if __name__ == '__main__':

    category_path = "Lifestyle" # In-market

    request = \
        {
            "adType": "SD",
            "categoryPath": [
                category_path
            ]
        }

    list_audiences_taxonomy(request)

### Example query_taxonomy.json

../../test/audiences/query_taxonomy.json

Download json <../../test/audiences/query_taxonomy.json> the file to use

# Result using the request query above

../../test/audiences/result_query_taxonomy.json

ad_api.api.Audiences.list_audiences

### Example python

import logging
from ad_api.api import Audiences
from ad_api.base import AdvertisingApiException

logging.basicConfig(
    level=logging.INFO,
    format="%(asctime)s:%(levelname)s:%(message)s"
)


def list_audiences(**kwargs):
    try:

        result = Audiences(debug=True).list_audiences(
            **kwargs
        )

        logging.info(result)
        print (result.payload)

    except AdvertisingApiException as error:
        logging.info(error)


if __name__ == '__main__':

    audience_name = "Automotive Ownership"

    request = \
        {
            "adType": "SD",
            "filters": [
                {
                    "field": "audienceName",
                    "values": [
                        audience_name
                    ]
                }
            ]
        }

    list_audiences(body=request, maxResults=2)

# Result using the request query above

../../test/audiences/result_query_general.json

Note

If you do not provide any filter it will return all the audiences

### Example python retrieving all the audiences with Utils a decorator in sets of 20 with a delay of 5 seconds betwwen query

import logging
from ad_api.api import Audiences
from ad_api.base import AdvertisingApiException, Utils

@Utils.load_all_categories(throttle_by_seconds=5, next_token_param="nextToken")
def get_all_categories(**kwargs):
    return Audiences(debug=True).list_audiences(**kwargs)

if __name__ == '__main__':

    request = \
        {
            "adType": "SD",
        }

    for page in get_all_categories(maxResults=20,body=request):
        result = page.payload
        audiences = result.get("audiences")
        for audience in audiences:
            logging.info(audience)

### Example query_general.json

../../test/audiences/query_general.json