Wix Client
A Wix Client is used to call functionality from the Wix JavaScript SDK. APIs from the SDK's modules, such as bookings
and ecom
, are called using the API Client. The client also manages the authentication of SDK calls.
Tip: To learn how work with webhooks using a WixClient
, see Handle Events With Webhooks.
createClient()
Creates a client instance with a designated authentication strategy, such as OAuthStrategy
, AppStrategy
, or ApiKeyStrategy
. For guidance on selecting the appropriate strategy, see Authorization Strategies.
Syntax
1
Parameters
Name | Type | Description |
---|---|---|
config | ClientConfig | Client configuration. |
ClientConfig
Name | Type | Description |
---|---|---|
modules | object | SDK modules to initialize for use with this client. |
auth | AuthenticationStrategy | Authentication strategy to use for authenticating API calls, such as OAuthStrategy , AppStrategy , or APIKeyStrategy . |
headers | Headers | Headers for client calls. Can be used to set alternative authentication credentials such as authorization tokens used when creating a client to be used in a Wix App. |
host | Host | An API host. You only need to set a host when using a client to call hosted modules, such as the dashboard module. |
Returns
WixClient
Properties
An instance of WixClient
contains the following properties:
auth
The client's authentication strategy, such as OAuthStrategy
, AppStrategy
, or ApiKeyStrategy
.
webhooks
Use to handle webhook events. The webhooks
property offers the following methods and subproperties:
process()
Processes a webhook event represented by a JSON Web Token (JWT). This method verifies the JWT signature and payload, ensuring event authenticity.
Returns a promise that resolves after all registered handlers for the incoming webhook type are executed. If any of the handlers fail, the promise is rejected.
For an example, see Handle Events With Webhooks.
processRequest()
An extension of the .process()
function that accepts a standard WebRequest
instance, instead of the plain body object. This simplifies invocation by integrating with standard web request objects.
apps
Offers access to the following specific app-related events:
- AppInstalled: Triggered when an app is installed. Provides details such as the
appId
of the installed app and theoriginInstanceId
associated with the installation. - AppRemoved: Triggered when an app is removed. Provides details about the removed app, including its
appId
.
Functions
The following functions are available once you have a WixClient
instance.
fetch() (Deprecated)
Fetch a resource from the Wix REST API using the client's authentication.
Warning: The fetch()
function is deprecated in favor of fetchWithAuth()
.
Syntax
1
Parameters
Name | Type | Description |
---|---|---|
relativeUrl | string | URL of the Wix REST API to call. |
options | RequestInit | Request options. |
Returns
Response - Standard fetch()
response.
fetchWithAuth()
Use to make requests to both the Wix REST API and external endpoints that require a Wix access token. The access token is generated using authentication details provided to the client and is automatically included in requests as an Authorization
header.
Note: Only use this function to call a Wix REST API if the needed functionality isn't available in the JavaScript SDK. Otherwise, use the SDK version.
Syntax
1
Parameters
Name | Type | Description |
---|---|---|
relativeUrl | string | URL of the Wix REST API to call. |
options | RequestInit | Request options. |
Returns
Response - Standard fetch()
response.
setHeaders()
Sets headers for the client.
You can use the setHeaders()
function to set headers such as an authorization header to be used for authentication when using the Wix JavaScript SDK from a Wix App.
Syntax
1
Parameters
Name | Type | Description |
---|---|---|
headers | Record<string, string> | Header information. |
use()
Binds an SDK module with the client's authentication strategy and returns an initialized module.
Syntax
1
Parameters
Name | Type | Description |
---|---|---|
modules | Module | An SDK module to bind with the client's authentication strategy. |
Returns
InitializedModule
- An initialized module bound to the client's authentication strategy.
Example
1
graphql()
Executes a GraphQL query against the Wix GraphQL API.
Syntax
1
Parameters
Name | Type | Description |
---|---|---|
query | TypedQueryInput<Result, Variables> | A graphql query to execute. Supports query strings decorated with type information, for Result and Variables type inference. |
variables | Variables | The variables to use in the query. |
opts.apiVersion | string | The version of the Wix GraphQL API to use (default: 'alpha'). |
Returns
Promise<{ data: Result; errors?: GraphQLFormattedError[]; }>
- A promise with data
as the Result
of the query, and optionally errors
with a list of errors while executing the query.
Example
1