Releases: facebook/facebook-python-business-sdk
Meta Business SDK v18.0
Introducing Meta Business SDK v18.0 for Python
Time flies. Today, (September 15, 2023) we’re announcing the release of Meta Business SDK v18.0 to support the [Graph API v18.0 and Marketing API v18.0]. It represents a major update which addresses numerous longstanding issues and expands support to additional features, nodes, and types. While you can find a comprehensive list of changes in our [Chagnelog], here are also following notable SDK-only updates that we believe are relevant to our developer community.
-
AdAssetFeedSpecAssetCustomizationRule and AdAssetMessageExtensions Support: Developer is able to Get a list of structuralized AdAssetFeedSpecAssetCustomizationRule and AdAssetMessageExtensions objects from AdAssetFeedSpec node.
-
AdsHistogramStats Support: Developer is able to Get a list of structuralized AdsHistogramStats objects from multiple video play related metrics.
-
BusinessImage, BusinessVideo, BusinessCreativeFolder Support: Developer is able to Post and Get these types of objects via Business node.
-
Four Instagram Nodes Support: InstagramCarousel, InstagramComment, InstagramMedia, and InstagramUser are now available for developers to work on, including all POST and GET APIs.
-
Multiple LeadGen Form Objects Support: Developer is able to work on multiple LeadGen Form related objects, including LeadGenContextCard, LeadGenCustomDisclaimer, LeadGenThankYouPage.
A full API spec change could be viewed here.
Facebook Business SDK v3.1.8 Release
- Various bug fixes
See https://developers.facebook.com/docs/business-sdk/ for more details
Facebook Business SDK v3.0.0 release
In this release we named facebook python ads sdk to facebook python business sdk.
See https://developers.facebook.com/docs/business-sdk/ for more details
Marketing API 2.10 Release
Marketing API 2.8 release
Changes in v2.8
New Features
- Instant Articles is now a separate ads placement, so that advertisers can enable or disable showing ads in Instant Articles. This new placement options is under
/ACCOUNT_ID/adsets
and/AD_SET_ID
. See Targeting Specs. If you use this placement you must also selectfeed
as a position and fordevice_platforms
selectmobile
since Instant Articles is for mobile only. - Facebook Offers is redesigned and is easier for people to save and redeem your offer from any device. If they don't use your offer, they'll get notifications about it before it expires. To use the API to create offers:
- Use
/nativeoffers
as an endpoint. The endpoint/offers
is associated with the old product and has been deprecated. - Use
offer_id
in thepromoted_object
for an ad set. - To learn more see Offer Ads and Page Native Offers.
Breaking Changes
** Please Review These Changes
Ads Management
- As of 2.8, Website Custom Audiences now only allow at most 200 comparisons in the rule. The number of comparisons are the number of comparison operators in the rule.
- The
place_page_set_id
field under Ad creative is now optional for versions v2.7 and v2.6
and has been deprecated in v2.8. See Ad Creative. offer_data
underlink_data
for an ad object has been deprecated.- The ad account group endpoints
AdAccountGroup
have been deprecated. To manage Ad Accounts, you should use Business Manager or Business Manager API withbusiness_management
extended permission. - The edge
AD_ACCOUNT/audiences
has been deprecated. - The
ad_object_by_url
field for/search
in Ad Targeting Search has been deprecated. - The fields
actor_id
,actor_image_hash
,actor_image_url
, andactor_name
have been deprecated from ad creative GET.
Ads Insights
- We deprecated the redundant fields and parameters in
/insights
endpoint.
In earlier releases it supported the params:fields,summary
,default_summary
,filtering
andsort
. However/insights
should always exactly return what you queried in the POST requests. - In earlier releases we will display all valid fields for
/insights
if you provided an invalid field as a parameter. We now send an the error message which points to a list of valid fields. - In the past we inconsistently returned
/insights
fields in a variety of types: some fields werestring
such asimpressions
, some werenumericstring
, and some werefloat
. We now return all numeric fields, includingfloat
asnumericstring
. All floating point numbers will maintain six precision points. - The insights metric
post_like
in theactions
field is now namedpost_reaction
, see Ads Action Stats. This is more consistent with naming in user interfaces.
Business Manager
The owner_business
field has been deprecated and no longer exists for objects connected to a business, including Ad accounts, Ad Campaign, Product Catalog, and Instagram User.
Marketing API 2.7 release
This is a new major release, which diverges in behavior from the previous one.
Please review these changes:
- New Daily Budget Limits: We changed the logic around ads delivery which impacts the interpretation of the daily ad budget limits. Starting from v2.7, you may be charged up to 125% of your daily budget. For example, if your daily budget is $10, you may be charged up to $12.50. However, your weekly spend will NOT exceed 7 times the daily amount, or $70 in this example. We will prorate this for partial weeks. More details Ad Set Budget.
- Lifetime Budgets and New Daily Budgets: Also, starting with v2.7, you can no longer edit ad sets created with the new daily budget controls to use lifetime budgets. Similarly you can no longer edit lifetime budgets to use the new daily budget controls.
- Ad Placements Update: We have improvements to our design of
placement
, so that advertisers can more easily identify and select placement options that will serve them best. Instead of having platform as the only dimension, advertisers can select placements across different dimensions, such as device type includingdesktop
ormobile
, publisher such asfacebook
,instagram
, oraudience_network
, and placements of each publisher. Only Facebook has multiple placements currently. The fieldpage_types
will still be included in read results, but cannot be used to create or update placements in v2.7. More details in Targeting Spec. - Insights Placement Updates: As a related change, on the
/insights
endpoints, we’ll introduce two new breakdowns options:publisher_platform
andplatform_position
. Along with the existingimpression_device
breakdown, you can get performance metrics with these placement dimensions. See Insights Breakdowns for more details. - Ad Creative Update: With 2.7
object_story_id
will benull
for an ad creative created with anobject_story_spec
. Theeffective_object_story_id
will always be theobject_story_id
regardless ofobject_story_spec
. More details in Ad Creative. - Insights Integer Field: For Insights API, integer values were too big and overflowed with int32. We changed all int32 field values into numeric strings to keep consistent with other Marketing API fields with currency values. For v2.7 onward, numeric values in int32 will be quoted in responses. For v2.5 for backwards compatibility, numeric values in int32 will be shown as a number. More details in Ads Insights.
Release to sync the lastest changes on pypi
- Allowing version to be passed in api call
- Fixes to objects for batch call
Setup updated with other helper modules
- Setup.py is the file which installs facebookads packages. Adding adobjects.helpers module to this.
- Abstract crud updated for api instance to flow
Setup file updated to contain adobjects module
- Setup.py is the file which installs facebookads packages. Adding adobjects module to this.
- api.py method open_files updated to be compatible with PY 2.6
Releasing the Python SDK for V2.6 of our Marketing API
- The new SDK is an improved SDK version, autogenerated using our Marketing API. Hence there is greater coverage to features provided by our API.
- The adobjects folder contains separate classes for every ad object and possible CRUD operation on these objects can be based on the presence/absence of api_create, api_get, api_update and api_delete methods.
- This SDK also contains all the breaking changes for v2.6 API version and is compatible with the manual (legacy) SDK. The legacy branch contains the v2.6 version of the manual SDK. We will continue to maintain it till v2.7 is released.
- The objects.py file is maintained only for compatibility to existing code, it is advisable to start using the individual files under the adobjects folder directly.