Ellipse Gradient for Header

Yotpo Integration Guide

Connect Yotpo Reviews, Loyalty, Visual UGC, and SMS & Email data with enterprise systems through product-specific REST APIs, selected event notifications, and Martini workflows.

Yotpo integration options at a glance

Yotpo’s primary integration mechanism is a set of product-specific REST APIs covering capabilities such as Reviews, Loyalty & Referrals, Visual UGC, and SMS & Email. Authentication may use application credentials, API keys, account identifiers, secrets, or OAuth-style token exchange with bearer tokens. Selected products and events may support webhook-style notifications, but coverage is not universal. Martini can consume Yotpo JSON APIs, receive applicable callbacks through a Martini API, schedule paginated synchronization workflows, transform data, and send results to enterprise applications. Product-specific endpoints, permissions, event coverage, pagination, and media handling should be confirmed before implementation.

Integration pointSupported by Yotpo?Common use casesHow Martini supports it
REST APIsYesYotpo documents REST APIs across products including Reviews and Loyalty, with operations involving reviews, products, customers, orders, members, and rewards.Martini can consume Yotpo REST endpoints, authenticate with product-specific credentials, transform JSON responses, and orchestrate calls to downstream systems.
Webhooks / outbound callbacksLimitedSelected Yotpo products and event configurations provide webhook-style notifications; coverage varies by product and event.Martini can expose an API to receive applicable callbacks, validate the request, invoke a workflow, and retain scheduled reconciliation as a fallback.
AuthenticationYesYotpo APIs may use application keys, account identifiers, API keys, secrets, OAuth-style token exchange, and bearer access tokens.Martini can store credentials in environment-managed secrets and apply the required authentication configuration when consuming Yotpo APIs.
Pagination and incremental retrievalYesCollections such as Reviews, Products, Customers, and loyalty activity may be returned in pages; suitable endpoints may expose timestamps or identifiers for incremental retrieval.Martini workflows can iterate pages, persist high-water marks, and resume from checkpoints while applying product-specific filters.
File / attachment APIsLimitedReviews and Visual UGC may involve customer-submitted media, but a universal Yotpo attachment API was not confirmed.Martini can handle documented media metadata or URLs, but the specific media API, access rules, and transfer process must be validated first.
Bulk / async / batch APIsNot confirmedProduct-specific imports, exports, or batch functions may exist, but broad support across Yotpo products was not verified.Martini can implement documented batch endpoints or scheduled paging when confirmed, without assuming a universal Yotpo bulk API.
GraphQL APIsNot confirmedNo generally applicable official Yotpo GraphQL API was verified.Martini should use the documented Yotpo REST APIs unless product-specific GraphQL documentation is supplied.
SOAP APIsNot confirmedNo official Yotpo SOAP API was verified.Martini should not select SOAP for a new Yotpo integration unless Yotpo provides product-specific confirmation.
Database / analytics accessNoDirect database access was not confirmed; Yotpo data should be obtained through APIs or documented exports.Martini can persist or forward API-derived data to approved databases and analytics platforms without requiring direct Yotpo database access.

How Yotpo exposes data and business events

Yotpo REST APIs

REST is Yotpo’s primary documented integration mechanism. Separate API surfaces cover products such as Reviews and Loyalty, while endpoint paths, object models, authentication, and permissions vary by product and account.

Martini implementation pattern

Martini implementation pattern: a workflow obtains or uses the required product-specific credentials, calls Yotpo REST endpoints, parses JSON responses, applies validation and business rules, maps data to a canonical model, and writes to target APIs or storage. Collection processing uses pagination and persisted checkpoints when the endpoint supports them.

Implementation sequence

Load product-specific credentials from Martini-managed secrets
Request an access token when the Yotpo API requires token exchange
Retrieve the current Yotpo resource or collection page
Validate required fields and product-specific permissions
Map Yotpo JSON into the canonical integration model
Apply moderation, eligibility, and duplicate-prevention rules and write the target result

Yotpo Webhook Notifications

Yotpo supports webhook-style or event-notification capabilities for selected product events and account configurations. Event coverage should not be assumed across Reviews, Loyalty, Visual UGC, and SMS & Email.

Martini implementation pattern

