facebook api之Business Manager API

时间:2022-01-13 05:42:41
  • Business-scoped Users - The new user is tied to a particular business and has permissions scoped to this business. Users can manage their profile, permissions, and asset access that is associated with that business.
  • Invitations - Invite people to access a business through new endpoints. Check and update the status of user invitations at these endpoints.
  • Asset Categories - Split different types of assets into categories and provide separate endpoints for each category. This makes it easier to paginate results when you read assets. It also reduce performance issues if you manage thousands of assets for a business. For the redesign we added several new endpoints.

To access users on business:

  • BUSINESS_ID/business_users
  • BUSINESS_ID/system_users
  • BUSINESS_ID/pending_users

To access assets assigned to users:

  • BUSINESS_USER_ID/assigned_pages
  • BUSINESS_USER_ID/assigned_ad_accounts
  • BUSINESS_USER_ID/assigned_product_catalogs
  • SYSTEM_USER_ID/assigned_pages
  • SYSTEM_USER_ID/assigned_ad_accounts
  • SYSTEM_USER_ID/assigned_product_catalogs
  • PENDING_USER_ID/assigned_pages
  • PENDING_USER_ID/assigned_ad_accounts
  • PENDING_USER_ID/assigned_product_catalogs

To access business pages:

  • BUSINESS_ID/owned_pages - To get a list of Pages the business owns
  • BUSINESS_ID/client_pages - To get a list of Pages of the clients of the business
  • BUSINESS_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 approval

To access business ad accounts:

  • BUSINESS_ID/owned_ad_accounts - To get a list of ad accounts the business owns
  • BUSINESS_ID/client_ad_accounts - To get a list of ad accounts of the clients of the business
  • BUSINESS_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 approval

To access business product catalogs

  • BUSINESS_ID/owned_product_catalogs - To get a list of product catalogs the business owns
  • BUSINESS_ID/client_product_catalogs - To get a list of product catalogs belonging to clients of the business

To access business apps:

  • BUSINESS_ID/owned_apps - To get a list of apps the business owns
  • BUSINESS_ID/client_apps - To get a list of apps of the clients of the business
  • BUSINESS_ID/pending_client_apps - To get a list of apps belonging to clients of a business that are pending approval

For more information, see Business Manager, APIBusiness Manager, System UserBusiness Asset Management API, and Business Manager API, Best Practices.

#To view properties for a business, use its ID:
curl "https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>?access_token=<ACCESS_TOKEN>" #You can also see a list of the business managers you can access:
curl "https://graph.facebook.com/<API_VERSION>/me/businesses?access_token=<ACCESS_TOKEN>" # To get all business users:
curl "https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/business_users?access_token=<ACCESS_TOKEN>" #To get system users, with system-level access:
curl "https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/system_users?access_token=<ACCESS_TOKEN>" #To get pending users who are invited to access a business, but who have not yet accepted:
curl "https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/pending_users?access_token=<ACCESS_TOKEN>" #To change an active user's role on your Business provide the User ID for the user. For example you can upgrade an Employee to the Admin role, with this POST request: curl \
-F "role=ADMIN" \
-F "access_token=<ACCESS_TOKEN>" \
"https://graph.facebook.com/<API_VERSION>/<BUSINESS_SCOPED_USER_ID>" #To remove an active user from your business make a DELETE call:
curl \
-X DELETE \
-F "access_token=<ACCESS_TOKEN>" \
"https://graph.facebook.com/<API_VERSION>/<BUSINESS_SCOPED_USER_ID>" #To cancel a pending user with a DELETE request:
curl \
-X DELETE \
-F "access_token=<ACCESS_TOKEN>" \
"https://graph.facebook.com/<API_VERSION>/<PENDING_USER_ID>"

more detail………………

Connection Objects

are the Facebook objects (for example, pages, apps, and so on) that an administrator manages. An administrator can be a user or business, or in the case of apps, a developer or advertiser. The types of connection objects are:

  • Pages and Places
  • Events
  • Apps
  • Domains
#To get all personas associated with a specific Business Manager, make a GET:
curl -G \
-d "access_token=<ACCESS_TOKEN>"\
-d "fields=business_persona"\
"https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/userpermissions" #To get a persona connected with your user account by your user access token, on a specific business manager, make this GET call:
curl -G \
-d "access_token=<ACCESS_TOKEN>"\
"https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/business_persona" #You may modify first_name, last_name , email with this POST request:
curl \
-F "first_name=Teddy" \
-F "last_name=Bear" \
-F "email=some@email.com" \
-F "access_token=<ACCESS_TOKEN>" \
"https://graph.facebook.com/<API_VERSION>/<BUSINESS_PERSONA_ID>"

more detail………………  

Projects

Organize your business assets such as ad accounts, Pages, apps, into logical groups. Projects help you navigate your business hierarchy more easily. You can use them across agency and client owned assets. You can only have one label per asset.

