Represents a catalog for your business you can use to deliver ads with dynamic ads.
Example — View all product catalogs associated to your business
curl -G \ -d "access_token=<ACCESS_TOKEN>" \ "https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/owned_product_catalogs"
You can associate pixels and apps with a product catalog and then display products in ads based on signals from pixels or apps.
Example — Make an HTTP POST
curl \ -F 'external_event_sources=[<PIXEL_ID>,<APP_ID>]' \ -F 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/<VERSION>/<PRODUCT_CATALOG_ID>/external_event_sources
You need the appropriate Marketing API Access Level and must accept the Terms of Service by creating your first catalog through Business Manager.
Product catalogs contain a list of items like products, hotels or flights, and the information needed to display them in dynamic ads
| Parameter | Description |
|---|---|
segment_use_casesarray<enum {AFFILIATE_SELLER_STOREFRONT, AFFILIATE_TAGGED_ONLY_DEPRECATED, COLLAB_ADS, COLLAB_ADS_FOR_MARKETPLACE_PARTNER, COLLAB_ADS_SEGMENT_WITHOUT_SEGMENT_SYNCING, DIGITAL_CIRCULARS, FB_LIVE_SHOPPING, IG_SHOPPING, IG_SHOPPING_SUGGESTED_PRODUCTS, MARKETPLACE_SHOPS, TEST}> | segment_use_cases |
| Field | Description |
|---|---|
idnumeric string | ID of a catalog |
business | Business that owns a catalog |
da_display_settings | Image display settings such as background cropping and padding of items in the catalog for different Dynamic Ad formats |
default_image_urlstring | The URL for the default image, which is used for products without images, or when the product image is temporarily unavailable. If a product image matches the default image, this should be treated as if the image was not loaded |
fallback_image_urllist<string> | The URL for the fallback image. This is used as the image for auto-generated dynamic items |
feed_countint32 | The total number of feeds used by a catalog |
is_catalog_segmentbool | Verify that you will create ads based on a catalog or catalog segment before you try to create Dynamic Ads. Call this field and determine value otherwise you may get and error when you try to create Dynamic Ads from catalog segments. |
is_local_catalogbool | is_local_catalog |
namestring | The name of a catalog given by the creator |
product_countint32 | The total number of products in a catalog |
verticalenum | The type of catalog (for example: hotels, commerce, etc) |
| Edge | Description |
|---|---|
Edge<Business> | Agencies that have access to a catalog |
Edge<AssignedUser> | Users assigned to this catalog |
Edge<AutomotiveModel> | Automotive models that a catalog contains |
Edge<ProductCatalogCategory> | Categories within the catalog for a given categorization criteria |
Edge<CheckBatchRequestStatus> | Checks the status of a batch request |
Edge<CollaborativeAdsShareSettings> | All the collaborative ads share settings for a catalog segment |
Edge<ProductCatalogDataSource> | data_sources updating catalog including feeds, session containers etc |
Edge<Destination> | Destinations that a catalog contains |
Edge<ProductCatalogDiagnosticGroup> | diagnostics |
Edge<ProductEventStat> | Aggregated statistics on the matched and unmatchd events received from the pixels and apps associated to the catalog, broken down by DA event, source and device_type |
Edge<ExternalEventSource> | External event sources (including pixels) for catalog events like ViewContent |
Edge<Flight> | Flights that a catalog contains |
Edge<HomeListing> | Home listings that a catalog contains |
Edge<ProductCatalogHotelRoomsBatch> | Batch operations with hotel rooms |
Edge<Hotel> | Hotels that a catalog contains |
Edge<ProductCatalogPricingVariablesBatch> | Batch operations with hotel room prices |
Edge<ProductGroup> | Product groups that a catalog contains |
Edge<ProductSet> | Product sets belonging to a catalog |
Edge<ProductCatalogProductSetsBatch> | Batch operations with product sets |
Edge<ProductItem> | Products that a catalog contains |
Edge<VehicleOffer> | Vehicle offers that a catalog contains |
Edge<Vehicle> | Vehicles that a catalog contains |
| Error | Description |
|---|---|
| 100 | Invalid parameter |
| 368 | The action attempted has been deemed abusive or is otherwise disallowed |
| 190 | Invalid OAuth 2.0 Access Token |
| 200 | Permissions error |
| 2500 | Error parsing graph query |
curl \ -F 'name=Catalog' \ -F 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/product_catalogs
assigned_users edge from the following paths: | Parameter | Description |
|---|---|
tasksarray<enum {MANAGE, ADVERTISE, MANAGE_AR, AA_ANALYZE}> | Catalog permission tasks to assign this user Required |
userUID | Business user id or system user id Required |
success: bool, | Error | Description |
|---|---|
| 100 | Invalid parameter |
| 200 | Permissions error |
| 415 | Two factor authentication required. User have to enter a code from SMS or TOTP code generator to pass 2fac. This could happen when accessing a 2fac-protected asset like a page that is owned by a 2fac-protected business manager. |
vehicles edge from the following paths: | Parameter | Description |
|---|---|
addressJSON object | address Required |
applinksObject | applinks |
availabilityenum {AVAILABLE, NOT_AVAILABLE, PENDING, UNKNOWN} | availability |
body_styleenum {CONVERTIBLE, COUPE, CROSSOVER, ESTATE, GRANDTOURER, HATCHBACK, MINIBUS, MINIVAN, MPV, PICKUP, ROADSTER, SALOON, SEDAN, SMALL_CAR, SPORTSCAR, SUPERCAR, SUPERMINI, SUV, TRUCK, VAN, WAGON, OTHER, NONE} | body_style Required |
conditionenum {EXCELLENT, VERY_GOOD, GOOD, FAIR, POOR, OTHER, NONE} | condition |
currencyISO 4217 Currency Code | currency Required |
date_first_on_lotstring | date_first_on_lot |
dealer_idstring | dealer_id |
dealer_namestring | dealer_name |
dealer_phonestring | dealer_phone |
descriptionstring | description Required |
drivetrainenum {TWO_WD, FOUR_WD, AWD, FWD, RWD, OTHER, NONE} | drivetrain |
exterior_colorstring | exterior_color Required |
fb_page_idstring | fb_page_id |
fuel_typeenum {DIESEL, ELECTRIC, GASOLINE, FLEX, HYBRID, OTHER, PETROL, PLUGIN_HYBRID, NONE} | fuel_type |
imageslist<Object> | images Required |
interior_colorstring | interior_color |
makestring | make Required |
mileageJSON object | mileage Required |
modelstring | model Required |
priceint64 | price Required |
state_of_vehicleenum {NEW, USED, CPO} | state_of_vehicle Required |
titlestring | title Required |
transmissionenum {AUTOMATIC, MANUAL, OTHER, NONE} | transmission |
trimstring | trim |
urlURI | url Required |
vehicle_idstring | vehicle_id Required |
vehicle_typeenum {BOAT, CAR_TRUCK, COMMERCIAL, MOTORCYCLE, OTHER, POWERSPORT, RV_CAMPER, TRAILER} | vehicle_type |
vinstring | vin Required |
yearint64 | year Required |
id in the return type.id: numeric string, | Error | Description |
|---|---|
| 10800 | Duplicate retailer_id when attempting to create a store collection |
| 100 | Invalid parameter |
| 200 | Permissions error |
owned_product_catalogs edge from the following paths: | Parameter | Description |
|---|---|
additional_vertical_optionenum {LOCAL_DA_CATALOG, LOCAL_PRODUCTS} | Additional catalog configurations that does not introduce either new verticals or subverticals |
business_metadataJSON object | business_metadata |
catalog_segment_filterA JSON-encoded rule | Provide filter for catalog to create a catalog segment. |
da_display_settingsObject | Dynamic Ads display settings. |
destination_catalog_settingsJSON object | Destination catalog settings. |
flight_catalog_settingsJSON object | Flight catalog settings. |
nameUTF-8 encoded string | Name of the catalog. Required |
parent_catalog_idnumeric string or integer | Parent catalog ID. |
partner_integrationJSON object | Partner integration settings |
store_catalog_settingsJSON object | Store catalog settings. |
verticalenum {adoptable_pets, commerce, destinations, flights, generic, home_listings, hotels, local_service_businesses, offer_items, offline_commerce, transactable_items, vehicles} | Default value: commerceThe catalog's industry or vertical, such as |
id in the return type.id: numeric string, | Error | Description |
|---|---|
| 100 | Invalid parameter |
| 190 | Invalid OAuth 2.0 Access Token |
| 804 | Specified object already exists |
| 102 | Session key invalid or no longer valid |
| 200 | Permissions error |
| 2310019 | The business of this catalog is not onboarded to Collaborative Ads |
/{product_catalog_id}.| Parameter | Description |
|---|---|
additional_vertical_optionenum {LOCAL_DA_CATALOG, LOCAL_PRODUCTS} | Additional catalog configurations that does not introduce either new verticals or subverticals |
da_display_settingsObject | The display settings object when used will determine which image transformations (like cropping or padding) will be applied for the item in the specified dynamic ad format. |
default_image_urlURI | The URL for the default image, which is used for products without images or for the cases when the product image is temproarily unavailable. If a product image matches the default image, this should be treated as if the image was not loaded. |
destination_catalog_settingsJSON object | Catalog setting for destination catalogs. |
fallback_image_urlURI | The URL for the fallback image. This is used as the image for the auto-generated dynamic items. |
flight_catalog_settingsJSON object | Catalog setting for flight catalogs. |
namestring | Name of the Product Catalog |
partner_integrationJSON object | Partner integration settings |
store_catalog_settingsJSON object | Catalog settings for store catalogs; the page with the location structure for all the stores within this settings will be used to validate the store number for feed uploading |
success: bool, | Error | Description |
|---|---|
| 200 | Permissions error |
| 100 | Invalid parameter |
You can delete a product catalog with the following API. You cannot remove a product catalog from a Business Manager, or transfer a catalog from one Business Manager to another.
curl -X DELETE \ -F 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/<API_VERSION>/<PRODUCT_CATALOG_ID>
To do this in a batch call, specify the parameter in the query string for the URL:
curl \
-F 'batch=[{
"method":"DELETE",
"relative_url":"<PRODUCT_CATALOG_ID>"
}]' \
-F 'access_token=<TOKEN>' \
https://graph.facebook.com
To remove the association between the catalog and a pixel or app, make an HTTP DELETE:
curl -X DELETE \ -F 'external_event_sources=[<APP_ID>,<PIXEL_ID>]' \ -F 'access_token=<TOKEN>' \ https://graph.facebook.com/<API_VERSION>/<PRODUCT_CATALOG_ID>/external_event_sources
To see all pixel and apps associated with a product catalog, make an HTTP GET:
curl -G \ -d 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/<API_VERSION>/<PRODUCT_CATALOG_ID>/external_event_sources
/{product_catalog_id}.| Parameter | Description |
|---|---|
allow_delete_catalog_with_live_product_setboolean | Default value: falseIf the catalog has live product sets, the deletion will be blocked by default. Set this parameter to true to enforce the deletion even if it has live product sets |
success: bool, | Error | Description |
|---|---|
| 3970 | You must be assigned as an admin of this product catalog before you can delete it. |
| 801 | Invalid operation |
| 100 | Invalid parameter |
/{product_catalog_id}/assigned_users.| Parameter | Description |
|---|---|
userUID | Business user id or system user id Required |
success: bool, | Error | Description |
|---|---|
| 100 | Invalid parameter |