Martini implementation pattern: expose a controlled Martini API for the applicable callback, validate its authentication or signature requirements, acknowledge promptly when required, and hand off heavier processing to a workflow. A scheduled reconciliation workflow checks for missed or unsupported events.

Implementation sequence

Receive the Yotpo callback at a protected Martini API
Validate the callback authentication, signature, or shared secret when provided
Persist the event identifier and reject duplicates
Retrieve the current Yotpo object when the notification is incomplete
Apply product-specific routing and privacy rules
Update the target system and record processing status

Yotpo Incremental Retrieval

Yotpo collection endpoints may return Reviews, Products, Customers, or loyalty activity in pages. Some endpoints may support timestamps, updated filters, or stable identifiers for incremental synchronization.

Martini implementation pattern

Martini implementation pattern: schedule a workflow with a persisted high-water mark or checkpoint, request pages until the endpoint indicates completion, transform each object, and commit the checkpoint only after successful target writes. Exact filtering and pagination parameters must be confirmed for each API.

Implementation sequence

Load the last successful checkpoint
Request the first Yotpo collection page using the confirmed filter
Process each object and store its stable source identifier
Request subsequent pages until no additional page remains
Write successful results and route failures for retry
Commit the checkpoint after the synchronization completes

Common Yotpo integration patterns

Pattern 1: Send completed orders for review invitations

When to use this pattern

Use this pattern when Yotpo Reviews needs purchase data to request reviews or associate reviews with verified purchases. The source may be Shopify, NetSuite, Adobe Commerce, or another system with an API for completed orders.

Integration direction
Shopify
Martini
Yotpo
Example Mapping
Yotpo FieldCanonical FieldTarget Field
order.idsourceOrderIdYotpo order identifier
customer.emailcustomerEmailYotpo customer email
line_items[].product_idproductIdYotpo product identifier
completed_atpurchaseDateYotpo purchase date
Martini implementation pattern

A scheduled Martini workflow retrieves newly completed orders, filters eligible transactions, maps customers and line items to the applicable Yotpo Reviews request, and submits the payload. It stores source identifiers, handles validation and rate-limit failures separately, and retries only operations that are safe to repeat.

Martini capabilities used
  • workflows
  • API consumption
  • data mapping
  • business rules
  • error handling

Pattern 2: Route Yotpo reviews to CRM and support

When to use this pattern

Use this pattern when review content and ratings need to drive customer-service follow-up, CRM context, or analytics. Selected Yotpo event notifications can reduce latency, while polling provides reconciliation coverage.

Integration direction
Yotpo
Martini
Salesforce
Zendesk
Example Mapping
Yotpo FieldCanonical FieldTarget Field
review.idreviewIdExternal review ID
review.ratingratingCase priority or CRM rating
review.contentreviewTextCase description or feedback text
review.moderation_statusmoderationStatusReview approval status
Martini implementation pattern

Martini receives a supported notification or retrieves updated Reviews, fetches the current resource when needed, and applies rules such as routing low ratings to Zendesk and approved reviews to Salesforce or analytics. The workflow validates privacy-sensitive fields, prevents duplicate cases, and records failures for retry and reconciliation.

Martini capabilities used
  • API consumption
  • workflow orchestration
  • data mapping
  • conditional routing
  • error handling

Pattern 3: Synchronize loyalty members and rewards

When to use this pattern

Use this pattern when Yotpo Loyalty & Referrals data must be shared with customer, commerce, marketing, or analytics systems, or when qualifying purchases must be sent into Yotpo for points and rewards processing.

Integration direction
Yotpo
Martini
Salesforce
Klaviyo
Example Mapping
Yotpo FieldCanonical FieldTarget Field
member.idloyaltyMemberIdCustomer external ID
member.points_balancepointsBalanceLoyalty points balance
reward.idrewardIdReward external ID
redemption.statusredemptionStatusReward redemption status
Martini implementation pattern

A Martini workflow retrieves or receives member and reward changes, maps them to target customer or event models, and applies eligibility and privacy rules. Reverse flows can submit qualifying purchases or events to Yotpo. Stable transaction and redemption identifiers prevent duplicate points or reward actions.

Martini capabilities used
  • workflows
  • API consumption
  • data transformation
  • business rules
  • idempotency handling

