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/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.
- 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_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.
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::getReachEstimate
used 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 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.
2.6.0
This is a new major release, which diverges in behavior from the previous one.
Please review these changes:
- Deprecated the
connectionobjects
API - Deprecated
max_product_count
for DPA creatives. In order to opt-out of Carousel format, specifyforce_single_link=true
. - Deprecated
product_ad_behavior
field at the Ad Set level - For
/insights
objects thefields
parameter 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 wereAuthorizationException
may becomeRequestException
RequestException
now has a singleResponseInterface
param in constructor
2.5.2
Misc + bugfixes