- Learn why data synchronization is important
- Learn how to synchronize your data through data import and updates
Your data is synchronized with Voucherify.
Customer synchronization
Voucherify can store and act on collected customer data. The most common customer data operation is to create customer segments based on customer attributes. Customer segments can be used to understand customer behavior, build promotion limits, or trigger automatic incentive delivery. Voucherify uses the customer object for validation, redemption, and distribution purposes. The customer data does not have to be stored in Voucherify before a validation or redemption request is made. Voucherify can use the customer data from the request to create a new customer with a uniqueid
field.
However, the customer data must exist in Voucherify before a distribution is made. Also, distribution can be made on the basis of the customer’s attributes and sent out to customers from a given segment. If the customer data is not up to date, the distribution messages sent manually can reach the wrong audience.
If your data is to be synchronized based on the
source_id
of the customer, you need to import the source_id
when the customer is uploaded for the first time. You will not be able to update source_id
later on.Customer synchronization options
Upserting customers
If the customer does not exist in Voucherify, they are created automatically in a request that includes the customer object. If the customer exists, their data will be upserted. In this case, the response also includes theupdated_at
object.
The following actions upsert customer data:
- Order creation
- Stackable discount redemption
- Stackable discount redemption (client side)
- Track custom event
- Voucher publication
Importing customers
You can import your customer database to Voucherify with a CSV file. If you use a CRM system, use its unique ID as asource_id
field.
Read our customer import guide to learn more.
Creating and updating customers with the API
If you want to keep your customers database up to date with Voucherify, create a customer in Voucherify every time a new user is added to your database. Use the create customer API endpoint to create customer data. To update customer data, use the update customer API endpoint. The create customer API endpoint can be also used to update customer data.Synchronizing with connectors
Customer data can be upserted with integrated platforms that support outbound traffic:Customer API endpoints
Go to the API reference to see the customer endpoints that can be used to synchronize customer data.Product synchronization
Products can be stored in Voucherify but it is not required. The product validation takes place during the following actions:- Qualification
- Validation
- Redemption
Unlike customer data, product data provided in the request payload alone do not create a new product in Voucherify. If you want to store products in Voucherify, they need to be created manually in the dashboard or imported with a CSV file.Also, even though Voucherify uses the payload data instead of the data stored in the system, the product data is not upserted through requests. Products can be updated through product edit function or by importing a CSV file.To enable product updates through the payload, use the override attribute.
Product synchronization options
Importing products
You can import your product database to Voucherify with a CSV file. This method can be also used to update the names of existing products.Creating and updating products with the API
You can create and update your products with the following API endpoints:Overriding product data
In a request payload, you can add an attributeoverride
with value true
to the product object.
The override
attribute is used to enable storing the product data in Voucherify. If the product does not exist, it will be created with a source_id
. If the product does exist, the provided values for the name, price, and metadata will replace those already stored in Voucherify.
Order synchronization
Orders are synchronized with Voucherify automatically during redemption. They can be viewed through the Orders view in the dashboard. If you want to synchronize the orders that have not been included in any redemption, you need to use the import order method.Order synchronization options
Create order
The create order endpoint creates an order object and triggers an order creation event. The endpoint can be also used to upsert order data if the orderid
or source_id
are provided.