Pattern 4: Publish approved Yotpo content to enterprise systems

When to use this pattern

Use this pattern when approved Reviews or Visual UGC metadata must be distributed to a commerce platform, content system, analytics store, or a normalized internal API.

Integration direction
Yotpo
Martini
Shopify
Example Mapping
Yotpo FieldCanonical FieldTarget Field
review.product_idproductIdCommerce catalog product ID
review.ratingratingProduct rating
review.contentapprovedReviewTextPublished review text
media.urlmediaUrlUGC media URL
Martini implementation pattern

Martini retrieves approved Yotpo content, filters moderation and privacy-sensitive fields, maps product identifiers, and writes the result to the target API or exposes a normalized Martini REST API. Media URLs and access rules are preserved only when supported by the relevant Yotpo product, and failed writes are retried through a controlled queue or reconciliation workflow.

Martini capabilities used
  • API consumption
  • API exposure
  • data mapping
  • content filtering
  • monitoring and error handling

Applications commonly integrated with Yotpo

Yotpo data can be coordinated with commerce, CRM, customer-service, marketing, and analytics applications. The exact operations depend on the Yotpo product, account configuration, and target API, so each implementation should validate supported objects and event coverage before deployment.

Application Scenario Direction Martini Pattern
Shopify Send completed orders and customer information to Yotpo for review invitations or loyalty qualification, and return review or loyalty outcomes to the commerce environment. Shopify → Martini → Yotpo A scheduled Martini workflow retrieves eligible Shopify orders, maps customers, line items, and products to the applicable Yotpo Reviews or Loyalty request, prevents duplicate submissions, and records rejected orders for reconciliation.
Salesforce Synchronize customer sentiment, reviews, loyalty status, and follow-up actions with CRM records. Yotpo → Martini → Salesforce Martini retrieves Yotpo Reviews or Loyalty data, normalizes customer and product identifiers, applies routing rules such as escalating low ratings, and writes updates to Salesforce through its API.
NetSuite Use completed orders and customer information for review invitations or loyalty qualification and return review or loyalty data for reporting. NetSuite → Martini → Yotpo A Martini workflow extracts eligible NetSuite transactions, transforms order and customer fields into the Yotpo product-specific payload, and stores source identifiers to make retries safe.
Adobe Commerce Trigger review requests from order and product data and associate Yotpo content with catalog products. Adobe Commerce → Martini → Yotpo Martini consumes Adobe Commerce order and catalog APIs, maps product identifiers and customer details, submits supported data to Yotpo, and optionally distributes approved content back to the commerce API.
BigCommerce Exchange order, customer, and product information for review collection and merchandising of ratings or user-generated content. BigCommerce → Martini → Yotpo A workflow retrieves qualifying BigCommerce orders, validates required Yotpo fields, submits them through the relevant REST API, and synchronizes approved review or loyalty results back to BigCommerce where supported.
Zendesk Create customer-service workflows from low-rated reviews, review responses, or loyalty issues. Yotpo → Martini → Zendesk Martini polls Yotpo Reviews or receives selected event notifications, applies rating and moderation rules, and creates or updates Zendesk tickets while preserving review and customer identifiers.
Klaviyo Use reviews, customer activity, loyalty status, or reward events for segmentation and personalized campaigns. Yotpo → Martini → Klaviyo Martini extracts or receives eligible Yotpo events, maps customer and loyalty attributes to Klaviyo profiles or events, filters sensitive fields, and retries transient target failures.
Snowflake Centralize reviews, ratings, customer activity, and loyalty data for analytics and reporting. Yotpo → Martini → Snowflake A scheduled Martini workflow performs checkpointed Yotpo extraction, normalizes product-specific JSON into analytics models, and writes batches to Snowflake through the approved ingestion interface or an intermediary API.

How to build a Yotpo integration in Martini

Objective

Confirm the selected Yotpo product API, base URL, account permissions, credential type, and supported operations before building the workflow.

Instructions in Martini

  • Identify whether the integration uses Reviews, Loyalty, Visual UGC, or SMS & Email APIs
  • Store application keys, API keys, secrets, and tokens in Martini-managed environment configuration
  • Configure the required token exchange or bearer authentication
  • Avoid placing credentials in mappings, logs, or error payloads

