Volver a Documentación

Inicio rápido — Node.js

Integra Rayuela en tu aplicación Node.js y obtén tu primera recomendación en menos de 5 minutos.

Requisitos previos

  • Node.js 14 o superior
  • npm o yarn
  • Una cuenta en Rayuela (regístrate en rayuela.ai)
  • Tu API Key (disponible en el dashboard después del registro)
Paso 1: Instalación
Instala las dependencias necesarias para interactuar con la API de Rayuela.
# Con npm
npm install axios

# Con yarn  
yarn add axios
Paso 2: Configuración inicial
Crea un cliente Node.js para interactuar con la API de Rayuela.
const axios = require('axios');

class RayuelaClient {
  constructor(apiKey) {
    this.apiKey = apiKey;
    this.baseURL = 'https://rayuela-backend-e7apihrdoa-uc.a.run.app/api/v1';
    this.client = axios.create({
      baseURL: this.baseURL,
      headers: {
        'X-API-Key': apiKey,
        'Content-Type': 'application/json'
      }
    });
  }

  async testConnection() {
    try {
      const response = await this.client.get('/health/auth');
      return response.status === 200;
    } catch (error) {
      console.error('Error de conexión:', error.message);
      return false;
    }
  }
}

// Inicializar cliente
const client = new RayuelaClient('sk_prod_tu_api_key_aqui');
Paso 3: Verificar conexión
Prueba que tu API Key funciona correctamente.
// Probar conexión
async function main() {
  const isConnected = await client.testConnection();
  
  if (isConnected) {
    console.log('OK: conexión exitosa');
  } else {
    console.log('Error: verifica tu API Key.');
  }
}

main();
Paso 4: Obtener recomendaciones
Solicita recomendaciones personalizadas para un usuario.
async getRecommendations(userId, options = {}) {
  const payload = {
    external_user_id: userId,
    recommendation_goal: 'user_engagement',
    model_variant: 'standard',
    strategy: options.strategy || 'hybrid',
    include_explanation: false,
    limit: options.limit || 5,
    filters: options.filters || {
      logic: 'and',
      filters: []
    }
  };

  try {
    const response = await this.client.post('/recommendations/personalized/query', payload);
    return response.data;
  } catch (error) {
    console.error('Error obteniendo recomendaciones:', error.message);
    throw error;
  }
}

// Ejemplo de uso
const recommendations = await client.getRecommendations('user_123', {
  limit: 5,
  filters: {
    logic: 'and',
    filters: [{ field: 'category', op: 'eq', value: 'electronics' }]
  }
});

console.log('Recomendaciones:', recommendations);
Listo — siguientes pasos

Ya tienes configurado el cliente Node.js básico. Ahora puedes: