A data extension schema allows you to define and validate the structure of custom fields that can be added to Wix objects. A data extension schema acts as a blueprint, describing the properties, data types, and constraints of custom fields. For example, a data extension schema can describe custom shipping data added to the Wix eCommerce Checkout object.
The Data Extension Schema API enables you to:
You can extend the following objects:
| Object | FQDN | Supports filtering |
|---|---|---|
| Products | wix.stores.*.product | Yes |
| eCommerce Orders | wix.ecom.*.order | No |
| eCommerce Checkout | wix.ecom.*.checkout | No |
| Bookings | wix.bookings.*.booking | No |
| Booking Services | wix.bookings.services.*.service | No |
Extended fields behave like native fields. However, not all objects support operations such as filtering. To learn more, see The JSON Schema.
Supported objects contain an extendedFields property. When you create a data extension schema, you define extended fields that are stored in extendedFields. Extended fields can exist at the following levels:
extendedFields property.extendedFields property of items in an array. For example, each line item in an order has its own extendedFields property.A Fully Qualified Domain Name (FQDN) is a unique identifier for a Wix object type. When creating or managing data extension schemas, you use the FQDN to specify which object type to extend.
FQDNs follow this pattern: wix.<service>.<version>.<object>
For example:
wix.ecom.v1.order identifies the eCommerce Order objectwix.bookings.v2.booking identifies the Bookings objectUse a wildcard (*) in place of the version number:
This ensures your schema remains valid even if Wix releases a new version of the API.
The extendedFields property contains a nested namespaces object that keeps extended fields from different sources separate:
_user_fields: Contains extended fields from user-defined schemas, created through this API or the site dashboard.For example, a Checkout object might have extended fields from both sources:
When reading or writing extended field data, always reference the correct namespace.
extendedFields field of an object._user_fields namespace.