Objective

Select a scheduled, API-driven, or callback-based trigger based on the Yotpo product’s event coverage and synchronization requirements.

Instructions in Martini

  • Use a Martini API for supported Yotpo callbacks
  • Use a scheduler for polling and reconciliation
  • Define the source checkpoint, timestamp, or stable identifier
  • Retain scheduled reconciliation when webhook coverage is partial

Objective

Call the relevant Yotpo REST endpoints and obtain complete resources or collection pages before transformation.

Instructions in Martini

  • Retrieve the current resource when a callback contains only an event summary
  • Process paginated collections until completion
  • Respect product-specific rate limits and response contracts
  • Persist source identifiers and checkpoints

Objective

Coordinate validation, enrichment, routing, target writes, and state updates in a maintainable Martini workflow.

Instructions in Martini

  • Separate authentication, validation, rate-limit, and server failures
  • Apply moderation, eligibility, and privacy rules
  • Use conditional branches for CRM, support, commerce, and analytics destinations
  • Keep reusable product-specific logic isolated from canonical mappings

Objective

Convert product-specific Yotpo JSON into canonical fields and target-specific payloads without losing important identifiers.

Instructions in Martini

  • Map Reviews, Products, Customers, Orders, members, and Rewards explicitly
  • Normalize dates, ratings, statuses, and identifiers
  • Preserve source IDs for idempotency and reconciliation
  • Handle optional media URLs only when the relevant product supports them

Objective

Send validated results to downstream APIs or approved storage and commit processing state only after successful writes.

Instructions in Martini

  • Create or update target objects using stable external identifiers
  • Prevent duplicate orders, cases, loyalty transactions, and rewards
  • Use target-specific validation before submission
  • Commit checkpoints after successful page or batch processing

Common Yotpo data objects used in integrations

ObjectTypical UseCommon target systemsMartini handling
ReviewsSynchronize customer review content, ratings, moderation state, timestamps, and associated product information.Salesforce, Zendesk, Shopify, Klaviyo, SnowflakeMartini retrieves or receives applicable review data, validates moderation and privacy rules, maps fields, and routes low-rated or approved reviews according to business rules.
ProductsAssociate reviews, ratings, visual content, or loyalty activity with catalog products.Shopify, Adobe Commerce, BigCommerce, SnowflakeMartini maps Yotpo product identifiers to target catalog identifiers and preserves product relationships during synchronization.
CustomersRepresent customers associated with purchases, reviews, loyalty activity, or user-generated content.Salesforce, Shopify, Klaviyo, NetSuiteMartini normalizes customer identifiers and attributes, filters sensitive fields, and applies create-or-update logic with duplicate protection.
OrdersProvide purchase transactions for review requests, verified-purchase association, or loyalty qualification.Yotpo Reviews, Yotpo Loyalty, Shopify, NetSuite, Adobe CommerceMartini retrieves eligible orders, maps line items and customer data, submits supported requests, and records source identifiers for idempotent retries.
Loyalty customers / membersRepresent participants in Yotpo Loyalty & Referrals programs, including points and program status.Salesforce, Shopify, Klaviyo, SnowflakeMartini synchronizes member attributes and status, applies privacy and eligibility rules, and maintains checkpoints for incremental processing.
RewardsRepresent loyalty rewards, redemptions, referral incentives, or configured benefits.Shopify, Salesforce, Klaviyo, SnowflakeMartini maps reward and redemption identifiers, prevents duplicate downstream actions, and routes exceptions for reconciliation.

Authentication and security considerations

Product-specific credentials

Yotpo authentication varies by product and account. APIs may require application keys, account identifiers, API keys, secrets, OAuth-style token exchange, and bearer access tokens.

Protect secrets and personal data

  • Store Yotpo credentials and tokens in Martini-managed secrets or environment configuration.
  • Do not expose credentials, customer email addresses, review content, or private media URLs in logs or public APIs.
  • Limit access according to the Yotpo application, account, product, and enabled permissions.

Validate callbacks

For supported webhook-style notifications, confirm the available signature, shared secret, authentication header, or IP restriction and validate the callback before processing it.

Operational considerations for Yotpo integrations

