Webhook event structure and types
Find out which types of webhooks are triggered by each event.
Webhook payloads contain an event field that specifies the event type.
Webhook event structure
Inside the payload object, a webhook event has the following keys:
event: Specifies what triggered the webhook.payload: Fields included in the second payload object depend on the type of event triggered. For example, if an FFL event is triggered, fields included are about the FFL number, address information, letter of authorization (LOA) dates, and so on.
Event types
The following event allows you to receive notifications for every event type:
event | Description |
|---|---|
* | Receive event notifications from products, Minimum Advertised Price (MAP) policies, MAP promotions and its products, orders, and federal firearms licenses (FFLs) and its files. |
Brand events
event | Description |
|---|---|
brands.created | Triggered when a brand is created in the BFG system. Use this event to sync new brand records with external systems or to trigger follow-up processes such as brand onboarding or catalog setup. |
brands.updated | Triggered when a brand is updated in the BFG system. Use this event to update brand records in external systems or refresh brand-related content in real time. |
brands.deleted | Triggered when a brand is soft-deleted in the BFG system. Use this event to remove or deactivate the brand in external systems, ensuring your data remains synchronized. |
The payload structure of a brand event includes the following:
event: The name of the event (brands.created)payload.brand: Contains the brand information:id: Unique identifier for the brandaccount_id: Identifier for the associated accountname: The name of the branddeleted_at:nullif the brand is active
Product events
event | Description |
|---|---|
products.created | Triggered when one or more new products are created. Use this event to initiate product setup or sync new product records into external systems as soon as they are added in BFG. |
products.updated | Triggered when one or more products are updated. Use this event to refresh or sync product data in external systems whenever product details are modified in BFG. |
products.deleted | Triggered when one or more products are deleted. No additional product data is included, as the records have been removed from the system. Use this event to remove product records from external systems or archives when they are deleted in BFG. |
products.imported | Triggered when one or more products are successfully imported into BFG using a bulk import process (e.g., CSV upload or API-based import). Use this event to validate import success, trigger downstream syncs, or initiate workflows based on newly imported product data. |
The payload structure of a product event includes the following:
event: The event namepayload.upcs: An array of UPCs corresponding to the created, updated, or imported products
Note: Product details are not included in the payload but can be retrieved using the BFG API.
MAP policy events
event | Description |
|---|---|
map_policies.updated | Triggered when an existing MAP policy is updated. Use this event to keep MAP policy data in sync across external systems when changes are made in BFG.. |
map_policies.deleted | Triggered when a MAP policy is deleted. Contains the full details of the deleted policy at the time of removal, including title, start and end dates, pricing code, publication status, and associated company. Use this event to remove or archive MAP policies in external systems when they are deleted in BFG. |
map_policies.imported | Triggered when one or more MAP policies are successfully imported into BFG using a bulk import process (e.g., CSV upload or API-based import). Use this event to confirm MAP policy imports and trigger synchronization or validation processes in external systems. |
map_policies.published | Triggered when a MAP policy is published. The published field is set to true, indicating the policy is active. Use this event to activate or enforce MAP pricing rules in external systems when a new policy is made live in BFG. |
The payload structure of a MAP policy event includes the following:
event: The event namepayload.map_policy: An object containing MAP policy data:id,title,published,start_date,end_datecompany: Associated company detailsmap_advertising_pricing: Pricing code and description (e.g.,MAP_MINIMUM)
MAP promotion events
event | Description |
|---|---|
map_promotions.updated | Triggered when an existing MAP promotion is updated. Use this event to synchronize changes to MAP promotions in external systems, ensuring promotion metadata remains consistent. |
map_promotions.deleted | Triggered when a MAP promotion is deleted. Use this event to remove or deactivate MAP promotions in external systems when they are deleted in BFG. |
map_promotions.published | Triggered when a MAP promotion is published in BFG, transitioning it to an active status. The status is set to "ACTIVE" and published is true. Use this event to activate promotional pricing in external systems when a MAP promotion goes live. |
The payload structure of a MAP promotion event includes the following:
event: The event namepayload.map_promotion: An object containing MAP promotion fields:id,title,description,details,status,promotion_type,start_date,end_date, andcompanyinformation
MAP promotion product events
event | Description |
|---|---|
map_promotion_products.created | Triggered when one or more products are added to a MAP promotion. Use this event to apply promotional pricing rules to specific products in external systems when they are added to a MAP promotion. |
map_promotion_products.deleted | Triggered when one or more products are removed from a MAP promotion in BFG. Use this event to update or remove promotional pricing in external systems when products are excluded from a MAP promotion in BFG. |
The payload structure of a MAP promotion product event includes the following:
event: The event namepayload.map_promotion: An object containing MAP promotion details, including:id,title,description,status, promotion_type,start_date,end_date, and relatedcompanyinformation
payload.upcs: An array of product UPCs added or deleted in the promotion
FFL events
event | Description |
|---|---|
federal_firearms_licences.created | Triggered when a new FFL record is created. Use this event to sync newly added FFL dealers with your external systems or databases in real time. |
federal_firearms_licences.updated | Triggered when an existing FFL record is updated. Use this event to synchronize FFL dealer records with external systems when any licensing or contact details are modified. |
federal_firearms_licences.deleted | Triggered when a FFL record is deleted. Includes details of the deleted FFL record at the time of deletion, such as license number, business name, and the deleted_at timestamp. Use this event to remove or archive FFL dealer records from external systems when they are deleted in BFG. |
federal_firearms_licences.restored | Triggered when a previously deleted FFL record is restored. The deleted_at field is set to null, indicating that the record is active again. Use this event to reinstate FFL dealer records in external systems when they are restored. |
The payload structure of an FFL event includes the following:
event: The event namepayload.ffl: An object containing the new FFL record with fields like:ffl_number,license_name,business_namepremise_address,mailing_address,email,phoneloa_issue_date,loa_expiration_dateis_residential,transfer_fee,website, and timestamps
FFL file events
event | Description |
|---|---|
federal_firearms_licence_files.added | Triggered when a new file is added to a FFL record. Use this event to automatically sync or archive FFL-related documents in external systems when new files are uploaded. |
federal_firearms_licence_files.deleted | Triggered when a file associated with a FFL record is deleted. Use this event to remove or archive FFL-related documents in external systems when they are deleted. |
The payload structure of an FFL file event includes the following:
event: The event name.payload.ffl_id: The ID of the FFL the file is associated with.payload.media:An object containing details of the uploaded file:id,name, file_name,mime_type,size,sort
Updated 2 months ago