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.catalog.*.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 |
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.
The FQDNs in the table above contain a wildcard (*) in place of the version number, for example:
wix.ecom.*.orderwix.stores.catalog.*.productThe wildcard ensures your schema remains valid when Wix releases a new version of the API. We recommend using the wildcard form rather than a specific version number.
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.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.