Change Log
Learn about Violet's latest integrations and features.
2025.07.08
🆕 Features
Summary of Changes to OFFER_REMOVED and OFFER_DELETED Webhooks
Background
Previously, the OFFER_REMOVED
webhook event was triggered when an Offer was marked for deletion or permanently deleted.
What’s Changed
Introduction of
OFFER_DELETED
Event There is now a distinctOFFER_DELETED
webhook event specifically for when an Offer is marked for deletion or permanently deleted from the system.OFFER_DELETED
is sent to all apps that were connected when an Offer is deleted (i.e., when the Offer is marked for deletion or removed from the database).New Behavior for
OFFER_REMOVED
OFFER_REMOVED
is now sent when an app loses access to an offer. This can happen when an offer is unpublished (status transitions fromPUBLISHED
toNOT_PUBLISHED
), when a merchant disconnects from an app (all published offers for that merchant and app), or when an offer is marked for deletion.OFFER_REMOVED
is no longer sent when an Offer is permanently deleted from the system, but it is sent when the offer is marked for deletion (prior to actual deletion).Bulk
OFFER_REMOVED
on App Disconnect When a merchant disconnects from an app, the system now triggersOFFER_REMOVED
webhooks for all currently published offers for that merchant and app. This allows apps to update their records and treat all the merchant’s offers as removed/unavailable upon disconnection.
Summary Table
Action
Previous Behavior (OFFER_REMOVED
)
New Behavior (OFFER_REMOVED
)
New Behavior (OFFER_DELETED
)
Offer unpublished (PUBLISHED
→ NOT_PUBLISHED
)
Not sent
Sent
Not sent
Offer marked for deletion
Sent
Sent
Sent
Offer deleted (permanently removed)
Sent
Not sent
Sent
Merchant disconnects app (all published offers)
Not sent
Sent (OFFER_REMOVED
per offer)
Not sent
Action Required
Update your webhook handlers based on the following changes:
To track permanent offer deletions, listen for the new
OFFER_DELETED
event.The
OFFER_REMOVED
event is no longer sent for permanent deletions. It is now sent when an offer is unpublished, marked for deletion, or when a merchant disconnects (triggering an event for each of their published offers).
Export Connected Merchants
Channels can now export comprehensive data about their connected merchants directly from the channel dashboard. This export provides a complete view of all connected merchants and their associated data for analysis and record-keeping.
Key Features:
Fixed export format with all connected merchants included automatically
Comprehensive merchant data including:
Merchant ID and name
E-commerce platform
Connection date
Current commission rate and rate change history
CSV format for easy analysis and integration with other tools
No customization needed - all relevant data is included by default
This feature complements the merchants page in the Channel Dashboard and provides an easy way to maintain records of your merchant network.
Learn more about Connected Merchants Export.
2025.07.01
🆕 Features
Enhanced Offer Publishing Notifications with OFFER_ADDED
Webhooks
Apps can now receive comprehensive real-time notifications when offers become available for purchase using the new OFFER_ADDED
webhook event. This provides complete offer availability coverage that wasn't possible with the existing OFFER_CREATED
event.
OFFER_ADDED
Event Details:
Triggers specifically when an offer becomes available for purchase
Fires automatically for:
Newly created offers that are immediately published
Existing offers whose status changes to "published" through individual updates
Offers updated to "published" status via bulk operations
Crucially: Pre-existing offers that become available when a merchant and Channel first connect
Why
OFFER_ADDED
vsOFFER_CREATED
:OFFER_CREATED
: Only fired when Violet first ingested an offer from a merchant's ecommerce platformOFFER_ADDED
: Fires whenever an offer becomes available for purchase, including pre-existing offers
Key benefit: Channels connecting to merchants with existing offer catalogs will now receive
OFFER_ADDED
events for all available offers, eliminating the gap where pre-existing offers had no creation notificationDeprecation Timeline:
OFFER_CREATED
deprecated on September 30 2025All integrations should migrate to
OFFER_ADDED
for comprehensive offer availability notifications
Implementation:
Listen for
OFFER_ADDED
events using the Create Webhook Endpoint.See the Webhooks Overview and Handling Webhooks guides for implementation details.
🐎 Faster Checkout with Asynchronous Transfers
Merchant fund transfers are now processed asynchronously to checkout. This update improves performance and ensures that issues during transfer processing for merchants no longer block cart submission if you are using
AUTOMATIC
transfers.What’s changed:
AUTOMATIC
Transfers no longer delay or cancel cart submissions.Checkout latency is reduced, especially for multi-merchant carts.
This is in both the Submit Cart API and Create Order API.
PaymentTransactions will now return a
transfer_status
ofPENDING
immediately following checkout. Previously this status would come back asSENT
.Once the transfer is completed asynchronously, the
transfer_status
is updated toSENT
, and aTRANSFER_SENT
webhook event will be emitted. You can subscribe to this webhook for updates or query the Order using the Get Order API.Failed transfers can be identified using the Search Transfers API.
Who this impacts:
Channels using Prism Pay with
AUTOMATIC
transfer behavior.If your system currently checks the
transfer_status
field on the Order or PaymentTransaction to confirm whether funds have been sent to merchants, we recommend shifting to webhook-based tracking for improved accuracy. Specifically, subscribing to theTRANSFER_SENT
andTRANSFER_FAILED
webhook events ensures you get real-time, reliable updates.
Learn more about Transfer settings and Transfer webhooks.
This is the first step in a broader effort to make transfers more reliable and easier to monitor.
Export Commission Rate Change Logs
You can now export detailed reports of commission rate changes directly from the commission rates page in the dashboard.
Key Features:
Flexible time ranges: Choose from Today, Yesterday, Current Month, Last 7 days, Last Month, or set a Custom date range.
Customizable columns: Include relevant data such as:
Commission rate change date
Previous and new rates
User details (type, name, email)
Context-specific information (Merchant ID/Name for channel users, App ID/Name for merchant users)
Export notifications: Optional alerts when your report is ready for download
Easy access: Download completed reports from the notifications area
This feature provides better visibility into commission rate history and supports better compliance and auditing requirements.
Learn more about commission rate management.
2025.06.24
🆕 Features
Improved Support for different Transfer Configurations in Iterative Checkout
Iterative Checkout now fully supports CUSTOM
, EXTERNAL
, and DISABLED
transfer configurations. Previously, the addSkuToCart step, if performed outside of Cart Creation, incorrectly required merchants to have a Violet payout account, even if your app was configured for CUSTOM
, EXTERNAL
, or DISABLED
transfers.
What’s changed:
addSkuToCart no longer enforces a payout account requirement for merchants if your app is configured with
CUSTOM
,EXTERNAL
, orDISABLED
transfers.
Who this impacts:
Apps using Iterative Checkout with non-
AUTOMATIC
transfer behavior. No integration changes are needed — the fix is live and applies automatically.
Learn more about different transfer configurations here to see if this applies to you.
2025.06.17
🆕 Features
Prestashop Integration Simplified
Apps onboarding Prestashop merchants no longer require the Violet Prestashop plugin installation if they don't use checkout or order-related API endpoints. This streamlines the onboarding process for merchants who only need basic integration functionality.
What's changed:
Prestashop plugin installation is now optional for apps that don't utilize checkout or order features.
These merchants can integrate more quickly without unnecessary plugin requirements.
Existing integrations using checkout/order features remain unchanged.
Who this impacts:
Apps that are configured for non-checkout/order related features. Please notify your Violet account representative if you have not previously communicated that your app does not require checkout/order features.
Automatic Currency Conversion for Squarespace Orders
Violet now automatically converts currencies when creating orders in Squarespace stores. If a store's base currency differs from the currency specified in the order request, and if the merchant's store is configured to reject alternative currencies, Violet will handle the conversion seamlessly instead of rejecting the order.
What's changed:
Orders are no longer rejected due to currency mismatches in Squarespace stores.
Currency conversion happens automatically during order creation.
Improved success rate for cross-currency transactions.
Who this impacts:
Apps onboarding Squarespace merchants who limit their store to an explicit currency.
Filtering Offers by Tags in the Dashboard
You can now filter offers in the Violet Dashboard using tags. This enhancement allows you to quickly find offers associated with specific tags. The tag filter supports logical operations, enabling you to filter down offers in a much more granular way. This makes it easier to manage and locate relevant offers based on your chosen criteria.
With the new tag filtering feature, you can create advanced queries using logical conditions. For example:
To find offers that have both the "sale" and "clearance" tags, use:
tag EQUALS "sale" AND tag EQUALS "clearance"
To find offers where the tag is not empty or does not equal "archived", use:
tag IS NOT EMPTY OR tag DOES NOT EQUAL "archived"
These combinations let you tailor your search to match exactly the offers you need based on their tags.
View All Merchant Onboarding Records via API
You can now retrieve a paginated list of all merchant onboarding records created under your app via the Violet API. This provides greater visibility into the onboarding process across your merchants and allows you to track status, payout configuration, and other onboarding metadata in real time.
What's changed:
New endpoint:
GET /v1/merchants/onboard
returns a paginated list of all onboarding records. Learn more in the dedicated API referenceSupports standard
page
andsize
query parameters.Each record includes
merchant_onboarding_id
,channel_merchant_id
,payout_details
, and timestamps.If no onboarding records exist, an empty content array is returned.
Who this impacts:
Apps that are currently using Violet's Onboarding APIs, available here. While there is no impact to your integration, if you already have Merchant Onboarding Records, you can now more easily interact with them.
App Description on Violet Connect
We've added app descriptions to the Violet Connect banner, making it easier for users to understand your app at a glance. Check out our guide on updating app settings here.
2025.06.10
🆕 Features
More Flexibility with Active Payout Account Switching
Merchants can now connect multiple Violet payout accounts and switch which one is active— without needing any migrations. This lets them easily change the account they have connected to Violet to receive funds.
What's changed:
A new UI in the merchant dashboard and in Violet Connect allows merchants to manage and switch their active payout account. See here for how to switch the active payout account.
Each app can have one active payout account at a time. New transactions will route to the current active account.
The active payout account for the merchant is made more clear in the UI that displays the list of payout accounts in the dashboard and in Violet Connect
Payment history and reporting remain tied to the payout account that was active at the time of each transaction.
Previously used payout accounts remain viewable for audit and reference.
Who this impacts:
Only channels using Prism Pay are affected by this change.
If your current flow is to onboard payout accounts outside of Violet (i.e. using DISABLED capture and transfer), this update does not impact you.
This new flow replaces the old “Payout Account Migration” process. You can send the following documentation to merchants who are trying to change their payout account: Connecting a new Payout Account
Default Redirect Behavior for Violet Connect
What's changed:
When no custom Redirect URL is configured, merchants are now automatically redirected to the merchant dashboard (merchant.violet.io) after completing the Violet Connect flow.
The Channel dashboard now displays the default redirect URL in the placeholder text when no custom URL is set
Custom Redirect URLs cannot be set to any violet.io domain pages.
Configuration: Set your custom Redirect URL
in the Channel dashboard configuration page
Merchant Connection Health
What's changed:
Connection health indicators for Merchant Payout Accounts and Commission Rates now return NOT_APPLICABLE status for channels not using Violet Checkout.
Who this impacts:
Only Channels operating without Violet Checkout are affected by this change.
2025.06.03
🆕 Features
Merchant Commission Rate Settings in the Channel Dashboard
Users without FINANCE
WRITE
permissions will now see an explicit view only tag when attempting to modify commission rates, improving clarity around access control and preventing confusion about why certain settings cannot be edited.
🔧 Fixes
Fixed an issue where the
Add SKU to Cart
flow failed to validate mismatched payment configurations across merchants. If a cart already contains merchants configured forAUTOMATIC
capture andAUTOMATIC
transfer, adding a SKU from a merchant with a different configuration—such asAUTOMATIC
capture andCUSTOM
transfer—will now correctly raise an unsupported_merchant_payments exception. All merchants in a cart must share identical capture and transfer settings. Learn more about different capture and transfer settings here.Fixes the ID column sizing in merchants and orders tables in the channel dashboard so that the ID is always visible regardless of window sizing.
2025.05.28
🔧 Fixes
The Stripe client ID is now optional when connecting a platform Stripe account. For details on when and how to use it, see Connecting a Platform Stripe Account.
2025.05.27
🔧 Fixes
Fixed misaligned error text in the payment configuration steps of Violet Connect.
Prevented unnecessary Stripe API calls when the newly created payout account is of type
EXTERNAL
during Violet Connect onboarding. Learn more aboutEXTERNAL
payout accounts here.
2025.05.19
🆕 Features
Offer Tags in the Channel Dashboard
Added a new "tags" column to the offers table in the channel dashboard. This column displays the tags associated with each offer, providing better visibility into the categorization of offers within the dashboard.
Tags are now also visible in the offer detail view when an offer is selected. This allows users to quickly access and review the tags associated with a specific offer without needing to navigate away from the offer detail page.
Transfer Reversals & Refund Flow Enhancements
Added support for
TransferReversal
objects to track and represent the reversal of funds from a merchant's payout account during a refund.Enhanced refund processing logic to automatically generate and persist reversal records, improving accuracy in reconciliation and visibility.
Linked
Refunds
,Distributions
, andTransfers
for end-to-end traceability of all funds across the refund lifecycle.Learn more about how transfer reversals work here.
Refund and Transfer Webhook Events
The following webhook events are now emitted as part of this release:
Payment Transaction Events
PAYMENT_TRANSACTION_CAPTURE_STATUS_UPDATED
PAYMENT_TRANSACTION_CAPTURE_STATUS_REFUNDED
PAYMENT_TRANSACTION_CAPTURE_STATUS_PARTIALLY_REFUNDED
Transfer Events
TRANSFER_UPDATED
TRANSFER_REVERSED
TRANSFER_PARTIALLY_REVERSED
TRANSFER_REVERSAL_FAILED
For payload examples and trigger details, visit the Payments Webhooks Overview.
Transfer and Transfer Reversal API Endpoints
To support retrieval and inspection of both Transfer
and TransferReversal
objects, we’ve introduced the following endpoints:
2025.05.12
🆕 Features
API Changes
Added new payment webhook events:
MERCHANT_PAYOUT_ACCOUNT_ACTIVATED
andMERCHANT_PAYOUT_ACCOUNT_DEACTIVATED
.These events are emitted when a Prism Payout Account is activated or deactivated
Learn more here.
2025.05.09
🔧 Fixes
Fixed an issue with generating payout exports in channel and merchant dashboards.
Addressed an issue where the payout export functionality in the channel and merchant dashboards would stall and fail to generate the report because of a bug in Violet's report run service. This has been resolved, and export should now generate successfully for all users.
For more information on how to generate payout exports, please refer to this guide on exporting payouts.
2025.05.07
🆕 Features
API Changes
Bulk Merchant App Uninstall API
Added support for disconnecting multiple merchants with a single API request.
Learn more here.
2025.05.05
🆕 Features
API Changes
Delete Prism Payout Account API
Added support for deleting a Merchant Payout Account via API. This also removes the associated Stripe Express account when eligible.
Accounts are only deletable if they have never had any orders placed against them.
Upon successful deletion, the
MERCHANT_PAYOUT_ACCOUNT_DELETED
event will be emitted with the corresponding Prism Payout Account ID.Learn more here.
2025.04.30
🆕 Features
Catalog Health Monitoring Improvements in the Channel Dashboard
Introduced a comprehensive new catalog health monitoring tab in the merchant connection panel that provides detailed insights into a merchant's overall catalog health.
Added an offer status summary view that provides real-time insights on published and available offers.
Added a detailed invalid products tracking table with:
Full search functionality
Comprehensive issue details for each problematic product
🧼 Cleanup
Expiration date for Violet Payout Accounts has been updated from May 1, 2025 to May 13, 2025.
Soon-to-be expiring Violet Payout Accounts are no longer shown in the Merchant Dashboard for irrelevant apps.
2025.04.28
🆕 Features
API Changes
SKU Metadata
SKU-level metadata syncing is now available for merchants on the
SHOPIFY
platform. Learn more here.
Contextual Pricing
Contextual pricing is now available for all
COMMERCETOOLS
merchants.Syncing is automatically enabled and requires no additional configuration.
Pricing is included directly in the base CommerceTools data.
Learn more here.
Added a new
email
field to thePayoutAccount
object. This field captures the email address associated with underlying Stripe account and will be available as a part of thepayment_provider_account
data.
Generate Custom Violet Connect Onboarding URLs
Added a new endpoint to fetch links within the Violet Connect Flow. Learn more about this here.
Supports an optional step parameter to retrieve a direct link to a specific flow (
PAYOUTS
,COMMISSION_RATE
, orCREATE_STRIPE_EXPRESS_ACCOUNT
). If no step is provided, URLs for all available onboarding steps will be returned.
2025.04.15
🆕 Features
📦 New Payments APIs (Prism Pay)
We’ve launched a set of Prism Pay APIs to give you deeper visibility and control over payment flows in Violet:
These endpoints allow you to query payout accounts and view how Distributions are tracked across merchants.
📡 New Payments Webhooks
We're introducing Payments-specific webhooks to provide real-time insight into payout account events. These events help you monitor when a payout account is created or when KYC requirements change.
MERCHANT_PAYOUT_ACCOUNT_CREATED
MERCHANT_PAYOUT_ACCOUNT_REQUIREMENTS_UPDATED
Learn more about how to integrate with these webhooks here.
2025.04.08
🆕 Features
API Changes
DISABLED
has officially replacedEXTERNAL
as a capture and transfer setting. Any channel previously configured withEXTERNAL
for capture or transfer has been automatically migrated to useDISABLED
. Meanwhile,EXTERNAL
has been reintroduced with a new purpose—offering an additional, more flexible option for channels that need to manage payments and transfers outside of Violet's infrastructure. Learn more about this here.
External Transfers Now Supported via Prism Pay
Channels can now use Prism Pay to generate Distributions for bookkeeping, process Transfers externally to merchants, and register those external transfers in Violet. This update gives you greater flexibility when managing payments outside of Violet’s infrastructure—especially useful for handling merchant transfers that fall outside your supported payments region. Learn more about External Transfers.
2025.03.31
🆕 Features
Enhanced Payment Integration Health Monitoring
Support for channels using their own integrated payment platforms, providing visibility into their payment integration health.
Added a new comprehensive payment health overview in the Channel Dashboard settings (/settings/payments).
Channel dashboard now displays:
Overall payment integration health status at a glance.
Detailed breakdown of payment components (credentials, webhooks, and scopes).
Stripe account configuration details and status.
Quick access to payment details and payout accounts from the overview page.
Learn more about this feature here.
2025.03.17
🆕 Features
Multi-App Payout Account Management for Merchants
We've introduced a comprehensive new view in Payout Settings in the merchant dashboard that streamlines how merchants manage their payout accounts across different app connections. The redesigned interface now groups payout accounts by their associated apps, providing better organization and clarity. To ensure complete visibility of your payment configurations, you can now view both inactive payout accounts and any orphaned accounts from disconnected apps.
🧼 Clean Up
Distribution exports now reflect the updated field names and formats announced in the March 10th, 2025 release. This aligns the dashboard export experience with the current distribution model.
Orders and bags in the dashboard now display the actual submission time from your e-commerce platform, rather than when they were created in our system. This gives you a more accurate view of when your customers placed their orders.
date_created
usage has switched over todate_submitted
for orders and bags in the dashboard.
2025.03.10
🆕 Features
Enhanced support for non-US based Stripe Platform accounts
We’ve expanded capabilities for Stripe Platform accounts based outside the US to onboard merchant payout accounts in different countries within the same region. For example, a UK-based platform can now onboard merchant payout accounts across the European Economic Area (EEA) and automatically transfer funds to them. To see all supported countries in your region, visit your Stripe dashboard.
📈 Update to Capture and Transfer Methods in Violet
Breaking Changes
Summary
Violet currently supports the following capture and transfer methods:
AUTOMATIC
CUSTOM
EXTERNAL
We are introducing a new field on March 24, 2025:
DISABLED
Impacted Areas
PaymentTransaction
The
PaymentTransaction
model on theOrder
object will now include theDISABLED
field.This will replace the existing
EXTERNAL
capture and transfer method when this configuration is used in your payment infrastructure.
Timeline
March 24, 2025
DISABLED
field released as a replacement toEXTERNAL
.EXTERNAL
takes a new meaning as a capture/transfer setting.
What’s Changing?
Capture Methods
EXTERNAL
will no longer be supported as a capture method.DISABLED
will replaceEXTERNAL
in this context, meaning Violet will have no involvement in capturing funds from the shopper—no payment infrastructure is used, and no records are created.
Transfer Methods
EXTERNAL
will now function as follows:Violet will generate Distributions in a
PENDING
state at Checkout.The channel can then transfer funds externally to the merchant (e.g., via direct bank transfer or other methods).
A new "Register Transfer" API will be available, allowing channels to register external transfers with Violet and mark corresponding Distributions as
SENT
.
DISABLED
will mean that Violet will have no involvement in transferring funds to the merchant. This includes not generating any Distribution records.
Next Steps
If your system currently relies on
EXTERNAL
being present in thePaymentTransaction
on the Order object, please update to usingDISABLED
. Additional guides and documentation will also be published alongside these changes for you to learn about how they can be leveraged to support new capture and transfer flows. For any questions, reach out to our support team.
📈 Upcoming Changes to Distribution Exports
Breaking Changes
Summary
We’re introducing new fields to Distribution
entities and updating Distribution exports to include these fields. As part of this update, some existing columns will be replaced with improved versions.
Impacted Areas
Distribution
Exports: New columns will be added, and some existing ones will be deprecated.
Timeline
March 17, 2025
New fields become available.
April 7, 2025
Old fields will be removed from Distribution exports.
What’s Changing?
New Fields Being Added (Effective March 17, 2025)
FieldDescriptionnet_distribution_amount
The final amount to be distributed after all fees, commissions, and discounts.
distribution_amount
The initial distribution amount before any deductions.
tax_amount
The total tax amount included in the distribution.
shipping_amount
The total shipping charges included in the distribution.
payment_provider
The payment service provider handling the transaction (e.g., STRIPE). Replaces
payment_service
.payment_provider_total_fee
The total fee charged by the payment provider. Replaces
payment_service_total_fee
.payment_provider_fixed_fee
The fixed fee component charged by the payment provider. Replaces
payment_service_fixed_fee
.payment_provider_volume_fee
The percentage-based fee charged by the payment provider. Replaces
payment_service_volume_fee
.payment_provider_transaction_id
Unique identifier assigned by the payment provider. Replaces
external_transaction_id
.bag_commissionable_amount
The amount eligible for commission calculations (bag total minus shipping, tax, and discounts).
Fields Being Deprecated (Removal on April 7, 2025) These fields will be available until April 7, 2025, after which they will be fully removed in favor of the new fields above.
Deprecated FieldReplacementpayment_service
payment_provider
payment_service_total_fee
payment_provider_total_fee
payment_service_fixed_fee
payment_provider_fixed_fee
payment_service_volume_fee
payment_provider_volume_fee
external_transaction_id
payment_provider_transaction_id
amount
net_distribution_amount
Next Steps
If your system relies on the deprecated fields, update your integrations to use the new fields before April 7, 2025.
2025.03.03
🆕 Features
Channel Dashboard Updates
Commission Rate Change Log Enhancements
Added redirect functionality from commission rate change log entries to the merchant connections page.
When clicking a change log row, users are now directed to:
The specific merchant's connection details
The commissions tab for that merchant
API Changes
Added further restrictions to prevent Offers in a
NOT_PUBLISHED
state from being submitted via Direct Order Submission.A
date_submitted
property has been added to the Order and Bag objects. This value, in the ISO 8601 format, will capture the following moments:When the overall Order passed all validation checks and entered into a state of being submitted.
When each Bag within the Order was submitted to the external commerce platform.
Violet Connect
BigCommerce
Violet Connect has been updated for BigCommerce merchants, allowing them to use store-level credentials to connect their stores to Violet instead of relying on the BigCommerce marketplace app via OAuth.
2025.02.24
🆕 Features
Filter Orders by Date in Dashboard UI
Added a new date filter option to the channel dashboard orders page. You can now filter orders by date with the following options:
Orders created after a specific date
Orders created before a specific date
Orders created between two dates
Orders created on a specific date
🔧 Fixes
Fixed an issue with Violet Connect's redirect handling after a successful Stripe standard account connection
Addressed an issue in which customers would onboard merchants in Violet Connect choosing to setup a Stripe Standard account. The Stripe Connect connection through OAuth would succeed, but when being redirected back to Violet Connect, the merchant would see an error page instead of the new payout account.
🧼 Clean Up
Clean up accuracy of search orders endpoint
2025.02.18
🆕 Features
Contextual Pricing
Commonly referred to as “Presentment Currencies”, is now available for use with merchants on the
BIGCOMMERCE
platform who are subscribed to the BigCommerce Enterprise plan. Learn more here.
⚙️ Integrations
SHOPIFY: ‘Sync Catalog’ by Collection using GraphQL
Shopify merchants who are using collection filtered catalog syncs will be migrated to the Shopify GraphQL API. Previously these merchants were required to remain using Shopify’s now-deprecated REST API as the GraphQL API did not support catalog collection filters. Violet will perform this migration for all merchants still using the Shopify REST API. No action is required from the channels connected to these merchants and no change in behavior or functionality will be experienced.
🔧 Fixes
Fixed issue where certain marketplace orders placed against a Shopify store could fail to have transactions persisted in Shopify. This could cause down-the-line issues when a Shopify order was refunded by a channel. Violet now has additional checks after order submission to retry the transaction request if Shopify does not persist the transaction on order creation.
2025.02.10
🆕 Features
Stripe Country Validations
Stripe only allows for Stripe Connect completion between two Stripe Standard accounts if they are located in the same country.
Any merchant users trying to setup payments using a Stripe Standard account must validate their banking country before connecting their via OAuth.
This was originally implemented in Violet Connect and is now added to the Merchant Dashboard, as well.
Note: This does not affect merchant users setting up a Stripe Express account. The Stripe Express setup flow remains unchanged and is recommended for most users.
WooCommerce Shipping Provider: Pirate Ship
Coverage of fulfillment tracking numbers for
WOOCOMMERCE
merchants using Pirate Ship has been implemented. Pirate Ship can now be selected as the merchants shipment extension in the WooCommerce Violet Settings view. See Configuring the Violet Plugin.
🔧 Fixes
Fixed an issue where the Get Available Shipping Methods request would fail for some Shopify merchants using a certain fulfillment provider. This fulfillment provider began injecting JWT's into the shipping method ID property which far exceeded the maximum length of an indexable value.
Fixed an issue where shoppers attempting to inject bad data through the
first_name
andlast_name
properties would cause a failure to apply the customer to a cart. These inputs will now be truncated to the first 2 space-delimited values, with any character beyond 32 characters being omitted. This limit is now noted in the API Reference.
2025.02.03
🧼 Cleanup
Violet Connect now requires a Standard Stripe account to be in the same banking country as the Stripe Platform account. If the countries do not match, merchants should create a Stripe Express account to enable cross-border payouts.
2025.01.30
🆕 Features
Added a new field to the
Bag
object calledexternal_reference_id
. This field will be populated when a successful order is placed on a platform that utilizes vanity numbers on the external orders. This is currently limited to theSHOPIFY
platform which hides the true order ID and instead uses a vanity number in customer communication emails.
🧼 Cleanup
Added a line item availability check to the Estimate Cart endpoint for the
COMMERCETOOLS
platform.
🔧 Fixes
Fixed an issue where presentment currencies were only reflected in the
presented_currency
field on an Offer but not in thecurrency
field, leading to potential confusion. The providedbase_currency
value will now always be reflected in thecurrency
field.
2025.01.27
🆕 Features
Contextual pricing, commonly referred to as "Presentment Currencies", is now available for use with merchants on the
SHOPIFY
platform. Learn more here.Channels with Stripe Platform Accounts located outside the US can now connect their existing Stripe accounts for streamlined payment orchestration. Learn more here.
🧼 Clean Up
Additional validations have been implemented at the Violet API layer to ensure compliance with Stripe's cross-border payment restrictions. When connecting a merchant payout account, if a Stripe Standard account is being connected, it must be in the same banking country as the Stripe Platform account. If the countries do not match, merchants should create Stripe Express accounts to enable cross-border payouts. Anytime this is not the case, Violet will now respond with the following error:
{
"error": "payout_account_connection_not_valid",
"error_code": 4448,
"error_message": "This payout account is not compatible with transactions because it is a Stripe Standard account registered in <MERCHANT_COUNTRY>, while the Platform Stripe account operates in <PLATFORM_COUNTRY>. Please set up a Stripe Express account to receive payouts."
}
🔧 Fixes
Customer address postal codes are no longer required for the following countries:
AO
,AG
,AW
,BS
,BZ
,BJ
,BM
,BO
,BQ
,BW
,BF
,BI
,CM
,CF
,TD
,KM
,CG
,CD
,CK
,CI
,CW
,DJ
,DM
,GQ
,ER
,FJ
,TF
,GA
,GM
,GH
,GD
,GY
,HM
,HK
,KI
,KP
,LY
,MO
,MW
,ML
,MR
,NR
,AN
,NU
,QA
,RW
,KN
,ST
,SC
,SL
,SX
,SB
,SO
,SR
,SY
,TL
,TG
,TK
,TO
,TT
,TV
,UG
,AE
,VU
,YE
,ZW
.
2025.01.21
🆕 Features
Dashboard Orders Page Enhancements:
Introduced new orders page in the dashboard.
New tabs for "Orders" and "Bags" with "Orders" as the default tab. This allows users to easily switch between viewing and interacting with orders and bags.
The orders table now displays detailed information for each order, including:
Order ID: A unique identifier for each order.
Date Created: The date and time when the order was created.
Full Name of the Customer: The full name of the customer who placed the order.
Order Total: The total amount for the order.
Order Status: The current status of the order.
Total Number of Bags in the Order: The total count of bags included in the order.
Total Number of Items in the Order: The total count of individual items in the order.
Both orders and bags are now presented in a paginated table format
Enhanced search and filter capabilities for orders, enabling users to search and filter by:
Order ID: Search for orders using their unique identifier.
Bag ID: Search for orders by the ID of the bags included.
Customer Name: Filter orders by the customer's name.
Customer Email: Filter orders by the customer's email address.
SKU Name: Search for orders containing specific SKU names.
Exact Total: Filter orders by their exact total amount.
Merchant ID: Filter orders by the ID of the merchant.
Order Status: Filter orders by their current status.
The "Orders" tab in the merchant dashboard has been renamed to "Bags" to better reflect its content.
Upcoming Improvements:
Order detail view: A detailed view for individual orders will be introduced, providing more in-depth information about each order.
Export functionality: Users will be able to export order data for reporting.
2025.01.14
🆕 Features
API Updates
Upcoming Changes
These changes were delayed to 03/17/2025 to ensure that there is enough time for all customers to understand and implement any necessary changes.
The following fields will be added to the Distributions model and will be included in distribution exports starting 01/27/2025:
net_distribution_amount
The final amount to be distributed after all fees, commissions, and discounts are applied
distribution_amount
The initial distribution amount before any deductions
tax_amount
The total tax amount included in the distribution.
shipping_amount
The total shipping charges included in the distribution
payment_provider
The payment service provider handling the transaction (e.g., STRIPE). This column will replace payment_service
.
payment_provider_total_fee
The total fee charged by the payment provider for processing the transaction. This column will replace payment_service_total_fee
.
payment_provider_fixed_fee
The fixed fee component charged by the payment provider. This column will replace payment_service_fixed_fee
.
payment_provider_volume_fee
The percentage-based fee charged by the payment provider based on transaction volume. This column will replace payment_service_volume_fee
.
payment_provider_transaction_id
Unique identifier assigned by the payment provider for the transaction. This column will replace external_transaction_id
.
bag_commissionable_amount
The amount that is eligible for commission calculations. This is the bag total minus shipping, tax, and discounts.
As a result of including the fields mentioned above, the following fields will be deprecated. Starting on 02/10/2025, these fields will no longer be populated:
payment_service
Deprecated in favor of payment_provider
payment_service_total_fee
Deprecated in favor of payment_provider_total_fee
payment_service_fixed_fee
Deprecated in favor of payment_provider_fixed_fee
payment_service_volume_fee
Deprecated in favor of payment_provider_volume_fee
external_transaction_id
Deprecated in favor of payment_provider_transaction_id
amount
Deprecated in favor of net_distribution_amount
We will continue to include them in the data response until 02/17/2025, after which the fields will be removed.
🔧 Fixes
Resolved an issue where tax amounts during Direct Order Submission were incorrectly passed to merchant stores in the cart currency instead of the merchant store's currency when the channel was designated as the tax remitter. This was not impacting final prices, however, the merchant could see line item sums that did not add up to the total price of paid by the shopper because of this issue.
2024.12.17
🆕 Features
API Updates
Introduces the Refund Bag endpoint. Using this API you can initiate refunds for any bags originated by your app.
Integration Updates
We’ve updated the partial refund process in Violet to handle
refund_discrepancy
amounts returned by Shopify. If a merchant doesn’t properly allocate refund amounts to the corresponding line items, any resulting difference will now be taken from their distributions. This ensures that Channels do not have more commission reversed for an incorrect partial refund than they should.
2024.12.09
🆕 Features
API Updates
Bags with disputed payments will now reflect this in the new
dispute_status
field. When this field isnull
orUNDISPUTED
there is no dispute on the payment. Disputes are bag level because a single charge can be disputed multiple times and each dispute typically reflects a single bag.
Integration Updates
The Squarespace (
SQUARESPACE
) integration is now available for marketplace channels who calculate their own tax rates. Please reach out to your Violet account representative if you are interested in having this platform enabled for your app(s). Squarespace does not provide a cart/checkout API at this time and therefore cannot be used by non-marketplace channels who rely on merchant tax rates.
🔧 Fixes
API Updates
Fixed issue where
ORDER_SHIPPED
andORDER_UPDATED
event webhooks were not sent after an order had been partially fulfilled in the merchants system.Fixed issue where
ORDER_UPDATED
event webhooks were not sent after a fulfillment had been cancelled in the merchant system.
2024.12.03
🆕 Features
API Updates
Adds improved date last modified filtering when interacting with orders.
The
before_date
param in the request body is now deprecated.The
after_date
param in the request body is now deprecated.The
date_last_modified:min
anddate_last_modified:max
request body params have been added. Each of these will accept an ISO 8601 datetime string.The
date_created:min
anddate_created:max
request body params have been added. Each of these will accept an ISO 8601 datetime string.
The
before_date
param in the request body is now deprecated.The
after_date
param in the request body is now deprecated.The
before_date_created
param in the request body is now deprecated.The
after_date_created
param in the request body is now deprecated.The
date_last_modified:min
anddate_last_modified:max
request body params have been added. Each of these will accept an ISO 8601 datetime string.The
date_created:min
anddate_created:max
request body params have been added. Each of these will accept an ISO 8601 datetime string.
The
date_last_modified:min
anddate_last_modified:max
query params have been added. Each of these will accept an ISO 8601 datetime string.
Dashboard Updates
The dashboard's ImageCropper now automatically enforces square image cropping when users upload rectangular images.
Added a Cancel Bag button to the Channel dashboard's Bag details pane.
The DevRev support widget has been relocated to the bottom of the main navigation bar in the Channel dashboard.
Integration Updates
Support for WooCommerce merchants using non-native sales tools that inject the sale price into the
price_html
field has been added. These prices will now be extracted from the HTML and applied as the sale price on the Violet Sku.
2024.11.25
🆕 Features
API Updates
Adds improved date last modified filtering when retrieving a merchants offer count and when retrieving merchant offers.
The
since
query param on the Get All Merchant Offers endpoint is now deprecated.The
date_last_modified:min
anddate_last_modified:max
query params have been added to the Get All Merchant Offers endpoint. Each of these will accept an ISO 8601 datetime string.The
date_last_modified:max
query param has been added to the Get Count of Merchant Offers endpoint. Similar to the existingdate_last_modified:min
query param on this endpoint it will accept an ISO 8601 datetime string.
Dashboard Updates
Adds the offer
type
property to the offer detail pane in the dashboard.
2024.11.18
🆕 Features
API Updates
The Cart endpoints in the Violet API Reference have been updated to include multiple request and response samples. These can be used to understand and account for potential non-happy-case scenarios.
Violet will no longer create new Offers for external products that are initially in an archived state the first time they are synced. If an Offer was previously created in Violet before being externally archived the Offer will continue to be updated and will reflect a status of
ARCHIVED
before eventually moving to aFOR_DELETION
state.
✨Introducing enhanced support for CUSTOM
Transfers
You can now use the Custom Transfers APIs to manage pending distributions more flexibly during checkout. New capabilities include:
Transferring pending distributions for a single order
Transferring pending distributions for a single bag
Transferring pending distributions for multiple orders
Transferring pending distributions for multiple bags
Optimized Merchant Transfers for Bulk Distributions:
When multiple distributions are associated with the same merchant, Violet now consolidates them into a single transfer, ensuring a streamlined and efficient bulk payment process.
Learn more about CUSTOM
Transfers, here.
🔧 Fixes
Integration Updates
When the external commerce platform provides a carrier status that indicates an item has been successfully delivered, the Bag
fulfillment_status
will now have a value ofDELIVERED
. This will occur even when the external commerce platform does not have a native order fulfillment status that reflects delivery.
API Updates
Resolved an issue where partial refunds for orders created via the Create Order API were miscalculating payment provider fees. Refund distributions now accurately reflect the correct amounts.
Fixed a bug where the Create Order API did not correctly process line items with SKU quantities greater than one.
2024.11.13
🆕 Features
API Updates
✨Introducing Flexible Payment and Transfer Strategies
Violet currently offers two payment processing models:
Orchestrated Payments — In this model, Violet orchestrates charges to the shopper and transfers payments to merchants.
Bypassed Payments — Here, Violet takes no action on payments or transfers. Instead, the Channel charges the shopper, and any transfers to merchants are managed by the channel.
We’re introducing greater flexibility in how you interact with Prism Pay, Violet’s orchestrated payments integration. You now have the ability to configure capture and transfer settings at both the app and merchant levels, giving you more control over the payment flow. You will see capture_method
, transfer_method
on the PaymentTransaction model that is returned as a part of the Cart. Each of these will have their own dedicated statuses, which you can learn more about in PaymentTransactions.
Capture Method — This defines how the shopper’s payment method is charged. Available options are
AUTOMATIC
,EXTERNAL
andCUSTOM
.Automatic — Violet generates a pending charge on the shopper’s payment method and automatically captures it once the order is successfully submitted.
External — The channel manages all aspects of fund capture from the shopper. Violet does not take any action with Stripe to charge the shopper in this scenario and assumes payment has been captured directly by you.
Custom — Violet creates a pending charge on the shopper’s payment method but will only capture funds when triggered separately by the channel. This setup is ideal if you want the shopper to be charged once specific conditions have been met. For example, capture funds only after the merchant fulfills the order. (Support for
CUSTOM
capture will be released in a future iteration of this feature. Timing TBD.)
Transfer Method — This determines how Merchants receive funds for each order placed through Violet. Available options are
AUTOMATIC
,EXTERNAL
andCUSTOM
.Automatic — Violet generates and processes the transfer of funds to Merchants automatically as part of each order submission, ensuring merchants are paid in an automated fashion.
External — The Channel fully manages Merchant transfers and payouts for orders placed through Violet. Violet does not generate any transfer, distribution or payout records for bags and orders associated with these Merchants.
Custom — Violet creates Distribution records for Merchants but only transfers funds when prompted by the channel. While merchants can view their pending Distributions in the Merchant Dashboard, they will not receive funds until the channel initiates the transfer of funds. (APIs for
CUSTOM
transfer initiation will be launched on Nov 18.)
App-level and merchant-level payment bypassing will now be known as EXTERNAL
capture and EXTERNAL
transfer. Reach out to our support team to learn more about how to configure these payment options.
2024.11.11
🆕 Features
Integration Updates
Safety stock rules can now be applied to a merchant's Violet configuration to enable custom out of stock levels. Upon request, safety stock rules can be applied based on collection, category, tag, or vendor. As an example, if a merchants custom out of stock level is 2, then relevant Sku’s will be marked as out of stock when their available quantity reaches 2 or less.
🔧 Fixes
Dashboard Updates
Fixes an issue with the dashboard not being able to migrate a Stripe standard account to a Stripe express account.
Fixes an issue with refund distributions not being generated for transactions that occurred through a Stripe platform account.
2024.11.06
🆕 Features
Violet Connect Updates
Support for adding an optional Shopify Storefront API Access Token as part of the the Shopify API credential onboarding step.
2024.11.04
🆕 Features
Dashboard Updates
When a new Channel account is created on the Violet Dashboard, a pre-configured Payout Account for Demo mode is now automatically enabled, allowing for immediate order processing.
API Updates
The Create Order API now supports orders in multiple currencies, enabling shoppers to be charged in the specified currency on the Cart when the Order is placed.
⚠️ Notice of Future Breaking Change
On November 11th, 2024, the following changes will be made to the
Cart
object:bag.transactions
will be removed.intent_based_checkout
will be removed.payment_transaction.status
will be replaced bypayment_transaction.capture_status
.
Integration Updates
Shopify merchants can now limit the sourcing of their Sku inventory levels to an explicit list of one or more locations.
Support of the Shopify Storefront API has been fully implemented. This API is rate-limit-free and will be used for all checkout steps prior to order submission for any merchants who provide the necessary scopes.
2024.10.28
🆕 Features
Integration Updates
Optimized RESTful endpoint has been added to the Magento 2 extension that enables for order creation using a single API call.
We recommend that Magento 2 (Adobe Commerce) merchants upgrade to version
1.3.0
when convenient to do so.
We now request two additional scopes from Shopify merchants during Shopify merchant onboarding:
write_merchant_managed_fulfillment_orders
- allows for a fulfillment hold to be applied to an order when fraud is suspected. This ensures that a merchant does not fulfill an order before an investigation has been completed.unauthenticated_write_checkouts
- allows for Shopify carts to be created using the GraphQL Storefront API. This API allows for all cart creation steps before order submission to be performed without consuming rate limits.
2024.10.21
🆕 Features
API Updates
Stripe Payment Intents are now supported when performing Direct Order Submission.
Cart creation now surfaces improved error messaging when external failures occur. See Handling Cart Creation Errors.
2024.10.14
🆕 Features
API Updates
The ID of the parent Offer is now included in the Sku data for all new carts in the
offer_id
property.Added the
external_id
property to the Offer Shipping Data.Added a default limit of
5
concurrent channel initiated catalog re-syncs. Please reach out to your Violet account manager of you require a higher limit.
Integration Updates
Added a parser that extracts Magento 2 product descriptions from Magezon Page Builder templating tags.
🔧 Fixes
Fixed issue where the
taxes_included
property on a Bag could default back to a value offalse
if the order was later processed by an order reconciliation event. This had no impact or totals or the amount the shopper was charged.
2024.10.07
🆕 Features
API Updates
Improved surfacing of errors cause by Sku unavailability during order submission. Additionally, when a platform rejects an order due to Sku unavailability Violet will imediately mark that Sku as no longer available in the Violet system. See Handling Cart Submission Errors for more details.
🔧 Fixes
Fixed issue where the failure of a single bag during order submission could result in all bags being cancelled/voided. The root cause of this was a failure within Stripe when performing the developer account payout transfer after the capture amount had been reduced.
🧼 Clean Up
Began effort to significantly improve property descriptions and example responses in the Violet API Reference. The initial improvements will focus on Catalog and Cart/Order endpoints, and will expand from there.
2024.09.30
🆕 Features
API Updates
Direct Order Submission no longer requires approval and is open to all channels.
Integration Updates
Adds support for extracting free shipping constraints for WooCommerce merchants using the Flexible Shipping plugin.
Magento 2 extension version
1.2.0
has been released to the Magento Marketplace. This version adds several new custom endpoints to the Magento REST API that improves the speed and performance when performing Quick Checkout and Cart Estimations.
🧼 Clean Up
Improved exceptions thrown when Checkout is performed on a Merchant that does not have a payout account.
2024.09.23
🆕 Features
Dashboard Updates
The Bag ID column in the bags table is changed to use Order ID instead.
The Order ID is included in the bag detail pane.
API Updates
Shipping data on the Offer object can now be enabled on a per-merchant basis. It is currently limited to the
SHOPIFY
integration. You can learn more about how to enable and use Offer shipping data here.
🔧 Fixes
Fixed issue where the Merchant synced offers count was showing a different offers synced count on the channel dashboard when compared to the merchant dashboard.
2024.09.16
🆕 Features
Dashboard Updates
Adds Offer status filtering on the Merchant and Channel dashboards.
Adds Brand search on the Merchant and Channel offers pages.
API Updates
Shipping data on the Offer object is now being beta-tested with several merchants. This feature will achieve stable release in an upcoming deployment.
Integration Updates
Added an explicit inventory availability check during Shopify order submission. This is in response to recent observations of Shopify allowing for out of stock items to be purchased.
2024.09.09
🆕 Features
Dashboard Updates
Search by orderId functionality added to the merchant dashboard Bags page.
2024.09.06
🆕 Features
API Updates
When a cart is submitted the order
status
will now immediately change toPROCESSING
and all additional calls to submit the cart will result in an exception until the initial request has completed. This is an expansion of our existing efforts to prevent double-submissions and the subsequent race condition errors that they can cause.
The following error message will be returned when subsequent order submission requests occur before the initial request has completed:
{
"message": "Order submission is in progress. Please wait for the submission to complete before trying again.",
"error": "order_submission_in_progress",
"code": 4238
}
2024.09.04
🆕 Features
Dashboard Updates
Updates the offers page on the merchant dashboard for improved publishing controls.
Updates the live and test mode toggle design on the channel dashboard.
API Updates
Alternate text will now be present on media when the merchant has populated this value within their commerce platform.
Added a fallback solution for the rare Shopify "Unable to reserve inventory" error during draft order submission. When Shopify returns this error Violet will now perform an additional query to Shopify to determine if this is a valid or invalid error. If the error is invalid Violet will bypass the error and re-submit the order.
🔧 Fixes
Fixed issue where the default switch value displayed on the notification settings in the Channel dashboard was incorrectly showing the setting as switched off when it should be on.
Fixed issue where a Shopify refund may not immediately be processed when the webhook was received and was instead processed during the next reconciliation event.
2024.08.26
🆕 Features
Channel users will receive emails when a connected merchant store is disabled or re-enabled.
Channel users will receive notifications on the notifications page when a connected merchant store is disabled or re-enabled.
Channel users can control their email notification settings related to merchant status changes from the notification settings page.
🔧 Fixes
Fixed Stripe dashboard link issue in Violet Connect when clicking “Go to Stripe” after successful payout account setup.
2024.08.20
🆕 Features
Dashboard Updates
Channel users are now able to change the commission rate and commission locked values for each merchant in the merchants tab.
API Updates
The syncing of "sale prices" can now be disabled on a per-merchant basis. When disabled, Violet will only sync the "retail price" which will be reflected on the Offer and will be used when creating carts and submitting orders.
🔧 Fixes
Fixed issue where missing properties in the Shopify product webhook data could lead to a failed webhook. As Shopify continues to remove properties from the webhook body we will continue to expand our usage of the Shopify GraphQL API to obtain extended data as real-time product events are processed.
Added fallback handling for merchants who have removed the store name in their external commerce platform. While very rare and not possible in most platforms, this could lead to a failed onboarding.
2024.08.13
🆕 Features
API Updates
Support for ongoing order reconciliation has been added to the BigCommerce integration. This process will regularly check the status of external BigCommerce orders to ensure that no order fulfillment, refund, or cancellation webhooks were unsent or missed.
2024.08.05
🆕 Features
API Updates
Order cancellations is now in beta and available for use by all channels. See Cancel Order.
Commission rate change logs are now available on the API and available for use by all channels.
2024.07.29
🆕 Features
API Updates
Channels are now able to configure default commission rates and lock commission rates by default through the app configuration. New merchants connected to an app through Violet Connect will automatically have the app's default commission rate and locked values applied on connection.
Channels can pre-configure custom commission rates and commission locked values with a
channel_merchant_id
which will be applied when a merchant is sent through Violet Connect with a matchingchannel_merchant_id
query parameter. These custom values take priority over the app configuration's default commission rate values.
🔧 Fixes
Fixed issue where Violet was processing payout information for Stripe Standard accounts without accounting for payments not related to Violet. Payouts dashboards will no longer show data not related to Violet.
2024.07.22
🆕 Features
API Updates
An Address Block List has been implemented that will prevent historically fraudulent addresses from being applied to a new Violet cart. These are addresses that have been used as the shipping address with proven stolen card numbers in past Violet orders. This block list can be enabled or disabled on a per-app basis.
🔧 Fixes
Fixed issue where automatic discounts from a
BIGCOMMERCE
merchants store were not being reflected on the Violet cart.Fixed issue where Variants and Variant Values for
WOOCOMMERCE
sourced Offers did not always have a populateddisplay_order
property.
2024.07.15
🆕 Features
API Updates
(Coming Soon) Order Cancellation via Violet APIs is now in alpha testing. Reach out to learn more about this feature.
Integration Updates
Store pickup type shipping options will now be filtered out of the available shipping methods.
🔧 Fixes
Fixed issue where incorrect Distributions would get updated on Stripe payout events
2024.07.08
🆕 Features
API Updates
✨Introducing Payment Transactions
Carts that use Violet for payment orchestration will now expose Payment Transaction information, such as underlying payment provider and current payment state. Learn more about payment transactions here.
✨Introducing Direct Order Submission
Direct order submission enables channels who calculate their own tax and shipping rates to submit fully composed orders in a single request. Learn more about direct order submission here.
Integration Updates
Added a workaround for the new Shopify “Market has Changed” bug where Shopify would prevent international shipping addresses from being applied to any orders sourced by US merchants enrolled in the new Managed Markets program. These orders will now succeed unless the items being purchased are restricted in the shoppers country.
Dashboard Updates
Merchants can now view, export, and see a breakdown of their payouts in the Violet Dashboard.
🔧 Fixes
Fixed issue where new message threads on the Channel and Merchant dashboard would be stuck in an unread state.
Fixed issue where automatic discounts in an external BigCommerce cart were not factored into the Violet cart totals when a promo code was also being applied.
Fixed issue where modifying the quantity of an existing item in a Violet cart could fail with an exception stating that the merchants credentials were not found.
Fixed issue where the inventory may have appeared as out of stock when a BigCommerce merchant used the parent product for tracking inventory instead of the individual variants.
2024.07.01
🆕 Features
Shopify free shipping discounts can now be applied to a cart before a shipping method is selected.
Order reconciliation is now available for WooCommerce merchants. With order reconciliation, Violet will regularly check the status of the external order to ensure that no order lifecycle webhooks were unsent or not received. This feature is also currently available for Shopify and Wix merchants.
🔧 Fixes
Fixed issue where Offer-level currencies for non-USD Wix merchants would default to USD while the Sku-level currencies correctly reflected the store currency. Now both the Offer and Sku will reflect the store currency.
Fixed issue where WooCommerce discount amounts were not spread evenly across all line items in a WooCommerce order.
Fixed issue where WooCommerce Relay Shipping Zone lookup could fail if the merchant used a 3rd party plugin to inject custom prices that were rule-based strings instead of numeric prices. Violet will now parse the string to find the price and will fallback gracefully if the string is too complex or contains no numeric values.
2024.06.24
🆕 Features
Clicking into a specific payout in the payout dashboard will open up a new view that houses important information around payout summary and a list of relevant distributions. You can also export a single report.
Adds support for price overrides in Magento 2. Merchants must have installed the latest version of the extension,
1.2.0
or higher, to unlock this feature.Adds notification emails when a user has not read new messages in the Channel and Merchant dashboard.
Users can update messaging notification preferences from the Channel and Merchant dashboard settings.
Expands the detection of the Shopify "Totals Have Changed" Draft Orders API bug. Now anytime Draft Order submission fails with an error message that contains the partial string
totals have changed
ortry again
we delete the Draft Order and instead write the Order using the Shopify Orders API. This guarantees delivery of the Order.
🔧 Fixes
Fixed date formatting issues for payout_date_created and payout_date_settled in exported Payouts and Distributions reports.
Fixed issue where non-US based Stripe Connect accounts migrating between Standard and Express accounts did not correctly assign service agreement type.
2024.06.17
🆕 Features
Added support for “New Customers Only” type Shopify discount codes. See Customer Restricted Discounts.
Added explicit opt-out for Shopify SMS marketing.
SFCC collection syncs will now default to the OCAPI Shop API. Upon request this can be switched to the OCAPI Data API on a per-merchant basis.
Create Thread modal will let the user know if they are an active participant in a thread.
Selected thread on the dashboard will persist as the user navigates around the dashboard.
Added Offer status to the Offer sidebar in the Offers page.
🔧 Fixes
Fixed issue where SFCC collection syncs could fail due to missing data in some RefArch products.
2024.06.10
🆕 Features
Integration Updates
Re-implements the usage of the Bag
SUBMITTED
status for non-cart platforms (WooCommerce, Ecwid) to prevent duplicated order submission when the Violet order submission endpoint is called multiple times in quick succession. See Duplicate Submissions.
Plugin Updates
Magento/Adobe Commerce extension version 1.1.3 released to add remote webhook controls. This allows for Violet to remotely enable or disable the webhooks for a Magento merchant.
2024.05.28
🆕 Features
Dashboard Updates
Channels now have the option to include distributions in their payout reports.
When choosing what to include as part of the payout report, channels can opt to include ALL distributions columns, a CUSTOM set of distributions columns, or NONE.
If any distributions columns are chosen, the final report will be a downloadable ZIP containing two CSV files. One for payouts and one for distributions.
If NONE is selected, the final report will be a downloadable CSV that is just the payout report.
🔧 Fixes
Fixed issue where Distributions exports were missing the following columns
Payment provider fee reversals
Bag totals information (shipping total, tax total, discount total, etc.)
External Order information
2024.05.20
🆕 Features
Dashboard Updates
✨Introducing Messaging
Channels and Merchants connected through Violet Connect are now able to message each other on the Dashboard
Support for Emojis and Rich text
Users typing indicator
Mark a thread as unread and come back to it later
[Channels] Navigate to merchant connection health, bags, and offers from the messaging details pane
[Merchants] Navigate to bags and distributions from the messaging details pane
⚠️ Restrictions
Channel org collaborators are unable to start conversations with merchants but can be added to conversations by Channel admins
Integration Updates
Can now filter Ecwid merchant catalogs by category ID upon merchant request.
🔧 Fixes
Fixed issue where a WooCommerce Sku that was deleted after a cart was created could still be purchased at checkout.
Fixed issue where Credential errors when onboarding a Wix merchant were showing as generic “Something went wrong” errors.
Fixed issue with broken payout docs link on the export payouts modal
🧼 Clean Up
Improved search behavior across pages
2024.05.13
🆕 Features
Dashboard Updates
Added export functionality to payouts dashboard.
Get a complete report of your payouts in CSV format in a given date range.
Functions the same way as distributions but with fixed columns for payouts (i.e. no column customization).
API Updates
Added the
parent_id
property to the Collection model. This property will be populated when a child collection is synced from a SFCC merchant. For collections on any other platform, or for top level parent collections on SFCC, this property will benull
.
Integration Updates
Added support for preferring Short Description over Long Description for WooCommerce merchants who have added their data to that field. Please contact support if you would like this enabled for one of your merchants.
🔧 Fixes
Fixed issue where removeSkuFromCart could fail in some cases.
Fixed issue where SKU
type
could not be updated when it changed on a merchant’s platform.Fixed issue where Shopify and WooCommerce webhooks could sometimes get deactivated, especially by other parties in the merchant’s ecommerce platform, for example a different app or plugin. Webhooks are now re-subscribed on a schedule if they are detected to be inactive.
Fixed issue where Shopify errors when trying to apply a shipping method were not being properly parsed and returned on the cart object.
2024.05.06
🆕 Features
Dashboard Updates
✨Introducing Payouts View
Search and View payouts, funds transfers from the PSP to your bank account.
Available in its own tab in the left nav of the dashboard. Distributions are still accessible via a subtab within the payouts page.
Integration Updates
Added support for using discount codes with ECWID. Discounts will automatically work for Ecwid merchants who onboarded after 04/30. Ecwid merchants who onboarded before 04/30 will need to perform the Ecwid OAuth process again to obtain the required scopes.
Added support for Salesforce Commerce Cloud collection syncing.
🔧 Fixes
Fixed issue where distributions exports had an incorrect date format.
Fixed versioning issue that prevented some PrestaShop merchants from onboarding.
Fixed issue where collection-constrained Shopify discounts with a type of
across
were not being evenly spread across entitled products.
2024.04.29
🆕 Features
Integration Updates
✨Introducing Order Consolidation
This feature will routinely examine bags in an
ACCEPTED
state and recheck their status in the external store to ensure that no order change events were missed.This feature is initially supported for the
Wix
platform, due to their lack of webhook support.Violet expects to add support for other platforms in the future.
🔧 Fixes
Fixed issue where collection-limited Shopify discounts could be applied in full to all entitled items instead of across all entitled items.
Fixed issue where non-USD Wix merchants were not correctly setting the currency on the Violet Sku.
Fixed issue where the Get Offer by ID endpoint didn't include a value for the
default_image_url
. This resolves the issue in the Offers View on the Dashboard where clicking on an offer would make the image thumbnail disappear.
2024.04.22
🆕 Features
API Updates
✨Introducing Webhook Events for Collections
See docs for more details.
Integration Updates
Integrated with the developer preview of the new Wix Order Payments API endpoint. This remediates the long running Wix bug that has prevented merchants from performing granular refunds on orders placed through the Wix API. Wix merchants will no longer need to fully cancel an order to initiate a refund.
We are now able to discover WooCommerce refunds that are nested in metadata even when the order itself is not marked as being refunded by the merchant.
Distributions Updates
When you export distributions now from both the Channel and Merchant dashboards, all amounts shown are in the main currency unit, not fractional currency unit. For example, if your currency is USD, all amounts shown are now in dollars instead of cents.
🔧 Fixes
Fixed issue where a WooCommerce products with a single downloadable Sku was incorrectly being marked as
PHYSICAL
instead ofDIGITAL
.Fixed issue where new merchants had a status of
Application_In_Progress
instead ofActive
.
2024.04.09
🆕 Features
Dashboard Updates
Distributions exports now include payout settlement dates! When exporting Distributions, you can choose to include this column to easily go between the date a Payout hits your bank account and the associated Distributions in Violet.
Integration Updates
Integrated with the Shopify GraphQL API for product syncs. This will allow Violet to add to support for new properties that Shopify is adding to their GraphQL models but not REST models. Violet will now begin switching Shopify merchants over to using the GraphQL sync in batches as we monitor how it scales.
Added the ability for channels to request custom scopes during merchant onboarding. These can be in addition to the default scopes, a reduced version of the default scopes, or a completely custom set of scopes, depending on each channels requirements.
🔧 Fixes
Fixed issue where users with the finance readonly permission could begin a payout account migration.
Fixed issue where App Name on Distributions on the Merchant dashboard were missing.
2024.04.01
🆕 Features
Dashboard Updates
Distributions in the Channel Dashboard can now be filtered by Date and Merchant.
Distributions in the Merchant Dashboard can now be filtered by Date and Channel.
🧼 Clean Up
Improvements to payout migrations in dashboard.
Added external ids to all payout cards.
Updated styles on payout cards and loaders.
Dashboard links removed for past express accounts that never completed onboarding.
Added a learn more section for our payouts docs in the payouts page.
Better handling of finance readonly permissions for payout migrations in dashboard.
2024.03.25
🆕 Features
Dashboard Updates
Merchants will now receive notifications when a channel changes their commission rate.
Integration Updates
Added support for Wix discount codes.
🔧 Fixes
Fixed issue where Wix sample products were synced into Violet if the merchant did not remove them before connecting to Violet.
See FAQ for more info.
Fixed issue where some Squarespace variants were not syncing correctly.
Fixed issue where description HTML was being filtered out for Ecwid offers.
🧼 Clean Up
Added UI element to inform merchants that their commission rate has been locked by the channel is able to be edited.
2024.03.18
🆕 Features
Dashboard Updates
Users on the Merchant Dashboard can now exclude Channel distributions from exports.
Users on the Channel Dashboard can now exclude Merchant distributions from exports.
API Updates
Added the automatic detection and disablement of Bundled Shopify Products. This is in response to the growing adoption of the Shopify Bundles app and Shopify’s decision to block the sale of bundled products through their Order API’s at this time. For any bundled product synced into Violet, the Offer and any nested Sku’s will have a
status
value ofUNAVAILABLE
.⚠️ Notice of Future Breaking Change - On April 15th 2024 we will release an update that adds the
BUNDLED
enum to thetype
property on the Offer model. If your application uses enums for this property we recommend adding coverage of this enum before April 15th. Once added, the possible values will bePHYSICAL, DIGITAL, VIRTUAL, BUNDLED
. Once implemented, any Offers sourced from a Bundled Shopify Product will have atype
value ofBUNDLED
.
2024.03.11
🆕 Features
Dashboard Updates
Added a toggle to the Dashboard distributions page to allow users to exclude Merchant or Channel distributions from the distributions table.
API Updates
✨Introducing Merchant Configuration management by Channels via API
Enable/disable the syncing of Offer Collections.
Enable/disable the syncing of Offer Metadata.
Managed on a per-merchant basis.
See API Reference.
🔧 Fixes
Fixed issue where clicking out of the date picker in the distributions export modal did not close the date picker.
Fixed issue where non-json webhook responses were not being displayed on the webhooks page.
Fixed issue where a single product failing to sync would cause the entire catalog sync to fail.
Individual product sync failures will now only impact that particular product.
Fixed issue where webhook
remote_endpoint
+status
combinations could be duplicated for a channel.Fixed issue where cart creation and checkout endpoints periodically failed due to a database query failure.
Failed queries will be retried for up to 15 seconds.
We will be monitoring this for further tuning. Please contact support if you see further
Internal Database Error
messages.
Improved merchant health caching when a new merchant connects. Merchants who successfully completed all steps in the process show now show
COMPLETE
after they set their commission rate.While this should cover most cases, there are still some moments when a Channel will need to click on the merchant and use the refresh button on the appropriate tab.
See docs for more details.
🧼 Clean Up
Added a tooltip to view long external order IDs in the Merchant Dashboard distributions.
Added tooltips in the Dashboard distributions export modal to link to the Distributions docs.
2024.03.05
🔜 Coming Soon
In an upcoming release, Violet will begin auto-disabling webhooks that regularly fail.
Please take the time to use the Channel Dashboard to help diagnose any issues you have with failing webhooks.
See Documentation.
🆕 Features
Dashboard Updates
✨Introducing Stripe Account Migration for existing Merchants and Channels
Existing Merchants and Channels can migrate away from their existing Stripe Express Account to their own Stripe Standard Account which they already use to do business elsewhere.
See Documentation.
API Updates
✨Introducing Shipping Zones via Relay API
Retrieve a Merchant's Shipping Zones.
Retrieve a Merchant's Shipping Regions.
Retrieve a Merchant's Shipping Methods.
See Documentation.
See API Reference.
✨Introducing Price Overrides in Checkout
This much requested feature allows you to override line item and shipping method prices during checkout.
See Documentation.
🔧 Fixes
Fixed issue where Refund Distributions were not being tied to the correct Payout. These should now be linked to the Payout which Stripe debits the refund from.
2024.02.26
🆕 Features
Dashboard Updates
✨Introducing Real Time Merchant Notifications
New Notifications page in Merchant Dashboard to view real time notifications.
Get notified when a Export is complete (see below).
More notifications to come in the future.
✨Introducing Merchant Distributions with Exports
New Distributions page in Merchant Dashboard to view detailed Merchant Payout information.
Export distributions data for a selected time frame.
✨Introducing Stripe Account Linking for New Channels
New Channels can connect an existing Stripe Account to Violet to be used for payouts through the Channel Dashboard.
See Documentation.
API Updates
✨Introducing Commission Rate management by Channels via API
Set commission rate for your merchant.
Lock commission rate preventing changes by the merchant.
See Documentation.
See API Reference.
🔧 Fixes
Fixed issue where the “Store Disconnected” notification did not render the merchant name and merchant logo.
Fixed issue where Sync Status was incorrectly showing as failed for some merchants.
2024.02.20
🆕 Features
Dashboard Updates
Merchant distributions are now included in the distributions export.
🔧 Fixes
Fixed issue where some merchant's product syncs would get locked and never update even when they were scheduled to update periodically.
Fixed issue where distributions exports were not including the end date data in the report. Ex. Feb 16-19 will now correctly include data for the 19th.
🧼 Clean Up
Added missing icons for Merchants Tab.
Updated language in the Scopes Tab of the Merchant Detail View in the Merchant Tab to clarify what is wrong and what needs fixing when a scope is missing.
Updated Stripe brand assets across the dashboard.
2024.02.12
🆕 Features
Dashboard Updates
✨Introducing Real Time Notifications
New Notifications page in Channel Dashboard to view real time notifications.
Get notified when a Merchant connects or disconnects from your channel.
Get notified when a Merchant updates their commission rate.
Get notified when a Export is complete (see below).
✨Introducing Channel Distributions with Exports
New Distributions page in Channel Dashboard to view detailed Channel Payout information.
Export distributions data for a selected time frame.
See Documentation
✨Introducing Stripe Account Linking for New Merchants
Merchants can connect an existing Stripe Account to Violet to be used for payouts through both Violet Connect and the Merchant Dashboard.
See Documentation.
API Updates
✨Introducing Collections support
Support for syncing merchant product collections.
See Documentation.
See API Reference.
Integrations Updates
Added support for Wix images that surpass the max size, they will be automatically scaled down to the maximum allowed.
🔧 Fixes
Fixed issue where wallet based carts created without any SKUs would not have a
payment_intent_secret
value once a SKU was added and the cart was priced.For all wallet based carts, as soon as a cart with a total that is greater than 0 is priced, the
payment_intent_secret
value will be returned on the response. A cart is priced either by passing?price_cart=true
, calling the Price Cart endpoint or via endpoints that auto price carts like Set Shipping Methods.For a wallet based carts that never have a total greater than 0, i.e. promotions or gifts, a
payment_intent_secret
will never be generated.
🧼 Clean Up
Updated Navbar UI in Channel and Merchant Dashboard.
2024.02.05
🆕 Features
Order Updates
Include Carts in Order Search Responses.
Carts are not included by default, add
exclude_in_progress=false
to include them.Filter for only Carts by adding
{"bag_status": "IN_PROGRESS"}
to the query.See API Reference.
The Set Shipping Methods endpoint will now always return a fully priced cart in the response, regardless of the merchant's platform.
Integrations Updates
Migrated from Shopify API version
2023-04
to the latest stable version2024-01
. This will address warning emails sent out by Shopify indicating that Violet is using deprecated APIs.
🔧 Fixes
Fixed issue where Merchant Dashboard did not update commission rate when changed from 0%.
🧼 Clean Up
Cache redundant network requests in Channel Dashboard.
2024.01.29
🆕 Features
Integrations Updates
Introduced Merchant Configuration to better allow for the enablement of unique merchant requirements.
The syncing of product metafields can now be enabled for Shopify merchant’s who require it.
The use of custom shipping rates can now be disabled for Shopify merchants who are no longer impacted by Shopify’s $0 shipping bug and/or local pickup bug.
The products that Violet syncs can now optionally be limited to only those in a collection defined by a Shopify merchant.
🔧 Fixes
Fixed issue where Shopify promo codes that were applied before shipping methods were selected did not influence shipping methods that had price constraints. ex. A coupon that brings a total below $50 will now disqualify the order from the free shipping option for > $50 orders.
Fixed issue where shipping methods were not being converted correctly back to a merchant’s currency in multi-currency bags.
Fixed issue where non-USD currencies were not being converted correctly when displayed on the offer side panel in the channel dashboard and the matching view of the merchant dashboard.
Fixed issue where the
remorsePeriodEnds
property on the bag did not reflect 30 days from the date the checkout was actually submitted.
2024.01.22
🆕 Features
Added webhook event cancel endpoint. See API Reference.
🔧 Fixes
Fixed issue where the pagable property was null in certain endpoints.
Fixed issue where wallet based orders were not being charged for apps with payment bypassing enabled.
2024.01.16
🆕 Features
Beta release of the new Estimate Cart endpoint. See API Reference.
🔧 Fixes
Fixed issue where bags were not being deleted off of a cart when the last sku was deleted for certain ecom platforms.
Fixed issue where creating a cart with a foreign currency and an unavailable sku would result in an error.
2024.01.08
🔧 Fixes
Fixed issue where
page_number
property was 0 based instead of 1 based for paged endpoints.Fixed issue where Channel Dashboard would crash when adding a new app in the
/overview
or/merchants
page.
🧼 Clean Up
Added missing demo tags to channel orders table.
Updated examples for checkout APIs for easier use.
2023.12.18
🆕 Features
Dashboard Updates
Added sorting to orders pages in the dashboard.
Added display merchant email button in channel connection page.
Email will be obfuscated a***[email protected] for PII.
Added support for custom ports in Violet Connect store url form.
API Updates
Added documentation for endpoint allowing Channels to disconnect a Merchant from their App.
Added support for Shopify discount codes with country entitlements.
Added support for Webhook Event search by entity ids.
Added endpoints for resending Webhook Events.
🔧 Fixes
Fixed issue where Wix image display orders were not being correctly calculated.
Fixed issue where addresses were not being applied to all bags in multi-merchant checkouts under certain conditions.
Fixed issue where double submitting an order would end up canceling it in certain conditions.
Fixed issue where Wix refunds were not being processed due to bug introduced by Wix. This fix will be temporary until the bug is fixed in Wix’s code.
Fixed issue where Shopify bundles were breaking checkout. Currently Shopify Bundles are not supported by the Shopify checkout API and so those products are disabled in Violet.
Fixed issue where some non-USD transactions were not correctly persisting exchange rates, impacting payouts and analytics. Analytics will begin correctly tabulating from today onward.
Fixed issue where Bag OrderSkus statuses were not correctly updated on partial refunds.
Fixed issue where order totals were not visible from an overlap with the DevRev widget.
🧼 Clean Up
Updated sorting styling across pages with sortable data.
Channel login page now includes a link to the signup page.
Channel Dashboard users without a valid authentication token are now redirected to the sign-up page.
Relocated the link to the Channel login page for enhanced visibility in the signup page.
2023.11.20
🆕 Features
Channel Dashboard Updates
✨Introducing Analytics Overview Page
Users can check out GOV, commissions, and merchant data across various timelines.
🔧 Fixes
Fixed issue where
PARTIALLY_REFUNDED
bags were not updated toREFUNDED
when subsequent refunds matched total amount.Fixed issue where some “Default Title” Shopify variants were not being properly ignored.
Fixed issue where long order error messages were not being persisted.
Fixed issue where BigCommerce webhooks were being incorrectly created.
Fixed issue where Shopify email validation errors weren't translating to order errors in some situations.
🧼 Clean Up
Users can now open and close the bag detail view without losing their scroll position on the orders table.
2023.11.13
🆕 Features
Merchant Dashboard Updates
Added ability to filter by Channel and Date in the Orders View.
Added ability to search by External Id in Orders View.
Added ability to review selected products using Review mode in Products View.
Select the products you wish to review.
Click on "x Selected" and click "Review".
✨Introducing Violet Support Widget
Contact support straight from your dashboard.
View status of your tickets.
🔧 Fixes
Fixed issue where some Wix Orders were not able to be completed due to a serialization issue.
Fixed issue where BigCommerce merchants were failing to register webhooks during onboarding.
🧼 Clean Up
Removed search by Violet Id from Merchant Dashboard.
2023.11.06
🆕 Features
Connection Health Updates
Added support for
Merchant_Complete
webhook. This webhook will fire when a previously unhealthy merchant becomes healthy.Merchant health is evaluated at minimum once every 24 hours.
Both
Merchant_Complete
and the existingMerchant_Needs_Attention
will now correctly only fire once when a merchant’s overall health state changes.Both webhooks will now correctly take into account their overall health state as it relates specifically to each app they are connected to and will only fire for the appropriate apps.
Added support to Simulate Webhook for both
Merchant_Complete
andMerchant_Needs_Attention
Integrations Updates
Adds post order failure reconciliation to the Shopify integration. When Shopify returns a failure response during order submission we will now query recent orders and attempt to discover if the order was successfully submitted before Shopify returned a failure response.
Dashboard Updates
Removed the automated lock placed on merchants who onboard, delete their account quickly, then attempt to onboard again.
✨Introducing Webhook Management on Channel dashboard
View all your latest webhook events right on the Channel dashboard.
Use filters or search by event ID to narrow down your search for the right webhook event.
View all webhook endpoints subscribed by the Channel app along with their event count and error rates.
Added the ability to filter orders by Merchant as well as Date in Channel Dashboard.
Added the ability to filter products by Publishing Status as well as Availability in Merchant Dashboard.
Added the ability to search, filter, and sort to the Merchants page in Channel Dashboard.
Enabled beta offers search for offers page at
/offers
for Channel Dashboard and/products
for Merchant Dashboard.This will greatly enhance the responsiveness of these pages.
As a result, sort functionality on these pages has been disabled temporarily until sorting is better supported in the beta search.
Order Updates
Added
external_id
,before_date_created
&after_date_created
filters to Bag Search endpoint.
🔧 Fixes
Fixed issue where Channel commission payout calculation was not taking discounts into consideration.
Fixed issue where re-syncing a single Shopify product that has been deleted in Shopify would return a not found error. It now marks the offer as archived, as intended.
Fixed issue where Channel specific commission rates were not displayed on the app cards on the merchant dashboard overview page.
Fixed issue where Channel specific commission rates were not displayed on the merchant connection panel in the channel dashboard page.
Fixed issue where the merchant filter menu in the channel orders table was missing some merchants.
Fixed issue where the channel orders table was incorrectly sorted and missing some entries.
Fixed issue where re-syncing a single product didn’t properly update for some ecom platforms.
Fixed issue where creating a cart where the only sku for a merchant was out of stock lead to orphaned bags and made the cart unable to complete checkout.
Fixed issue where the Channel orders page would fire off duplicate network requests.
Fixed issue where changing the commission rate on a merchant dashboard app card would cause other app cards to display the default commission rate instead of their overridden values.
🧼 Clean Up
Updates to Merchant Dashboard Products table: reorganized columns, add Brand and Image columns, and removed Product ID column.
Updates to Channel Dashboard Orders table: reorganized columns, add Merchant name and Date columns, and removed Order ID and Merchant ID columns.
Added Date field to Bag Detail pane in Channel Dashboard Orders page.
Re-enabled ability to filter offers by Inventory in Channel Dashboard.
2023.10.30
🆕 Features
Connection Health Updates
New Search Connection Health endpoint. See API Reference.
Channels that do not use Violet Commissions (skipping the commissions screen in Violet Connect) will now always show their commission status as green in the Merchants tab on the Violet Channel Dashboard.
Added scopes monitoring for ECWID merchants.
2023.10.23
🆕 Features
Channel Dashboard Updates
When loading the dashboard, the live/test toggle will automatically switch to the appropriate environment based on a Channel's live/not-live status.
🔧 Fixes
Fixed issue where Shopify free shipping discounts were improperly being deducted from the subtotal. They are now deducted from the shipping total as intended.
2023.10.17
🆕 Features
Webhook Updates
New Webhook Event Search endpoint!
Added ability to retrieve the headers sent in a webhook event. See API Reference
Shopify Integration
Expanded Shopify post-order reconciliation
A completed Shopify order is now more closely analyzed after submission to determine if any information is missing.
If it is determined that data is missing we will attempt to automatically update the order to reconcile the missing data.
🔧 Fixes
Fixed issue where Get Merchant by ID and Search Merchant endpoints were not loading
commission_rate
data correctly.Fixed issue where creating a
wallet_based
order withUNAVAILABLE
SKUs did not surface correct error responses.Fixed issue where offers filter would crash when attempting to filter by merchant.
2023.10.09
🆕 Features
Channel Offer View Updates
Order search endpoint improved to allow search by
bag_id
,merchant_id
,bag_status
,before_date
andafter_date
. See API Reference.Added option to filter by subscription status on offers page.
Added subscription status to offers table.
Added ability to select multiple offers for un/subscription on offers page.
Added demo tags to demo offers and merchant connections in test mode.
🔧 Fixes
Fixed issue where digital-only bags would crash the order page bag view in channel dashboard.
Fixed issue where Shopify discounts could not be applied when other discounts were in an
ERROR
/EXPIRED
/INVALID
state.
🧼 Clean Up
In the Merchant Dashboard, "Offers" and "Merchants" pages now redirect to the "Overview" page.
Adjusted overflow on Order panel and Bag details dropdown.
2023.10.02
🆕 Features
New Integration: CommerceTools
Adds support for merchants on the CommerceTools platform.
New Integration: Wix
Adds support for merchants on the Wix platform.
Improved connection health monitoring
Added BigCommerce plan monitoring.
Added WooCommerce scopes monitoring.
Added Magento scopes monitoring.
🔧 Fixes
Fixed issue where shopify discounts were not correctly surfaced for Sandbox merchants.
Fixed issue where empty offer descriptions would cause a crash in the channel dashboard offer panel.
Fixed issue where a user who already had an org could still navigate to
/create-org
on the channel dashboard.Fixed issue for woocommerce stores whose IDs are larger than int.max.
Fix issue where Product Tags from WooCommerce stores weren't flowing through to Violet Offers.
Fixed issue where new channel account creation could fail in some cases.
2023.09.25
🆕 Features
Added support for Product Collection type Shopify Discounts.
Added ability to filter offers by availability in tandem with filtering by merchant in channel dashboard.
Added a total offer count in channel dashboard offers view.
🔧 Fixes
Fixed issue where the snack bar message incorrectly displayed "published" when unpublishing from offers in the Merchant Dashboard.
Fixed issue where
channel.violet.io
did not redirect to the home page correctly.
🧼 Clean Up
The Channel Dashboard signup form now includes Company Function and Referral Channel fields, while the Country field has been removed.
The Email Address and Organization Slug fields have been disabled in the Channel Dashboard Org Info form.
Improved styling of Dashboard onboarding pages when the window width is reduced.
2023.09.18
🔧 Fixes
Fixed issue where new users were directed to create an org instead of accepting an invite to an existing org.
Fixed issue where double clicking accept on an org invitation caused a duplicate user entry.
Fixed routing behavior on account signup when using the browser back button.
🧼 Clean Up
Improved communication for merchant scopes status in Dashboard.
Improved styling in the Dashboard Merchant connection panel when window width is reduced.
Deleted Company Name field from the Org Info form in Dashboard.
Add rate limiting to Dashboard Channel login attempts which can be reset by going through the forgot password flow.
Fixed scrolling to view the entire form when window height is shortened in Dashboard onboarding pages.
Cleaned up alignment issues on tables when content is scrollable.
2023.09.11
🆕 Features
Active Monitoring for Shopify Store App Scopes
Violet now actively monitors Shopify store app scope changes that could cause a checkout to fail.
When store app scopes are missing a
MERCHANT_NEEDS_ATTENTION
webhook event is now triggered.
🔧 Fixes
Fixed issue that was leaving offers disabled during catalog resync.
Fixed issue that allowed for expired or not started discounts to be used with Shopify carts.
Fixed issue where previous offer image would be cropped by the loader when loading subsequent media.
Fixed issue where Commission Rate was showing Needs Attention even though it had been correctly set.
Fixed issue where adding different credentials for a store in Violet Connect didn’t immediately take effect, causing orders to fail for a number of minutes afterward.
Fixed issue for mismatched values for order ID and merchant ID columns on channel orders page.
🧼 Clean Up
Granular calls to Connection Health will now update the parent cache for that merchantId.
2023.09.05
🔧 Fixes
Fixed issue where duplicate orders were placed when e-commerce platforms return certain 500 series response codes.
Fixed issue where some Shopify merchants did not finish syncing their catalogs.
Fixed issue where a Shopify’s merchant’s catalog was marked
disabled_available
shortly after initially going through Violet Connect.Fixed issue where the sub navigation menu remained open when clicking outside of it.
🧼 Clean Up
Updated External Payments information in settings/payments page and External Payments modal on Channel Dashboard.
Fixed typos on country request list in Violet Connect.
2023.08.28
🆕 Features
Actively Monitoring for Shopify Store Plans
Violet now actively monitors Shopify plan changes that can affect the ability to complete a purchase.
When a Shopify store moves to an inactive plan (eg. dormant or frozen), the corresponding merchant and its offers on Violet are automatically disabled. Similarly, when the store changes to an active plan (eg. basic), the corresponding merchant on Violet is automatically enabled and it's offers are resynced.
This feature ensures accurate synchronization between Shopify and Violet, maintaining data integrity for the operation of your application.
Merchant Filter
You can now filter your offers more intuitively with the new merchant filter on the channel dashboard offers page.
✨ Shared Access to your Violet Dashboard [BETA]
Add team members to your Organization in the Violet Channel dashboard.
Invite collaborators to your org to share management of apps and payments.
Different features are gated based on the permissions assigned to collaborators.
This was a large feature and may have a few things to iron out. Please let us know if you find something that could use a bit more polish.
🔧 Fixes
Fixed issue when wallet based cart was submitted with guest customer causing Shopify to fail.
Improves parsing and handling of Shopify API error messages when a merchants store has been shut down or disabled by Shopify.
Fixed issue where pricing a cart while applying an invalid discount code resulted in an API error.
Fixed issue preventing carts with only digital items from checking out when no shipping address was provided.
🧼 Clean Up
Removed distracting UI from Login and Account Settings.
Removed “Company Name” field from the Edit App Info Dialog.
Improved UX for inputs and dropdowns across the dashboard.
2023.08.21
🆕 Features
Webhook Simulation Enhancements
MERCHANT_ENABLED
andMERCHANT_DISABLED
webhooks now supported.Further details can be found in our Webhook Documentation and Simulating Webhooks Documentation.
✨ Relay [Alpha] has been released with support for Shopify, BigCommerce, and WooCommerce.
If you're wanting to send and receive data in a more streamlined fashion, Relay might be perfect for you. Reach out to [email protected] to get access.
You can read more about how to try out the Relay API here.
Sign up page update
The Channel dashboard signup page now has additional information for channels and merchants.
Let's Chat button
“Let's Chat” button added to Channel dashboard nav bar for channels to get in contact with our marketing/sales team.
🔧 Fixes
Fixed issue when invalid discounts are added to cart causing a concurrency error.
Fixed issue where merchant explore panel last items were cut off in dashboard.
Update docs to call out that offer search with beta flag has incompatible search criteria.
sort_by
andsort_direction
are not supported.
🧼 Clean Up
Improved scrolling behavior across offers, orders, and merchants tables in dashboard.
2023.08.16
🔧 Fixes
Fixed issue where non live-enabled apps could not see connected sandbox merchants or explore merchant data.
2023.08.15
🔧 Fixes
Fixed bug in Merchant Explore view when an is app not live enabled.
Fixed issue where the code verification flow was not consistent.
2023.08.14
🆕 Features
Merchant Search Endpoint Enhancements
New functionality added to the merchant search endpoint, allowing sorting by
sort_by
andsort_direction
parameters in the request body.This feature provides greater flexibility and precision in locating the desired merchant information.
For detailed information, please consult our API Documentation.
Webhook Monitoring for Shopify App Uninstallation
Violet now actively monitors Shopify app uninstallation events.
When a Shopify app is uninstalled, the corresponding merchant on Violet is automatically disabled.
This feature ensures accurate synchronization between Shopify and Violet, maintaining data integrity.
New Webhook Events: MERCHANT_ENABLED
& MERCHANT_DISABLED
Introducing two new webhook events:
MERCHANT_ENABLED
andMERCHANT_DISABLED
.These events notify subscribed channels when a merchant is enabled or disabled on Violet; for example: because of a Shopify app unistallation.
Stay updated on merchant status changes by utilizing these informative webhook events.
Further details can be found in our Webhook Documentation.
Improved Media Handling on Self-Hosted Commerce Platforms
All media content on self-hosted commerce platforms will now be seamlessly uploaded to a Violet-managed Content Delivery Network (CDN) during product synchronization.
This enhancement aims to enhance media loading performance on self-hosted stores and allows for dynamic media transformations.
More information on this update can be found in our Media Transformation Documentation.
🔧 Fixes
Fixed
publishing_status
on Offer Search when using beta mode to be correctly filtered against.
🧼 Clean Up
Enhanced Security for User Verification Flows
Security enhancements have been implemented for the user verification processes within the dashboard.
These improvements bolster the security of user accounts and interactions.
Streamlined Merchant Login Code Verification
The previously used code verification iframe in the merchant login process has been replaced with a native code verification page.
This change enhances the user experience and provides a smoother login process.
Improved Error Handling for Channel Forgot Password
Error handling for the Channel forgot password functionality has been refined.
Users will now receive clearer error notifications through a user-friendly snackbar interface.
Last updated
Was this helpful?