Releases: facebook/facebook-php-business-sdk
Releases · facebook/facebook-php-business-sdk
Release Facebook Business PHP SDK v3.0.0
Marketing API 2.10 Release
v2.9.2
2.8.1
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/adsetsand/AD_SET_ID. See Targeting Specs. If you use this placement you must also selectfeedas a position and fordevice_platformsselectmobilesince 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
/nativeoffersas an endpoint. The endpoint/offersis associated with the old product and has been deprecated. - Use
offer_idin thepromoted_objectfor an ad set. - To learn more see Offer Ads and Page Native Offers.
- Use
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_idfield under Ad creative is now optional for versions v2.7 and v2.6
and has been deprecated in v2.8. See Ad Creative. offer_dataunderlink_datafor an ad object has been deprecated.- The ad account group endpoints
AdAccountGrouphave been deprecated. To manage Ad Accounts, you should use Business Manager or Business Manager API withbusiness_managementextended permission. - The edge
AD_ACCOUNT/audienceshas been deprecated. - The
ad_object_by_urlfield for/searchin Ad Targeting Search has been deprecated. - The fields
actor_id,actor_image_hash,actor_image_url, andactor_namehave been deprecated from ad creative GET.
Ads Insights
- We deprecated the redundant fields and parameters in
/insightsendpoint.
In earlier releases it supported the params:fields,summary,default_summary,filteringandsort. However/insightsshould always exactly return what you queried in the POST requests. - In earlier releases we will display all valid fields for
/insightsif 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
/insightsfields in a variety of types: some fields werestringsuch asimpressions, some werenumericstring, and some werefloat. We now return all numeric fields, includingfloatasnumericstring. All floating point numbers will maintain six precision points. - The insights metric
post_likein theactionsfield 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.
2.7.1
This is a new major release, which diverges in behavior from the previous one.
Please review these changes:
- Edges from an object now return a Cursor: To equalize the behavior of edges, now all edges from an object return a
Cursor. In the past there were exceptions to this rule, e.g.:AdAccount::getReachEstimateused to return aReachEstimate. - 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 includingdesktopormobile, publisher such asfacebook,instagram, oraudience_network, and placements of each publisher. Only Facebook has multiple placements currently. The fieldpage_typeswill 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
/insightsendpoints, we’ll introduce two new breakdowns options:publisher_platformandplatform_position. Along with the existingimpression_devicebreakdown, you can get performance metrics with these placement dimensions. See Insights Breakdowns for more details. - Ad Creative Update: With 2.7
object_story_idwill benullfor an ad creative created with anobject_story_spec. Theeffective_object_story_idwill always be theobject_story_idregardless 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.
2.6.0
This is a new major release, which diverges in behavior from the previous one.
Please review these changes:
- Deprecated the
connectionobjectsAPI - Deprecated
max_product_countfor DPA creatives. In order to opt-out of Carousel format, specifyforce_single_link=true. - Deprecated
product_ad_behaviorfield at the Ad Set level - For
/insightsobjects thefieldsparameter no longer accepts breakdowns. Now you should specified this in 'breakdowns' parameter in query. This includes:age,country,gender,frequency_value,hourly_stats_aggregated_by_advertiser_time_zone,hourly_stats_aggregated_by_audience_time_zone,impression_device,place_page_id,placement,product_id, andregion - Reduced scope of
AuthorizationException, it should only throw now for errors that have to do with Authorization. Some errors that previously wereAuthorizationExceptionmay becomeRequestException RequestExceptionnow has a singleResponseInterfaceparam in constructor
2.5.2
Misc + bugfixes