Skip to content

Releases: facebook/facebook-python-business-sdk

Hourly Insights

27 May 16:50
Compare
Choose a tag to compare
  • We added hourly stats to insights.
  • Improved error message display slightly
  • Bug fixes

Bug fixes!

18 May 21:12
Compare
Choose a tag to compare
  • Added call_to_action_clicks to insights
  • build_objects_from_response now checks if the data object in the response is a list
  • Added RateCard subclass to AdAccount
  • app_id and app_secret are no longer required in FacebookAdsApi.init
  • lifetime_impressions added to AdSet
  • creative_sequence now supported
  • get_ad_conversion_pixels added for AdAccount

Pypi fix

25 Mar 22:20
Compare
Choose a tag to compare
  • This release fixes an issue where 2.3.0 could not be pulled from pypi

Facebook Marketing API 2.3

25 Mar 22:00
Compare
Choose a tag to compare
  • Video chunk uploader is now available
  • New insights object is available in the SDK
  • Fixed uploading zip files
  • Added remote_save to the SDK (deprecated save, to be removed next major release)
  • Added is_autobid to AdSet

Fixed instantiation of Lookalike Audience

11 Mar 17:41
Compare
Choose a tag to compare
  • Fixed instantiation of Lookalike Audience object
  • Added test ensuring all ACO objects can have the ID field

Fixed DPA Objects

03 Mar 01:37
Compare
Choose a tag to compare

Fixed a few minor issues with new DPA Objects

  • id field missing in ProductAudience
  • Fixed add_user/remove_user calls in ProductCatalog

DPA and Business Manager

17 Feb 17:53
Compare
Choose a tag to compare
  • Added Business object
  • Added DPA objects
  • Added rf_prediction_id to AdSet
  • Objects that can archive will POST status as delete instead of issuing a DELETE request

Adding more tests, new product features

24 Jan 00:24
Compare
Choose a tag to compare
  • Added more integration tests
  • Delete remote objects after tests run
  • Fixed get_ad_images() failing
  • Added CanValidate mixin for remote_validate() feature
  • Fix printing nested AbstractObjects

Stability and cleanup

12 Dec 19:09
Compare
Choose a tag to compare
  • Added thumbnail_url to AdCreative object
  • Added AutoComplete object
  • Added get_by_ids() method e.g. AdSet.get_by_ids(ids=[123123,123123])
  • Added the ability to define default account ID e.g. FacebookAdsApi.set_default_account_id('act_123123')
  • Python 3 and 2.6 dict comprehension compatibility (thanks @agriffis!)
  • Failing tests fixed
  • Fixed bug with ABSOLUTE_OCPM not supplying API with allcaps (as speced)

Bumped version to 2.2.2

21 Nov 16:40
Compare
Choose a tag to compare
  • Calling del object['key'] will correctly update the change history, thus removing the key as a parameter in API request.
  • CanArchive mixin has been added which allows campaigns, ad sets, and ad groups to be archived by calling remote_archive()
  • Error handling has been much improved
try:
    account = AdAccount('invalid-account-id')
    account.remote_read()
except FacebookRequestError, e:
    print e.api_error_message()
    print e.api_error_code()

Check the exceptions.FacebookRequestError object for more method calls!

  • Fixed activities endpoints.
  • You can now reference EdgeIterator objects as if they're arrays:
adgroups = account.get_ad_groups() # returns EdgeIterator object
print adgroups[0]
print adgroups[1]
  • Calling remote_update() will now return a correctly updated object without having to call remote_read() again. Note: This is optimistic-- we do not re-fetch the data.
adgroup = AdGroup(123123)
adgroup.remote_read(fields=['name'])
print adgroup['name'] # Outputs "Hello World"
adgroup['name'] = 'Changed Name'
print adgroup.remote_update()

Output:
<AdGroup> {
    "name": "Changed Name"
}
  • CustomAudience fields are now all defined
  • Examples for CustomAudience have been added.