Performance

Average response rates

As developers, we understand how important it is to have performant 3rd party APIs. Especially when it comes to the sales funnel process. That's why we put effort to make sure that Voucherify responds fast. Here are average response rates from our recent tests on multi-tenant clusters.

API callResponse time – medianResponse time – p95
Stackable Validation100 ms220 ms
Stackable Redemption170 ms350 ms
Qualifications API200 ms450 ms
Create Campaign (100 000 vouchers)60 sec

The values for multi-tenant clusters may change depending on the configuration of the actual campaign.

👍

Enterprise Plan

Contact us to discuss how Voucherify can meet your requirements, including:

  • Custom SLA
  • Premium Support
  • Single-tenant infrastructure with up to 30% better performance and stability

What happens in the background?

Every time you send a request to Voucherify, Voucherify reacts synchronously and asynchronously. This approach was taken to return the results as fast as possible, making the customer experience as seamless as it can be.

When requesting a redemption, Voucherify synchronously validates the voucher, returns the result, and you can expose the result to the customer. However, this does not mean that the complete processing of the request is finished.

Even though you have already received the result of the redemption, part of the processing is still ongoing. Voucherify is:

  • Saving the redemption, order, and updates to the customer in the database,
  • Updating the customer's Customer Segment assignment,
  • Running Loyalty Earning Rules,
  • Running Distributions.

If you expect a customer to receive an email right after making the purchase or a change in the number of Loyalty Points on their card, you'll see the effect after a couple of seconds.

Read about background tasks and how you can monitor their processing time.

Below you will find a list of operations that explicitly occur asynchronously.

Types by ContextEndpoint
CAMPAIGN
CAMPAIGN.VOUCHERS_IMPORTPOST /campaigns/{campaignId}/import
CAMPAIGN.VOUCHERS_IMPORT_CSVPOST /campaigns/{campaignId}/importCSV
CAMPAIGN.VOUCHERS_UPDATEPUT /campaigns/{campaignId}
CAMPAIGN.VOUCHERS_DELETEDELETE /campaigns/{campaignId}
CAMPAIGN.VOUCHERS_GENERATE
CUSTOMERS
CUSTOMERS.IMPORT_CSVPOST /customers/importCSV
CUSTOMERS.BULK_UPDATEPOST /customers/bulk/async
CUSTOMERS.METADATA_UPDATEPOST /customers/metadata/async
PRODUCTS
PRODUCTS.BULK_UPDATEPOST /products/bulk/async
PRODUCTS.METADATA_UPDATEPOST /products/metadata/async
PRODUCTS.IMPORT_CSVPOST /products/importCSV
SKUS.IMPORT_CSVPOST /skus/importCSV
VOUCHERS
VOUCHERS.IMPORTPOST /vouchers/import
VOUCHERS.IMPORT_CSVPOST /vouchers/importCSV
VOUCHERS.BULK_UPDATEPOST /vouchers/bulk/async
VOUCHERS.METADATA_UPDATEPOST /vouchers/metadata/async
ORDERS
ORDERS.IMPORTPOST /orders/import
METADATA KEY PURGE
CAMPAIGNS.METADATA_KEY_PURGE
CUSTOMERS.METADATA_KEY_PURGE
PRODUCTS.METADATA_KEY_PURGE
VOUCHERS.METADATA_KEY_PURGE
ORDERS.METADATA_KEY_PURGE
No API endpoint equivalent. You can perform this action through the Dashboard. See Dashboard documentation: Dashboard > Project Settings