Skip to main content
Suggest Edits 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.
Contact us to discuss how Voucherify can meet your requirements, including:
  • Custom SLA
  • Premium Support
  • Single-tenant infrastructure with significantly 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* POST /campaigns: asynchronous for campaigns with more than 1 voucher, synchronous for campaign with 1 voucher

I