Released November 7, 2017 | Available Until Aug 7, 2018 | Blog Post
We now have a new relationship which represents clients and agencies. In the past we also had no user; we handled all access and invitations to a business and it's assets through bid/userpermissions which caused performance issues. Highlights of the new API include:
To access users on business:
BUSINESS_ID/business_usersBUSINESS_ID/system_usersBUSINESS_ID/pending_usersTo access assets assigned to users:
BUSINESS_USER_ID/assigned_pagesBUSINESS_USER_ID/assigned_ad_accountsBUSINESS_USER_ID/assigned_product_catalogsSYSTEM_USER_ID/assigned_pagesSYSTEM_USER_ID/assigned_ad_accountsSYSTEM_USER_ID/assigned_product_catalogsPENDING_USER_ID/assigned_pagesPENDING_USER_ID/assigned_ad_accountsPENDING_USER_ID/assigned_product_catalogsTo access business pages:
BUSINESS_ID/owned_pages - To get a list of Pages the business ownsBUSINESS_ID/client_pages - To get a list of Pages of the clients of the businessBUSINESS_ID/pending_owned_pages - To get a list of Pages the business owns that are pending approval BUSINESS_ID/pending_client_pages - To get a list of Pages belonging to clients of a business that are pending approvalTo access business ad accounts:
BUSINESS_ID/owned_ad_accounts - To get a list of ad accounts the business ownsBUSINESS_ID/client_ad_accounts - To get a list of ad accounts of the clients of the businessBUSINESS_ID/pending_owned_ad_accounts - To get a list of ad accounts the business owns that are pending approval BUSINESS_ID/pending_client_ad_accounts - To get a list of ad accounts of the clients of the business that are pending approvalTo access business product catalogs
BUSINESS_ID/owned_product_catalogs - To get a list of product catalogs the business ownsBUSINESS_ID/client_product_catalogs - To get a list of product catalogs belonging to clients of the businessTo access business apps:
BUSINESS_ID/owned_apps - To get a list of apps the business ownsBUSINESS_ID/client_apps - To get a list of apps of the clients of the businessBUSINESS_ID/pending_client_apps - To get a list of apps belonging to clients of a business that are pending approvalFor more information, see Business Manager, API, Business Manager, System User, Business Asset Management API, and Business Manager API, Best Practices.
You can now create a carousel ad with an attachment that shows a real-time location. Added the options type=REALTIME and location_source_id = PAGE_ID in place_data for AD_CREATIVE_ID/object_story_spec. This is available at object_story_spec field in:
POST /AD_ACCOUNT_ID/adcreativesGET CREATIVE_IDYou can now target geographic areas beyond a radius around a store location. We added geo_locations parameter in the targeting_specs field when you create an ad set with store visits as your objective. Under limited availability, see your Facebook Representative to access. See Store Visits Objective
POST AD_ACCOUNT_ID/adsets has the new option.country_groups and targeting the travel_in location type.STORE_VISITS objective available on a limited basis, see Store VisitsThis reflects the type of destination an ad links to; in other words, where someone goes when they click on an ad or call-to-action in an ad. This provides a consistent destination type for all ads in an ad set, so that ads only contain different types of ad creative. See Ad Set, Destination Type.
destination_type for ad sets/ADSET_IDAdded the new field kpi_type to AD_ACCOUNT_ID/CAMPAIGN_ID which describes the type of key performance indicator you want to track for the campaign or ad objects in the campaign. For see insights data by kpi_type in kpi_results make these calls:
GET CAMPAIGN_ID/insightsGET ADSET_ID/insightsGET AD_ID/insightsFor more information, see Ad Campaign, Reference.
Invalidate ads targeting right_hand_column - Ads targeting this position with invalid creatives for right_hand_column on AD_ACCOUNT_ID/adsets returns an error. We do not allow right_hand_column-only placement with video, collection, or canvas ads format. For right_hand_column-only placement, you can only use single-image and carousel formats.
Changed GET VERSION/RF_PREDICTION_ID/pause_periods - To return Array now, not String to enable easier handling.
Renamed fields — The admin_system_user field has been renamed to admin, and the system_user field has been renamed to employee. This affects the following edges:
/{business-id}/userpermissions/{business-id}/system_usersDeprecated optimizations for VIDEO_VIEWS - Campaigns with the VIDEO_VIEWS objective can no longer use CLICKS, IMPRESSIONS, PAGE_ENGAGEMENT, POST_ENGAGEMENT, or REACH as optimization goals:
REACH optimization goal, automatically converts to the VIDEO_VIEWS optimization goal.CLICKS, IMPRESSIONS, PAGE_ENGAGEMENT, or POST_ENGAGEMENT as the optimization goal returns an error. This is because creating or duplicating an ad in an existing ad set tries to reuse any of these optimization goals.Edges impacted by this change:
POST ACCOUNT_ID/adsetsPOST AD_ACCOUNT_ID/adsPOST CAMPAIGN_ID/copiesPOST ADSET_ID/copiesPOST AD_ID/copiesDeprecated reach - As a optimization_goal for the brand awareness objective. Removed for or /adset; it is available for ad recall optimization only. This avoids confusion for anyone using reach as a dedicated objective.
Deprecated the optimization BRAND_AWARENESS - Replaced by AD_RECALL_LIFT. This reflects a new, more efficient, ads delivery model. The new optimization goal supports mixed creative, such as static and video ads in the same ad set and manual bidding. BRAND_AWARENESS is no longer available at:
POST /ADSET_IDGET /ADSET_IDPOST /AD_ACCOUNT_ID/adsetsDeprecated frequency_cap - Including lifetime_frequency_cap and frequency_cap_reset_period fields on:
POST AD_ACCOUNT_ID/adsetsGET /ADSET_IDPOST /ADSET_IDUse frequency_control_specs instead.
Deprecated cost-per-action POST_ENGAGEMENT - You can no longer use POST_ENGAGEMENT as a billing_event for this objective. This better aligns ads delivery and measurement. This impacts the endpoint: /AD_SET_ID.
Deprecated video_15_sec_watched_actions on:
GET AD_ACCOUNT_ID/insightsGET CAMPAIGN_ID/insightsGET ADSET_ID/insightsGET AD_ID/insightsPOST AD_ACCOUNT_ID/insightsPOST CAMPAIGN_ID/insightsPOST ADSET_ID/insightsPOST AD_ID/insightsDeprecated recurrence_value - From Advanced Measurement API. The field was also known under Atlas API as report schedule. We replaced it with recurrence_values. See Advanced Measurement, Report Schedules.
Deprecated endpoints for the redesign of Business Manager API:
BUSINESS_ID/userpermissionsBUSINESS_ID/business_personabusiness_persona_idDeprecated endpoints for managing your assets:
BUSINESS_ID/pagesBUSINESS_ID/adaccountsBUSINESS_ID/product_catalogsBUSINESS_ID/appsTo access assets, use BUSINESS_ID/owned_ASSET or BUSINESS_ID/client_ASSET
Deprecated endpoints for managing assets belonging to another business:
BUSINESS_ID/assigned_ad_accountsBUSINESS_ID/assigned_pagesBUSINESS_ID/assigned_product_catalogsInstead, use BUSINESS_USER_ID/assigned_ASSET
These deprecations affect all API versions and will take effect on November 14, 2017.
Deprecated creating and editing Event Ads or Link Ads that are not connected to a valid page. The following format is no longer valid and returns an error.
Signatures that are being deprecated:
EVENT_RESPONSESbody, object_idLINK_CLICKStitle, body, object_url (image_file or image_hash)Supported signatures
EVENT_RESPONSESobject_story_id or object_story_specLINK_CLICKSobject_story_id or object_story_specExisting Event and Link Ads that you created earlier continue to run, but you can't modify the ad's creative or create new ads once this change goes in effect otherwise you receive errors. See Event and Local Ads and Ad, Reference.