New:Introducing Socket Scanning for VS Code Marketplace Extensions.Learn more →
Get Started

observoo

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

observoo

SDK oficial do Observoo para envio de logs em aplicações Node.js

latest
npmnpm
Version
2.1.1
Version published
Maintainers
1
Created
Source

Observoo SDK

SDK oficial do Observoo para envio de logs em aplicações Node.js.

Instalação

npm install observoo

Configuração

import { Observoo } from 'observoo';

const observoo = new Observoo({
  projectId: 'seu-project-id',
  apiKey: 'seu-api-key',
  timeout: 10000, // opcional, padrão: 10000ms
  retries: 3, // opcional, padrão: 3
  retryDelay: 1000, // opcional, padrão: 1000ms
});

Uso Básico

s de conversão

// Rastrear compra
const result = await observoo.purchase('order-123', 99.9, 'BRL', {
  productId: 'prod-456',
  category: 'electronics',
});

// Rastrear cadastro
const result = await observoo.signup('email', {
  plan: 'premium',
});

// Rastrear login
const result = await observoo.signin('google', {
  userId: 'user-123',
});

Enviar eventos de erro

// Rastrear erro
await observoo.error('API timeout', 'Error: Request timeout at fetch...', {
  type: 'ERROR',
  ...
});

Configuração Avançada

Definir opções padrão

// Configurar opções que serão usadas em todos os eventos
observoo.setDefaultOptions({
  url: 'https://meusite.com',
  userAgent: 'MyApp/1.0',
  visitorId: 'visitor-123',
});

Exemplos Práticos

Next.js API Route

// pages/api/track.ts
import { NextApiRequest, NextApiResponse } from 'next';
import { Observoo } from 'observoo';

const observoo = new Observoo({
  projectId: process.env.OBSERVOO_PROJECT_ID!,
  apiKey: process.env.OBSERVOO_API_KEY,
});

export default async function handler(
  req: NextApiRequest,
  res: NextApiResponse
) {
  if (req.method !== 'POST') {
    return res.status(405).json({ error: 'Method not allowed' });
  }

  const { event, data, url, referrer } = req.body;

  try {
    const result = await observoo.serverAction('create_checkout_session', {
      type: 'SERVER_ACTION',
      method: 'CREATE',
      statusText: 'success',
      message: 'success',
      data: {
        email: email,
        userAgent: req.headers['user-agent'],
      },
    });

    res.status(200).json(result);
  } catch (error) {
    res.status(500).json({ error: 'Internal server error' });
  }
}

Error Tracking

// Middleware para capturar erros
app.use(
  (
    error: Error,
    req: express.Request,
    res: express.Response,
    next: express.NextFunction
  ) => {
    observoo
      .error(error.message, error.stack, {
        type: 'ERROR',
        method: 'CREATE',
        statusText: 'error',
        path: req.url,
        data: {
          userAgent: req.get('user-agent'),
        },
      })
      .catch(console.error);

    next(error);
  }
);

Tipos TypeScript

O SDK inclui tipos TypeScript completos:

import {
  ObservooConfig,
  ObservooOptions,
  TrackEvent,
  EventData,
  TrackResponse,
} from 'observoo';

// Use os tipos para melhor tipagem
const config: ObservooConfig = {
  projectId: 'seu-project-id',
  apiKey: 'seu-api-key',
};

const options: ObservooOptions = {
  url: 'https://meusite.com',
  visitorId: 'visitor-123',
};

Tratamento de Erros

O SDK inclui retry automático e tratamento de erros robusto:

const result = await observoo.track('custom');

if (!result.success) {
  console.error('Erro ao enviar evento:', result.error);
  console.error('Detalhes:', result.details);
} else {
  console.log(
    `Evento enviado com sucesso. ${result.count} eventos processados.`
  );
}

Configuração de Ambiente

# .env
OBSERVOO_PROJECT_ID=seu-project-id
OBSERVOO_API_KEY=api_key

Licença

MIT

Keywords

analytics

FAQs

Package last updated on 26 Jun 2025

Related posts