metrics-client
This library was generated with Nx.
Building
Run nx build metrics-client
to build the library.
Running unit tests
Run nx test metrics-client
to execute the unit tests via Jest.
Installation
Before being able to use the library to expose metrics, you need to install the library. Then:
$ npm install @cencosudx/metrics-client
Importing
To use this library, you need to import the following 3 components:
// Using ES6 imports
import { ITask, Module, publishMessage } from '@cencosudx/metrics-client';
- ITask : Required model/structure for sending data to metrics module
- Module : Available modules to integrate with the metrics module
- publishMessage : Function by which the message/data will be published to the metrics module
How to use ?
To make the information of the module in use available to the metrics module, once the required components are imported, it is only necessary to define an ITask and publish the information through the publishMessage() function.
// Defining the ITask
const id = `globalizacion-${Module.FOUNDRATE}`;
const task: ITask = {
id, // generated id by region
country: 'AR', // Country where the module is used
module: Module.FOUNDRATE, // Module to be used for metrics
business_unit: 'SM', // Business unit
state: 'CREATED', // Status: 'CREATED' | 'COMPLETED' | 'EXPIRED' | 'IN_PROGRESS' | 'DELETED'
created_at: new Date().getTime(), // Timestamp of metric creation
updated_at: new Date().getTime(), // Timestamp of metric update
store_id: '12345', // Store ID
// metadata: The metadata to be sent depends on the module being implemented for metrics, as certain modules require at least some necessary fields, such as foundrate requiring at least the "origin" field and the ...content field is all the metadata or data required to be tracked in the metrics module
metadata: {
origin: 'ecommerce',
...content,
},
};
// Publishing the message to the metrics module
publishMessage(task);
Accessing to ITask props
There are some properties such as country, module, business_unit that are predefined values, in order to standardize the data that can be received in the metrics module and have a control point on which data to filter and thus avoid discrepancies between the data that each region manages
So if you need to add any other value to the mentioned fields, you should contact the globalization team to add and make the new data available