About the External Database Service Plugin

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:

  • Make external business data accessible to Wix sites.
  • Allow Wix site owners to store their business data in an external database.

Learn more about service plugins.

Managing data with Wix

Wix offers a variety of data management solutions to accommodate common user needs at different scales. This includes support for internal databases hosted directly on Wix, as well as for external databases hosted outside the Wix ecosystem.

To allow Wix Data to communicate with external data sources, implement this External Database service plugin and make it accessible to Wix on a public, https URL.

Note: Wix offers several out-of-the-box external database adaptors for common platforms such as Google Cloud Platform (GCP) and Amazon Web Services (AWS). If the external data source is hosted on one of these platforms, consider using the appropriate adaptor.

Use Cases

Your service can accommodate many scenarios that require Wix Data to communicate with external databases. These might include:

  • A business that wants to make its data available for Wix site owners.
  • A Wix site owner whose data is stored in an external database and wants to query and display that data on their site.
  • A Wix app developer who wants to implement ready-for-use external database integrations for specific database services.
  • A growing business that wants to store its Wix collections on an external cloud service to scale as needed.

Become an external database service provider

The External Database service plugin defines methods you can implement to integrate an external database with Wix. Wix Data calls these methods to access and manage the items and collections the external database contains. The endpoint descriptions specify the 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, create and configure a Wix app to make it available for integration with multiple sites.

Note: You can also connect your service directly to a site using the External Database Connections API. Once integrated, you can use Wix Data APIs to access and interact with the external database as if it were hosted on Wix.

Provide basic functionality

While you aren't required to implement all the methods in this service plugin, make sure to implement at least the following methods to provide basic functionality:

  • Get Capabilities: This endpoint lets Wix Data determine which capabilities are supported by the external database.
  • List Collections: This endpoint enables Wix Data to view the collections stored in the external database.
  • Query Data Items: This endpoint enables Wix Data to query items in an external collection.

Create a Wix app

To make your service available for integration with multiple sites, create and configure a Wix app:

  1. Create an app in your Wix Studio workspace.

  2. Go to Extensions in your app's dashboard.

  3. Click Create Extension.

  4. Find and select External Database Provider and click Create.

  5. 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. wix app namespace modal

  6. 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.

NameTypeDescription
namespaceStringRequired. A prefix for all the collections your application retrieves. It must be identical to your app namespace.
uriConfigObjectThe URI configuration object.
uriConfig.baseUriStringRequired. Base URI where your service is deployed. Wix Data uses this URI to call your service's methods.
componentNameStringA unique name for this component. This is an internal name that appears in the app dashboard only.

For example:

Copy

Terminology

TermDefinition
CollectionA 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.
ItemA single data entry in a collection.
External DatabaseA database hosted by an external service outside of Wix.
External Database Service ProviderA 3rd-party service that implements an interface to allow Wix Data to interact with an external database.
Did this help?