.png)
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 point | Supported by Yotpo? | Common use cases | How Martini supports it |
|---|---|---|---|
| REST APIs | Yes | Yotpo 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 callbacks | Limited | Selected 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. |
| Authentication | Yes | Yotpo 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 retrieval | Yes | Collections 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 APIs | Limited | Reviews 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 APIs | Not confirmed | Product-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 APIs | Not confirmed | No generally applicable official Yotpo GraphQL API was verified. | Martini should use the documented Yotpo REST APIs unless product-specific GraphQL documentation is supplied. |
| SOAP APIs | Not confirmed | No official Yotpo SOAP API was verified. | Martini should not select SOAP for a new Yotpo integration unless Yotpo provides product-specific confirmation. |
| Database / analytics access | No | Direct 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
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
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
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
Example Mapping
| Yotpo Field | Canonical Field | Target Field |
|---|---|---|
| order.id | sourceOrderId | Yotpo order identifier |
| customer.email | customerEmail | Yotpo customer email |
| line_items[].product_id | productId | Yotpo product identifier |
| completed_at | purchaseDate | Yotpo 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
Example Mapping
| Yotpo Field | Canonical Field | Target Field |
|---|---|---|
| review.id | reviewId | External review ID |
| review.rating | rating | Case priority or CRM rating |
| review.content | reviewText | Case description or feedback text |
| review.moderation_status | moderationStatus | Review 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
Example Mapping
| Yotpo Field | Canonical Field | Target Field |
|---|---|---|
| member.id | loyaltyMemberId | Customer external ID |
| member.points_balance | pointsBalance | Loyalty points balance |
| reward.id | rewardId | Reward external ID |
| redemption.status | redemptionStatus | Reward 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
Example Mapping
| Yotpo Field | Canonical Field | Target Field |
|---|---|---|
| review.product_id | productId | Commerce catalog product ID |
| review.rating | rating | Product rating |
| review.content | approvedReviewText | Published review text |
| media.url | mediaUrl | UGC 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
| Object | Typical Use | Common target systems | Martini handling |
|---|---|---|---|
| Reviews | Synchronize customer review content, ratings, moderation state, timestamps, and associated product information. | Salesforce, Zendesk, Shopify, Klaviyo, Snowflake | Martini retrieves or receives applicable review data, validates moderation and privacy rules, maps fields, and routes low-rated or approved reviews according to business rules. |
| Products | Associate reviews, ratings, visual content, or loyalty activity with catalog products. | Shopify, Adobe Commerce, BigCommerce, Snowflake | Martini maps Yotpo product identifiers to target catalog identifiers and preserves product relationships during synchronization. |
| Customers | Represent customers associated with purchases, reviews, loyalty activity, or user-generated content. | Salesforce, Shopify, Klaviyo, NetSuite | Martini normalizes customer identifiers and attributes, filters sensitive fields, and applies create-or-update logic with duplicate protection. |
| Orders | Provide purchase transactions for review requests, verified-purchase association, or loyalty qualification. | Yotpo Reviews, Yotpo Loyalty, Shopify, NetSuite, Adobe Commerce | Martini retrieves eligible orders, maps line items and customer data, submits supported requests, and records source identifiers for idempotent retries. |
| Loyalty customers / members | Represent participants in Yotpo Loyalty & Referrals programs, including points and program status. | Salesforce, Shopify, Klaviyo, Snowflake | Martini synchronizes member attributes and status, applies privacy and eligibility rules, and maintains checkpoints for incremental processing. |
| Rewards | Represent loyalty rewards, redemptions, referral incentives, or configured benefits. | Shopify, Salesforce, Klaviyo, Snowflake | Martini 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
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.
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.
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.
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.
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.
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.
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.
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.
Related Martini documentation
Workflows
Build a maintainable Yotpo integration with Martini
Use Martini to connect Yotpo’s product-specific APIs and selected event notifications with commerce, CRM, customer-service, marketing, and analytics systems through secure, observable workflows.