As an external database service plugin provider (formerly SPI), you can create a service that allows Wix sites to access and manage data stored anywhere, as if it were hosted natively on Wix. By implementing this service plugin, your service can:
Learn more about service plugins.
Wix offers a variety of data management solutions to accommodate common user needs at different scales. This includes support for internal databases that are hosted directly on Wix, as well as external databases hosted outside the Wix ecosystem.
You can store and manage data directly on Wix using the Wix Data API. Wix also supports managing data hosted on external databases. The External Database Connections API allows Wix Data to communicate with an external database as if it were hosted directly on Wix. Wix offers several out-of-the-box external database integrations for common platforms such as Google Cloud Platform (GCP), Amazon Web Services (AWS), or Microsoft Azure. These integrations translate Wix Data requests into the external database's protocol, and translate the response back into a format that Wix APIs can read.
To allow Wix Data to communicate with any other data source, implement the External Database service plugin.
The External Database service plugin defines endpoints you can implement to integrate an external database with Wix. Wix Data calls these endpoints to access and manage the items and collections the external database contains. The endpoints descriptions specify what type of request Wix Data sends to each endpoint, and what type of response each endpoint is expected to return.
When the service is implemented and ready for use, you can make it available to users by creating a Wix app and configuring it with the details of your service. This tells Wix Data where your service is deployed. After installing your app on their sites, site admins can use the Wix Data APIs to access and interact with the external database as if it were hosted on Wix.
While you aren't required to implement all the endpoints in this service plugin, make sure to implement at least the following endpoints to provide basic functionality:
Your service can accommodate many scenarios that require Wix Data to communicate with external databases. These might include:
To enable Wix Data to communicate with your service:
Create an app in your Wix Studio workspace.
Go to Extensions in your app's dashboard.
Click Create Extension.
Find and select External Database Provider and click Create.
If it has not been set before, set up an app namespace. This is a unique identifier for your app that, once set, can't be changed. It is added as a prefix to the user's external collection names.
Use the built-in JSON editor to provide your extension’s configuration details. Make sure to include all the required fields as they appear in the table below. Once you're done, click Save.
Name | Type | Description |
---|---|---|
namespace | String | Required. A prefix for all the collections your application retrieves. It must be identical to your app namespace. |
uriConfig | Object | The URI configuration object. |
uriConfig.baseUri | String | Required. Base URI where your service is deployed. Wix Data uses this URI to call your service's endpoints. |
componentName | String | A unique name for this component. This is an internal name that appears in the app dashboard only. |
For example:
Term | Definition |
---|---|
Collection | A schema that determines the structure of data items to be stored. The schema defines the fields each item contains and the data type of each field. |
Item | A single data entry in a collection. |
External Database | A database hosted by an external service outside of Wix. |
External Database Service Provider | A 3rd-party service that implements an interface to allow Wix Data to interact with an external database. |