Skip to main content

Guía de Integración

Esta guía te ayudará a integrar la API de TraderPal Connect en tu aplicación.

Requisitos Previos

  • Cuenta de TraderPal activa
  • API Key generada
  • Entorno de desarrollo configurado
  • Conocimientos básicos de REST APIs

Pasos para la Integración

1. Configuración Inicial

  1. Registra tu Aplicación

    • Accede al panel de desarrolladores
    • Crea una nueva aplicación
    • Configura los dominios permitidos
    • Obtén tus credenciales
  2. Configura el Entorno

    # Variables de entorno necesarias
    TRADERPAL_API_KEY=tu-api-key
    TRADERPAL_API_URL=https://api.traderpal.com/v1

2. Flujo de Integración

Autenticación

const authenticate = async () => {
const response = await fetch(`${process.env.TRADERPAL_API_URL}/auth/token`, {
method: 'POST',
headers: {
'X-API-Key': process.env.TRADERPAL_API_KEY,
'Content-Type': 'application/json'
},
body: JSON.stringify({
user_id: 'id-del-usuario'
})
});
return response.json();
};

Crear Perfil de Trader

const createTraderProfile = async (userData) => {
const response = await fetch(`${process.env.TRADERPAL_API_URL}/traders`, {
method: 'POST',
headers: {
'X-API-Key': process.env.TRADERPAL_API_KEY,
'Authorization': `Bearer ${accessToken}`,
'Content-Type': 'application/json'
},
body: JSON.stringify(userData)
});
return response.json();
};

Realizar Operaciones

const placeOrder = async (orderData) => {
const response = await fetch(`${process.env.TRADERPAL_API_URL}/orders`, {
method: 'POST',
headers: {
'X-API-Key': process.env.TRADERPAL_API_KEY,
'Authorization': `Bearer ${accessToken}`,
'Content-Type': 'application/json'
},
body: JSON.stringify(orderData)
});
return response.json();
};

3. Webhooks

Configura webhooks para recibir notificaciones en tiempo real:

// Ejemplo de endpoint para recibir webhooks
app.post('/webhook', (req, res) => {
const signature = req.headers['x-traderpal-signature'];
const payload = req.body;

// Verifica la firma del webhook
if (verifyWebhookSignature(signature, payload)) {
// Procesa el webhook
handleWebhookEvent(payload);
res.status(200).send('OK');
} else {
res.status(401).send('Invalid signature');
}
});

Mejores Prácticas

1. Manejo de Errores

  • Implementa reintentos con backoff exponencial
  • Maneja todos los códigos de error posibles
  • Registra los errores para debugging

2. Seguridad

  • Nunca expongas tu API Key
  • Valida todas las entradas
  • Implementa rate limiting
  • Usa HTTPS en todas las comunicaciones

3. Rendimiento

  • Implementa caché cuando sea posible
  • Minimiza el número de llamadas a la API
  • Usa paginación para grandes conjuntos de datos

4. Testing

  • Prueba en ambiente de sandbox
  • Implementa pruebas unitarias
  • Realiza pruebas de carga

Ejemplos de Uso

Crear un Nuevo Usuario

const createUser = async (userData) => {
try {
const response = await fetch(`${process.env.TRADERPAL_API_URL}/users`, {
method: 'POST',
headers: {
'X-API-Key': process.env.TRADERPAL_API_KEY,
'Content-Type': 'application/json'
},
body: JSON.stringify(userData)
});

if (!response.ok) {
throw new Error(`Error: ${response.status}`);
}

return await response.json();
} catch (error) {
console.error('Error creating user:', error);
throw error;
}
};

Obtener Estado de la Cuenta

const getAccountStatus = async (userId) => {
try {
const response = await fetch(
`${process.env.TRADERPAL_API_URL}/users/${userId}/status`,
{
headers: {
'X-API-Key': process.env.TRADERPAL_API_KEY,
'Authorization': `Bearer ${accessToken}`
}
}
);

if (!response.ok) {
throw new Error(`Error: ${response.status}`);
}

return await response.json();
} catch (error) {
console.error('Error getting account status:', error);
throw error;
}
};

Recursos Adicionales

Solución de Problemas

Si encuentras problemas durante la integración:

  1. Verifica los logs de error
  2. Revisa la documentación
  3. Consulta el FAQ
  4. Contacta a soporte

Última actualización: Marzo 2024