Flex Plugins API Client
npm install @twilio/flex-plugins-api-client


This package provides a NodeJS HTTP client for using the Public API endpoints.
Install this package using:
``bashUsing npm
npm i -S flex-plugins-api-client
Usage
Instantiate a
PluginServiceHttpClient client by providing username/password (AccountSid/AuthToken, API Key/Secret, or JWE token). Then instantiate each client (corresponding to different resources) by passing this HTTP client to it:`js
import {
PluginServiceHttpClient,
PluginsClient,
PluginVersionsClient
} from '@twilio/flex-plugins-api-client';// Instantiate the HTTP client
const httpClient = new PluginServiceHttpClient(process.env.USERNAME, process.env.PASSWORD);
// Now instantiate each endpoint client you want to use
const pluginsClient = new PluginsClient(httpClient);
const pluginsVersionClient = new PluginVersionsClient(httpClient);
`
Clients
The available clients are listed below. All endpoints return a promise.
Note: If you are using the JWE token for authentication, then _all_ identifiers (such as
pluginId, versionId, etc) _must_ be the sid of the resource only.$3
This is the HTTP client for plugins endpoints. Available endpoints are:
#### list(pagination?: Pagination)
This endpoint lists all plugins.
#### get(pluginId)
This endpoint fetches the provided plugin. The
pluginId can either be the unique name or the plugin sid.#### create(requestObject)
This endpoint creates a new plugin.
#### update(pluginId, updateObject)
This endpoint updates a plugin. The
pluginId can either be the unique name or the plugin sid.#### upsert(upsertObject)
This endpoint tries to find the plugin by uniqueName. If it is found, then it updates the plugin; otherwise, it creates a new plugin.
$3
This is the HTTP client for plugin versions endpoints. Available endpoints are:
#### list(pluginId, pagination?: Pagination)
This endpoint lists all plugin versions of the given plugin. The
pluginId can either be the unique name or the plugin sid.#### latest(pluginId)
This endpoint returns the latest plugin version (by the date created) of the given plugin. The
pluginId can either be the unique name or the plugin sid.#### get(pluginId, versionId)
This endpoint fetches the provided plugin version. The
pluginId can either be the unique name or the plugin sid and the versionId can either be the version or the plugin version sid.#### create(pluginId, requestObject)
This endpoint creates a new plugin version. The
pluginId can either be the unique name or the plugin sid.$3
This is the HTTP client for configurations endpoints. Available endpoints are:
#### list(pagination?: Pagination)
This endpoint lists all configurations.
#### get(configId)
This endpoint fetches the provided configuration. The
configId can either be version of the configuration sid.#### create(requestObject)
This endpoint creates a new configuration.
$3
This is the HTTP client for configured plugins endpoints. Available endpoints are:
#### list(configId)
This endpoint lists all configured plugins. The
configId can either be version of the configuration sid.#### get(configId, pluginId)
This endpoint fetches the provided configured plugins. The
configId can either be version of the configuration sid and the pluginId can either be the unique name or the plugin sid.$3
This is the HTTP client for releases endpoints. Available endpoints are:
#### list(pagination?: Pagination)
This endpoint lists all releases.
#### active()
This endpoint returns the currently active release.
#### get(releaseId)
This endpoint fetches the provided release. The
releaseId is the release sid.#### create(requestObject)
This endpoint creates a new release.
$3
The
list endpoints can taken an optional pagination parameter. The interface for this parameter is and it follows the regular Twilio pagination format:`ts
interface Pagination {
pageSize?: number;
page?: number;
pageToken?: string;
}
`The list endpoints return data in the format of:
`
interface PaginationMeta {
meta: {
page: number;
page_size: number;
first_page_url: string;
previous_page_url: string;
url: string;
next_page_url?: string;
key: string;
next_token?: string;
previous_token?: string;
};
}
`The
next_token and previous_token will be parsed from the next_page_url and previous_page_url if available and can be used to be passed as Pagination parameter to the next list` call.