-
Notifications
You must be signed in to change notification settings - Fork 15
Configuration Files
The Open Data Exporter is fully configurable via a JSON config file. This page is a TLDR guide for the config file. For in-depth information, see the deep dive guides.
Top level schema:
{
"pureCloud": {},
"requests": {},
"transforms": {},
"templates": {},
"exports": {},
"configurations": {},
"jobs": {},
"customData": {}
}
This section of the config file contains settings for use by the JavaScript SDK. For more information about OAuth clients, see How to Create an OAuth Client. This integration uses a client credentials grant.
Schema:
{
"pureCloud": {
"clientId": "",
"clientSecret": "",
"timeout": 0,
"environment": ""
}
}
- clientId The PureCloud OAuth client's client ID for a client credentials grant
- clientSecret The PureCloud OAuth client's client ID for a client credentials grant
- timeout (optional, default: 5000) The number of milliseconds to wait for API responses
- environment (optional, default: mypurecloud.com) overrides the PureCloud environment (i.e. mypurecloud.ie, mypurecloud.jp, mypurecloud.com.au)
Note: If desired, the clientId and clientSecret can be passed as command line parameters and omitted from the config file. See more about command line parameters in: Running the application.
This section of the config file contains configuration for API requests used to retrieve data from PureCloud. Each request type supports/requires a different combination of properties, but all properties are shown below.
For additional information, see Deep Dive: Requests.
Schema:
{
"requests": {
"<request_name>": {
"name": "",
"type": "",
"strategy": "",
"collection": "",
"target": "",
"body": {},
"parameters": {},
"getAllPages": {},
"transforms": {},
"customData": {}
}
}
}
This section of the config file contains configuration for the set of templates and functions used to manipulate the data. Transforms may be applied to request result data or may be used as part of a configuration's execution plan. All transform configurations must specify "type": "transform"
.
For additional information, see Deep Dive: Transforms
Schema:
{
"transforms": {
"<transform_name>": {
"name": "",
"type": "transform",
"expressions": [],
"customData": {}
}
}
}
This section of the config file contains configuration for the templates to format data for exporting. Templates use literal text, variable replacement, array iteration, and execution of JavaScript functions to produce the output format.
For additional information, see Deep Dive: Templates
Schema:
{
"templates": {
"<template_name>": {
"name": "",
"template": "",
"fileName": "",
"customData": {}
}
}
}
This section of the config file contains configuration for the set of export configurations used to write out data.
For additional information, see Deep Dive: Exports
Schema:
{
"exports": {
"<export_name>": {
"name": "",
"type": "",
"destination": "",
"customData": {}
}
}
}
This section of the config file contains configuration for the set of configuration profiles that define a combination of queries, transforms, templates, and exports. Each configuration profile should generally only be responsible for generating one set of data for one template.
For additional information, see Deep Dive: Configurations
Schema:
{
"<config_name>": {
"name": "",
"externalModules": {
"<module_name>": ""
},
"executionPlan": {
"<request_name>": {
"$ref": "#/requests/<request_name>"
},
"<transform_name>": {
"$ref": "#/transforms/<transform_name>"
}
},
"templates": {
"<template_name>": {
"$ref": "#/templates/<template_name>"
}
},
"exports": {
"<export_name>": {
"$ref": "#/exports/<export_name>"
}
},
"customData": {}
}
}
This section of the config file contains configuration for the set of jobs that define the configurations to execute.
For additional information, see Deep Dive: Jobs
Schema:
{
"<job_name>": {
"name": "",
"configurations": {
"<config_name>": {
"$ref": "#/configurations/<config_name>"
}
},
"cron": "",
"customData": {}
}
}