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.

API callResponse time – averageResponse time – p95
Code Validation120 ms200 ms
Code Redemption200 ms500 ms
Stackable Validation150 ms300 ms
Stackable Redemption350 ms500 ms
Qualifications API400 ms600 ms
Create Campaign (100 000 vouchers)60 sec

👍

Enterprise plan

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

  • SLA
  • Premium support
  • Dedicated infrastructure

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 his or her card, you'll see the effect after a couple of seconds.

Read more here 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