This library allows you to connect to the CxReports API from your applications.
npm install @cx-reports/api-client
import { CxReportsClient } from "@cx-reports/api-client";
const client = new CxReportsClient({
baseUrl: "[cx-reports-server-url]",
authToken: "[your-personal-access-token]",
defaultWorkspaceId: "[id or code of the workspace]",
defaultTimezone: "UTC"
});
// export a report to PDF
let pdf = client.downloadPDF({ reportId: 123, params: {} });
// fetch all reports of type invoice
let reports = await client.getReports({ type: "invoice" });
// get all available report types
let types = await client.getReportTypes();
// get all available workspaces
let workspaces = await client.getWorkspaces();
// create a web token to authenticate iframe preview
let nonce = await client.createNonceAuthToken();
// get a preview URL of a report or report type
let url = client.getReportPreviewURL({
reportType: "invoice",
params: {},
data: {},
tmpDataId: 1
nonce,
});
The current timezone of your server can be obtained using new Intl.DateTimeFormat().resolvedOptions().timeZone
.
The examples
folder provides the usage examples.
To set up your environment variables:
- Rename the
.env.sample
file to.env
. - Open the
.env
file in your text editor. - Replace the placeholder values with your actual values.