<h1 style="text-align: center;">Camon Tag Manager</h1>

<div style="width:100%; display:flex; justify-content: center;">
    <img src="https://ar.camonapp.com/_lib/assets/logo.png" alt="Imagen del logo"/>
</div>

[![npm version](https://badge.fury.io/js/camon-tmanager.svg)](https://badge.fury.io/js/camon-tmanager)



## Descripción

Esta librería se creó con la intención de resolver los problemas del envío de eventos para los reportes y métricas de experiencias. Dispone de una API facil e intuitiva de usar y configurar para enviar eventos al servicio de AWS Kinesis.

## Tipos de eventos

Hay eventos que se disparan por defecto, y uno que se dispara de forma manual.

- `site_starting`: Carga inicial del sitio, se puede desactivar
- `experience_view`: Carga inicial de la experiencia, se puede desactivar
- `interaction_time`: Cuenta el tiempo transcurrido en la experiencia, se puede desactivar
- `interaction_custom`: Especifica un evento custom, se debe especificar el label. Ej: 'Click en botón'

## Instalación

Para instalar esta librería, sigue estos pasos:

1. Corre el comando: `npm i camon-tmanager@latest`
2. Configurar con `init({...props})`
3. Disparar el evento que necesitemos: `customEvent('NOMBRE DEL EVENTO')`

## Uso

Hasta la fecha disponemos de dos funciones que nos permiten configurar `init()` y enviar un evento `customEvent()` respectivamente. A continuación un ejemplo de uso.

```javascript
import {init, customEvent} from 'camon-tmanager'

/* Función de configuración, colocar en el entrypoint de la aplicación (App.js o similar) */
init({
    alias: 'O3-ARG',
    endpoint: 'https://analytics....', 
    enabled: true,      // por defecto es true OPCIONAL, este deshabilita todo
    enabledTrackView: true,    // por defecto es true OPCIONAL
    enabledTrackSiteStarting: true,    // por defecto es true OPCIONAL
    enabledTrackTime: true,    // por defecto es true OPCIONAL
    experience: {
        experienceId: 7777, 
        campaignId: 7777, 
        companyId: 0,   // TODO: hoy por hoy se debe enviar de esta forma
        customerId: 7777
    }, 
})

/* Función que envía el evento */
customEvent('Click en botón INICIAR')
```
## Update
    - npm run build
    - cambiar la version (manual)
    - npm publish