#To create a business project you must specify the name in a POST request.
curl \
-F "name=Test label" \
-F "access_token=<ACCESS_TOKEN>" \
"https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/businessprojects" #You can view all the labels under the business account with a GET request:
curl -G \
-d "access_token=<ACCESS_TOKEN>" \
"https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/businessprojects" #You can view the details of a project by making this GET call:
curl -G \
-d "access_token=<ACCESS_TOKEN>" \
"https://graph.facebook.com/<API_VERSION>/<PROJECT_ID>" #You can delete a project by making this DELETE call:
curl -X DELETE \
-F "access_token=<ACCESS_TOKEN>" \
"https://graph.facebook.com/<API_VERSION>/<PROJECT_ID>" #You can add a Page to a project by making following POST call:
curl \
-F "page_id=<PAGE_ID>" \
-F "access_token=<ACCESS_TOKEN>" \
"https://graph.facebook.com/<API_VERSION>/<PROJECT_ID>/pages" #You can view all the Pages under a project by making following GET call:
curl -G \
-d "access_token=<ACCESS_TOKEN>" \
"https://graph.facebook.com/<API_VERSION>/<PROJECT_ID>/pages" #You can remove a Page from a project by making following DELETE call:
curl -X DELETE \
-F "page_id=<PAGE_ID>" \
-F "access_token=<ACCESS_TOKEN>" \
"https://graph.facebook.com/<API_VERSION>/<PROJECT_ID>/pages" #You can add an ad account to a project by making following POST call:
curl \
-F "adaccount_id=act_<ADACCOUNT_ID>" \
-F "access_token=<ACCESS_TOKEN>" \
"https://graph.facebook.com/<API_VERSION>/<PROJECT_ID>/adaccounts" #You can view all the ad accounts under a project by making following GET call:
curl -G \
-d "access_token=<ACCESS_TOKEN>" \
"https://graph.facebook.com/<API_VERSION>/<PROJECT_ID>/adaccounts" #You can remove an ad account from a project by making following DELETE call:
curl -X DELETE \
-F "adaccount_id=act_<AD_ACCOUNT_ID>" \
-F "access_token=<ACCESS_TOKEN>" \
"https://graph.facebook.com/<API_VERSION>/<PROJECT_ID>/adaccounts" #You can add an app to a project by making following POST call:
curl \
-F "app_id=<PAGE_ID>" \
-F "access_token=<ACCESS_TOKEN>" \
"https://graph.facebook.com/<API_VERSION>/<PROJECT_ID>/apps" #You can view all the apps under a project by making following GET call:
curl -G \
-d "access_token=<ACCESS_TOKEN>" \
"https://graph.facebook.com/<API_VERSION>/<PROJECT_ID>/apps" #You can remove an app from a project by making following DELETE call:
curl -X DELETE \
-F "app_id=<PAGE_ID>" \
-F "access_token=<ACCESS_TOKEN>" \
"https://graph.facebook.com/<API_VERSION>/<PROJECT_ID>/apps"

more detail………………

Invoicing

Business Manager API enables you to view and manage credit sources associated with a business.

#Month-End Invoicing
# For system users, you need to assign permissions with an API call:
curl "https://www.graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/finance_permissions?user=<USER_ID>&finance_permission=<FINANCE_ROLE>" #To retrieve invoices under this business account, send a GET request:
curl -G \
-d "access_token=<ACCESS_TOKEN>" \
"https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/?fields=business_invoices&start_date=2017-01-01&end_date=2017-04-01" #You can get invoice details at a campaign level with this request:
curl -G \
-d "access_token=<ACCESS_TOKEN>" \
"https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/?fields=business_invoices{billed_amount_details,billing_period,entity,id,invoice_id,payment_term,type,campaigns}&start_date=2017-01-01&end_date=2017-04-01"

more detail………………

  

You can also retrieve the additional invoicing fields:

  • invoice_date - Date when Facebook generated the invoice
  • due_date - Date the invoice is due
  • payment_status - Shows whether the invoice is PaidUnpaid, or Partially Paid
  • amount_due - How much money is currently due, and outstanding, on the invoice
  • download_uri - Download a PDF of the invoice at this URI

  

Funding Source API

#To retrieve the credit card associated with a business manager, send this GET request.
curl "https://www.graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/creditcards" #To retrieve the extended credit funding source associated with a business manager, send this GET request.
curl "https://www.graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/extendedcredits"

  

Resources

General, Marketing API related:

Business Manager:

  • Asset Management - Manage assets, such as ad accounts, Pages, Instagram accounts, product catalogs, and so on.
  • System User APIs - Automated services make API calls to assets owned or managed by a Business Manager. This document covers system user APIs, only available to apps with Standard access level.
  • Client Messaging - Guidelines for messaging clients about Business Manager and gray account deprecation
  • FAQ
  • Business Manager Best Practices