.png)
Bazaarvoice Integration Guide
Integrate Bazaarvoice product content, reviews, questions, answers, and catalog data with enterprise applications through REST APIs, submission endpoints, exports, and scheduled workflows.
Bazaarvoice integration options at a glance
Bazaarvoice primarily integrates with enterprise systems through REST APIs for displaying, submitting, and synchronizing Products, Reviews, Questions, Answers, and related content. Its data-oriented and export mechanisms support historical loads, incremental retrieval, reconciliation, and analytics feeds. Authentication commonly uses API keys with client, account, passkey, locale, site, and environment parameters that vary by API and account. Notification capabilities may be available for selected products or events, but universal webhook coverage is not confirmed. Martini can consume these APIs, expose submission or normalized content APIs, schedule incremental workflows, map payloads, and load downstream applications or databases.
| Integration point | Supported by Bazaarvoice? | Common use cases | How Martini supports it |
|---|---|---|---|
| REST APIs | Yes | Retrieve and submit Products, Reviews, Questions, Answers, ratings, and related product or account data. REST APIs are the primary Bazaarvoice integration mechanism. | Martini can consume Bazaarvoice REST endpoints, expose APIs for inbound submissions, transform payloads, and orchestrate calls across enterprise systems. |
| Bulk / async / batch APIs | Yes | Perform historical loads, larger-volume content retrieval, periodic synchronization, reconciliation, and feeds for warehouses or analytics platforms. | Martini can schedule bulk retrieval, process pages or export results, normalize records, persist checkpoints, and write batches to downstream systems. Applicable products and account entitlements should be confirmed. |
| Content submission APIs | Yes | Submit Reviews, Questions, and Answers from commerce platforms, customer applications, portals, or service systems for Bazaarvoice processing or moderation. | Martini can expose a REST API, validate consent and product metadata, map the request to Bazaarvoice's submission schema, and handle correlation, retry, and duplicate-prevention logic. |
| Webhooks / outbound callbacks | Limited | Selected Bazaarvoice products or account configurations may provide notification or event capabilities, but universal coverage for all content changes is not confirmed. | Where a supported notification exists, Martini can receive and validate it; otherwise, Martini can use scheduled incremental polling based on timestamps, identifiers, moderation status, or supported filters. |
| Authentication | Yes | API access commonly uses API keys and, for protected operations, passkeys or other client- and account-specific credentials, together with locale, site, and environment parameters. | Martini can store credentials as secure secrets, apply API-specific request configuration, separate environments, and restrict workflow access to required operations. |
| Scheduled synchronization | Yes | Retrieve changed Reviews, Questions, Answers, Products, and export results when push notifications are unavailable or incomplete. | Martini scheduler-triggered workflows can maintain timestamps or cursors, page through results, upsert data, and advance checkpoints only after successful processing. |
| File / attachment APIs | Not confirmed | Bazaarvoice content may include customer photos or videos, but a general-purpose file or attachment API was not confirmed. | Martini can handle media references when the relevant Bazaarvoice API provides URLs, tokens, or metadata, but the specific media transfer mechanism must be validated. |
| GraphQL APIs | Not confirmed | No public Bazaarvoice GraphQL API was confirmed for the reviewed integration surface. | Martini integrations should use the documented Bazaarvoice REST APIs unless GraphQL access is separately provided for a particular account or product. |
| SOAP APIs | Not confirmed | No current public Bazaarvoice SOAP integration mechanism was confirmed. | Martini should not assume SOAP for a new Bazaarvoice integration; REST and supported export mechanisms are the safer design basis. |
How Bazaarvoice exposes data and business events
Bazaarvoice REST APIs
REST APIs are Bazaarvoice's primary integration mechanism. They support retrieving and submitting product-related content and working with Products, Reviews, Questions, Answers, ratings, and related account data.
Martini implementation pattern
Martini implementation pattern: Martini workflows call the relevant Bazaarvoice REST endpoints with API keys and account-specific parameters, handle pagination and response validation, transform the payload, and route it to storefronts, service applications, databases, or other APIs. Martini APIs can also accept normalized inbound requests and submit content to Bazaarvoice.
Implementation sequence
Bazaarvoice Content Submission
Bazaarvoice supports programmatic submission of Reviews, Questions, and Answers through submission-oriented APIs. Submitted content may then proceed through moderation or other processing before publication.
Martini implementation pattern
Martini implementation pattern: An external application calls a Martini API or workflow, which validates product identifiers, consent, locale, and correlation data before transforming and submitting the request to Bazaarvoice. The workflow records the submission response separately from later publication status.
Implementation sequence
Bazaarvoice Bulk and Export APIs
Bazaarvoice provides data-oriented and export mechanisms for larger-volume retrieval, historical loads, periodic synchronization, and reconciliation. The precise format and availability depend on the product and account configuration.
Martini implementation pattern
Martini implementation pattern: A scheduled workflow requests or retrieves the applicable export, processes results in controlled batches, normalizes content into target structures, and advances a checkpoint only after the batch is successfully written. Failed records can be routed for reconciliation without discarding the overall run state.
Implementation sequence
Bazaarvoice Notifications
Notification or event capabilities may exist for selected Bazaarvoice products or account configurations, but universal webhook coverage for all content events was not confirmed.
Martini implementation pattern
Martini implementation pattern: Where a supported Bazaarvoice notification is available, Martini receives it and retrieves the current resource before processing. For broader coverage, Martini uses scheduled incremental REST retrieval based on timestamps, content identifiers, moderation status, or other supported filters.
Implementation sequence
Common Bazaarvoice integration patterns
Pattern 1: Synchronize commerce products to Bazaarvoice
When to use this pattern
Use this pattern when a commerce platform or product source is the system of record for catalog information and Bazaarvoice needs consistent product identifiers, names, categories, brands, URLs, and locale data. It is suitable for scheduled or source-triggered catalog updates.
Integration direction
Example Mapping
| Bazaarvoice Field | Canonical Field | Target Field |
|---|---|---|
| productId | product.identifier | Bazaarvoice Product ID |
| name | product.name | Product name |
| locale | product.locale | Locale |
| productUrl | product.url | Product page URL |
Martini implementation pattern
Martini retrieves changed catalog products, validates the canonical product-ID mapping, transforms commerce fields to the Bazaarvoice product representation, and submits changes through the applicable REST endpoint. Business rules handle deletions, locale consistency, and required fields. Retries use bounded backoff, while failed products are retained for reconciliation.
Martini capabilities used
- scheduled workflows
- REST API consumption
- data mapping
- validation
- business rules
- error handling
Pattern 2: Sync Reviews and ratings to a storefront
When to use this pattern
Use this pattern when storefronts or internal applications need current Bazaarvoice Reviews, ratings, Questions, and Answers without coupling each application directly to Bazaarvoice. Scheduled polling is appropriate when notification coverage is incomplete.
Integration direction
Example Mapping
| Bazaarvoice Field | Canonical Field | Target Field |
|---|---|---|
| reviewId | content.externalId | Review ID |
| rating | content.rating.value | Rating |
| reviewText | content.body | Review body |
| moderationStatus | content.publicationState | Display status |
Martini implementation pattern
A scheduler-triggered Martini workflow retrieves changed content, pages through all results, preserves locale and moderation metadata, and maps the response to a storefront model or exposed Martini API. The workflow upserts by stable Bazaarvoice identifiers, suppresses unapproved content according to business rules, and retries transient failures without advancing the checkpoint prematurely.
Martini capabilities used
- scheduler triggers
- REST API consumption
- pagination orchestration
- data transformation
- API exposure
- idempotent upsert logic
- retry handling
Pattern 3: Submit customer feedback through a Martini API
When to use this pattern
Use this pattern when a mobile application, customer portal, storefront, or service application should submit Reviews, Questions, or Answers without managing Bazaarvoice credentials or request formatting directly.
Integration direction
Example Mapping
| Bazaarvoice Field | Canonical Field | Target Field |
|---|---|---|
| customerId | author.sourceId | Author identifier |
| productId | product.identifier | Product ID |
| text | content.body | Submission text |
| consent | submission.consent | Consent metadata |
Martini implementation pattern
Martini exposes a controlled REST API that validates the request, checks product and locale mappings, applies consent and duplicate-submission rules, and transforms the payload for the Bazaarvoice submission endpoint. The workflow stores source and Bazaarvoice identifiers, distinguishes accepted submission from later moderation, and routes permanent failures for review.
Martini capabilities used
- REST API exposure
- request validation
- data mapping
- business rules
- secure secrets
- correlation tracking
- error handling
Pattern 4: Load Bazaarvoice content into Snowflake
When to use this pattern
Use this pattern for historical backfills, incremental analytics feeds, moderation reporting, and reconciliation across Reviews, Questions, Answers, Products, and related metadata.
Integration direction
Example Mapping
| Bazaarvoice Field | Canonical Field | Target Field |
|---|---|---|
| contentId | ugc.content_id | CONTENT_ID |
| productId | ugc.product_id | PRODUCT_ID |
| submissionDate | ugc.submitted_at | SUBMITTED_AT |
| moderationStatus | ugc.moderation_status | MODERATION_STATUS |
Martini implementation pattern
Martini retrieves bulk or incremental Bazaarvoice data, normalizes nested responses into analytical structures, and writes batches to Snowflake or an intermediary SQL store. The workflow uses checkpoints, stable keys, late-update handling, schema-tolerant parsing, and a reconciliation path for records that fail after the main run.
Martini capabilities used
- scheduled workflows
- bulk API consumption
- JSON transformation
- database integration
- checkpoint management
- schema validation
- monitoring
Applications commonly integrated with Bazaarvoice
Bazaarvoice commonly sits between commerce, service, customer-data, and analytics applications that need to publish, submit, synchronize, or analyze product experience content. Martini can mediate these exchanges through REST APIs, scheduled workflows, mappings, validation, and reusable business rules.
| Application | Scenario | Direction | Martini Pattern |
|---|---|---|---|
| Salesforce Commerce Cloud | Synchronize product catalog data with Bazaarvoice and make Reviews and ratings available to product detail pages. | Salesforce Commerce Cloud → Martini → Bazaarvoice | A scheduled or source-triggered Martini workflow retrieves product changes, maps identifiers, names, categories, brands, URLs, and locale data, then submits or synchronizes the product representation through Bazaarvoice APIs. A complementary workflow retrieves moderated content for storefront use. |
| Shopify | Exchange product and submission data so Shopify storefronts can use Bazaarvoice Reviews and other user-generated content. | Shopify → Martini → Bazaarvoice | Martini exposes an API for selected submission requests and uses scheduled REST workflows for catalog and content synchronization. Validation, locale mapping, duplicate prevention, and retry handling are applied before calls to either platform. |
| Adobe Commerce | Synchronize catalog products and present Bazaarvoice Reviews, Questions, and Answers in Adobe Commerce storefronts. | Adobe Commerce → Martini → Bazaarvoice | Martini consumes Adobe Commerce product changes, transforms them to Bazaarvoice fields, and runs incremental content retrieval using timestamps or identifiers. The workflow preserves moderation state and upserts content for storefront consumption. |
| SAP Commerce Cloud | Connect enterprise product catalog and storefront presentation with Bazaarvoice content, ratings, and product experience data. | SAP Commerce Cloud → Martini → Bazaarvoice | A Martini orchestration workflow reconciles product identifiers and locale data between SAP Commerce Cloud and Bazaarvoice, then retrieves paginated content and maps approved or otherwise relevant states to the storefront model. |
| Salesforce Service Cloud | Route customer or service feedback into service workflows and expose approved Bazaarvoice content to customer-service teams. | Bazaarvoice → Martini → Salesforce Service Cloud | Martini polls or retrieves Bazaarvoice content, filters by moderation and locale rules, maps content and author information to Salesforce fields, and upserts items using stable Bazaarvoice identifiers. Selected service-originated submissions can flow in the reverse direction where supported. |
| Tealium | Use product feedback and customer-content signals in customer-data and audience workflows. | Bazaarvoice → Martini → Tealium | Martini retrieves relevant Bazaarvoice content or notification data, normalizes product and source metadata, applies consent and audience rules, and sends an approved event or data payload to Tealium through its available API interface. |
| Snowflake | Load Reviews, Questions, Answers, Products, moderation metadata, and related content for analytics and reporting. | Bazaarvoice → Martini → Snowflake | A scheduler-triggered Martini workflow performs bulk or incremental retrieval, pages through results, normalizes nested content into analytical structures, and writes batches to Snowflake or an intermediary supported database. Checkpoints and reconciliation records support repeatable loads. |
| NetSuite | Associate customer-feedback and product information with commerce reporting and business processes. | Bazaarvoice → Martini → NetSuite | Martini maps Bazaarvoice product and content identifiers to NetSuite business data, applies routing and status rules, and upserts the resulting information through the available NetSuite API while retaining correlation and error details. |
How to build a Bazaarvoice integration in Martini
Objective
Establish Bazaarvoice access using the API key and any passkey, client, account, locale, site, and environment parameters required by the selected API.
Instructions in Martini
- Store API credentials in Martini secrets.
- Separate staging and production configuration.
- Grant only the permissions required for display, submission, moderation, or export operations.
- Validate the selected account and API environment before processing business data.
Objective
Select a scheduler, inbound Martini API, source-system event, or supported Bazaarvoice notification based on the required latency and event coverage.
Instructions in Martini
- Use a scheduler for broad incremental synchronization.
- Expose a Martini API for controlled Review, Question, or Answer submissions.
- Treat Bazaarvoice notifications as product- and account-specific rather than universal.
- Add reconciliation polling where push coverage is incomplete.
Objective
Retrieve Products, Reviews, Questions, Answers, Authors, Comments, or export results while managing pagination, filters, and synchronization checkpoints.
Instructions in Martini
- Load the last successful timestamp, cursor, or identifier checkpoint.
- Request only the relevant date, locale, moderation, or product scope.
- Process every page or batch before committing the checkpoint.
- Capture request and content identifiers for troubleshooting.
Objective
Coordinate API calls, validation, enrichment, routing, and target writes in a maintainable Martini workflow.
Instructions in Martini
- Separate retrieval, transformation, business rules, and delivery stages.
- Use reusable logic for pagination, correlation, and error classification.
- Route permanent validation failures to reconciliation handling.
- Keep source and target identifiers available throughout the workflow.
Objective
Convert Bazaarvoice payloads into canonical product, content, commerce, service, or analytics models.
Instructions in Martini
- Map product identifiers and locale values explicitly.
- Preserve moderation, publication, syndication, author, and source metadata where required.
- Normalize Reviews, Questions, Answers, and Comments for downstream systems.
- Use tolerant parsing for additive fields while validating required fields.
Objective
Determine whether content should be submitted, published, displayed, synchronized, or routed for review based on state and enterprise policy.
Instructions in Martini
- Distinguish submission acceptance from publication visibility.
- Filter or route content by moderation status and locale.
- Prevent duplicate submissions using source correlation identifiers.
- Apply consent and media-handling rules before forwarding content.
Common Bazaarvoice data objects used in integrations
| Object | Typical Use | Common target systems | Martini handling |
|---|---|---|---|
| Products | Associate catalog items with Reviews, ratings, Questions, Answers, locales, and product experience content. | Salesforce Commerce Cloud, Shopify, Adobe Commerce, SAP Commerce Cloud, Snowflake | Martini maps product identifiers, names, categories, brands, URLs, and locale data, then synchronizes changes through REST workflows with validation and retry handling. |
| Reviews | Retrieve or submit customer ratings and written product evaluations, including moderation, locale, source, and syndication metadata where returned. | Commerce storefronts, Salesforce Service Cloud, Snowflake, Tealium | Martini retrieves paginated or bulk results, preserves publication and moderation states, transforms fields, and upserts by the Bazaarvoice content identifier. |
| Questions | Capture customer questions associated with Products and retrieve them for storefront or service experiences. | Salesforce Commerce Cloud, Shopify, Adobe Commerce, Snowflake | Martini can submit or retrieve Questions, validate product and locale mappings, and route content according to moderation and publication rules. |
| Answers | Represent responses from brands, retailers, or users to product Questions. | Commerce storefronts, Salesforce Service Cloud, Snowflake | Martini synchronizes Answers with their related Questions, preserves author and status metadata, and applies idempotent upsert logic downstream. |
| Authors | Identify customers or contributors associated with submitted Reviews, Questions, Answers, or other user-generated content. | Salesforce Service Cloud, Snowflake, customer-data platforms | Martini maps author identifiers and permitted profile metadata while applying privacy, consent, and field-minimization rules. |
| Comments | Store additional discussion or commentary associated with supported Bazaarvoice content types. | Commerce applications, service applications, Snowflake | Martini retrieves Comments where exposed by the selected API, associates them with parent content, and handles missing or changed parent references during reconciliation. |
Authentication and security considerations
Credential-based API access
Bazaarvoice API access commonly uses an API key and may require a passkey or other client- and account-specific credentials. Required parameters vary by API and account and can include locale, site, and environment values.
Secrets and least privilege
Store Bazaarvoice credentials in Martini secrets rather than workflow definitions or source code. Use separate staging and production configuration where available and limit permissions to required display, submission, moderation, or export operations.
Authentication assumptions
OAuth 2.0 and JWT were not confirmed as the general Bazaarvoice authentication model. Configure each workflow according to the authentication requirements of the selected Bazaarvoice API and account.
Operational considerations for Bazaarvoice integrations
Rate limits and retries
Control polling frequency and concurrency, handle throttling and transient HTTP failures, and use bounded retries with backoff.
Pagination and checkpoints
Reviews, Questions, Answers, Products, and export results may be paginated. Persist a cursor, offset, timestamp, or other checkpoint and advance it only after all data in the synchronization interval has been processed successfully.
Idempotency and state
Use Bazaarvoice content identifiers and source-system identifiers as stable keys. Upsert downstream data and retain correlation identifiers for content submissions.
Moderation, locale, and schema changes
Submission success does not necessarily mean publication. Preserve moderation, publication, locale, syndication, and source metadata, and use tolerant parsing with required-field validation as response models evolve.
Reconciliation and testing
Capture request, product, and content identifiers together with status codes and response details. Test historical, incremental, rejected, pending, approved, removed, duplicate, and late-update scenarios before production deployment.
Why use Martini instead of scripts or point-to-point integrations?
Centralized orchestration
Martini coordinates Bazaarvoice REST calls, inbound APIs, scheduled synchronization, target writes, validation, and business rules in reusable workflows rather than scattering logic across scripts.
Reliable synchronization
Checkpoint management, pagination, idempotent upserts, bounded retries, reconciliation paths, and operational logging provide a more controlled approach to incremental and bulk content processing.
Flexible data transformation
Martini maps Bazaarvoice Products, Reviews, Questions, Answers, Authors, and Comments to commerce, service, analytics, and database models while preserving moderation and locale metadata.
Reduced point-to-point coupling
A Martini API can provide a controlled façade for storefronts and customer applications, while workflows isolate Bazaarvoice credentials and account-specific request formats from consuming systems.
Frequently asked questions
Bazaarvoice is primarily integrated through REST APIs for retrieving and submitting Products, Reviews, Questions, Answers, ratings, and related content. Its bulk and export mechanisms support historical loads and larger-volume synchronization, while selected products or accounts may provide notification capabilities. Authentication commonly uses API keys and account- or client-specific credentials.
Yes. Although no native Martini Bazaarvoice connector is documented in the supplied sources, Martini can consume Bazaarvoice REST APIs, submit supported content, expose APIs for inbound requests, and orchestrate scheduled or notification-assisted synchronization workflows.
No. A dedicated Bazaarvoice connector is not required. Martini can integrate using Bazaarvoice's confirmed native REST APIs, content submission endpoints, bulk or export mechanisms, API credentials, and any notification capabilities available for the specific product and account.
Lonti does not charge an additional per-connector or per-vendor fee to integrate Bazaarvoice. The integration is subject to the provisioned capacity of the Martini environment. Separate costs may apply from Bazaarvoice, cloud infrastructure, databases, or other third-party systems depending on subscription, usage, and deployment model.
REST APIs are the primary method for new integrations, including content retrieval, product synchronization, and submission. Bulk or export mechanisms are appropriate for historical and high-volume workloads. Notification capabilities should be verified for the specific Bazaarvoice product and account, and scheduled incremental retrieval is the safer general synchronization design when coverage is incomplete.
Universal webhook coverage for all Bazaarvoice content changes was not confirmed. Notification or event-related capabilities may exist for selected products or account configurations. Martini can receive a supported notification where available and can supplement it with scheduled polling, pagination, checkpoints, and reconciliation workflows.
Martini can retrieve Reviews, Questions, Answers, Products, and related data using timestamps, content identifiers, moderation status, locale filters, or bulk exports supported by the applicable API. It pages through results, maps and validates the payload, upserts using stable identifiers, and advances the synchronization checkpoint only after successful processing.
Martini maps Bazaarvoice payloads to canonical and target-system models, applies validation and business rules, and preserves identifiers and moderation metadata. Workflows can use bounded retries for transient failures, reconciliation paths for permanent failures, and source correlation identifiers plus upsert logic to reduce duplicate submissions. Submission acceptance is tracked separately from later publication or moderation.
Related Martini documentation
APIs
Transformation
Build a maintainable Bazaarvoice integration with Martini
Use Martini to connect Bazaarvoice REST APIs and export mechanisms with commerce, service, customer-data, and analytics applications through secure, observable workflows.