Package Exports
- @cx-reports/api-client
- @cx-reports/api-client/v1.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@cx-reports/api-client) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
TypeScript API Client for CxReports
This library allows you to connect to the CxReports API from your applications.
Installation
npm install @cx-reports/api-client
Example Usage
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
.
Examples
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.