1.0.0 • Published 2 years ago

@cencosudx/metrics-client v1.0.0

Weekly downloads
-
License
-
Repository
-
Last release
2 years ago

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