Rate limits and pagination

Confirm limits for each Yotpo endpoint, control request rates, and process collection pages until completion. Use scheduled extraction and checkpoints for large populations.

Idempotency and reconciliation

Persist stable source identifiers for orders, Reviews, Customers, loyalty transactions, Rewards, and events. Use a reconciliation workflow to detect missed callbacks, failed pages, and partial writes.

Schema and product differences

Yotpo has separate product API surfaces. Version mappings when schemas change, preserve unknown fields where practical, and confirm fields such as moderation status, ratings, product identifiers, and customer attributes.

Testing and operations

  • Test authentication, validation, rate-limit responses, pagination, duplicate delivery, and target failures.
  • Separate transient failures from permanent validation errors.
  • Monitor workflow outcomes and retain request or source identifiers where available.
  • Use scheduled reconciliation even when selected events are delivered by callback.

Why use Martini instead of scripts or point-to-point integrations?

Centralized orchestration

Martini coordinates Yotpo API calls, callbacks, target writes, validation, routing, and reconciliation in workflows rather than scattering logic across scripts.

Reusable transformation

Product-specific Yotpo payloads can be mapped into canonical models and reused across Salesforce, Shopify, Zendesk, Klaviyo, Snowflake, and other target APIs.

Reliability and maintainability

  • Use environment-managed secrets and controlled authentication.
  • Apply explicit business rules for moderation, eligibility, privacy, and duplicate prevention.
  • Handle pagination, retries, checkpoints, and reconciliation consistently.
  • Expose a normalized Martini API when multiple applications need consistent Yotpo-derived data.

Frequently asked questions

How can Yotpo be integrated with enterprise systems?

Yotpo is integrated primarily through product-specific REST APIs for Reviews, Loyalty & Referrals, Visual UGC, and SMS & Email. Selected products and events may support webhook-style notifications. Enterprise workflows typically exchange orders, customers, products, Reviews, loyalty members, and Rewards, using product-specific authentication and scheduled or event-driven synchronization.

Can Martini integrate with Yotpo?

Yes. Martini can integrate with Yotpo by consuming the applicable Yotpo REST APIs, processing JSON responses, using product-specific authentication, and receiving supported webhook-style notifications through a Martini API. The exact operations and event coverage depend on the Yotpo product and account configuration.

Do I need a connector to integrate Yotpo with Martini?

No. A dedicated Yotpo connector is not required. Martini can integrate using Yotpo’s confirmed native REST APIs, applicable webhook-style callbacks, product-specific authentication methods, and supported data exchange mechanisms.

Is there any extra Lonti cost to integrate Yotpo with Martini?

Lonti does not charge an additional per-connector or per-vendor fee to integrate Yotpo. The integration is subject to the provisioned capacity of the Martini environment. Separate costs may apply from Yotpo, cloud infrastructure, or other third-party systems based on subscription, usage, and deployment model.

Which Yotpo APIs or integration methods should be used?

REST APIs are the primary recommended method. Use the API surface for the specific Yotpo product, such as Reviews or Loyalty, and confirm its authentication, object model, permissions, pagination, and supported operations. Webhook-style notifications can supplement REST retrieval when the required product and event support them.

Does Yotpo support webhooks or event notifications?

Yotpo supports webhook-style or event-notification capabilities for selected products, events, and account configurations. Coverage is not universal across Reviews, Loyalty, Visual UGC, and SMS & Email, so integrations should retain scheduled reconciliation or incremental retrieval where appropriate.

How does synchronization with Yotpo handle mapping and incremental data?

Martini can map Yotpo JSON into canonical models and target-specific payloads for applications such as Shopify, Salesforce, Zendesk, Klaviyo, or Snowflake. Collection endpoints may support pagination, timestamps, filters, or stable identifiers that enable checkpointed incremental synchronization, but the exact parameters must be confirmed per API.

How are Yotpo errors, retries, and duplicates handled?

A Martini workflow can distinguish authentication, validation, rate-limit, and server errors; retry transient failures with controlled backoff; and avoid repeating non-idempotent operations blindly. Stable identifiers such as order IDs, review IDs, customer IDs, redemption IDs, or event IDs support duplicate prevention and reconciliation.