> ## Documentation Index
> Fetch the complete documentation index at: https://docs.killb.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Mejores Prácticas

> Directrices de integración listas para producción

## Seguridad

<AccordionGroup>
  <Accordion title="Proteger Credenciales" icon="lock">
    * Almacena claves de API en variables de entorno
    * Nunca comprometas secrets al control de versión
    * Rota claves regularmente
    * Usa servicios de gestión de secrets
  </Accordion>

  <Accordion title="Validar Entradas" icon="check">
    * Valida entradas del usuario del lado del cliente
    * Sanitiza datos antes de llamadas API
    * Verifica formatos antes del envío
    * Previene ataques de inyección
  </Accordion>

  <Accordion title="Asegurar Webhooks" icon="shield">
    * Siempre verifica firmas
    * Usa solo HTTPS
    * Implementa rate limiting
    * Registra actividad sospechosa
  </Accordion>
</AccordionGroup>

## Rendimiento

<AccordionGroup>
  <Accordion title="Cache Estratégicamente" icon="database">
    * Cache datos de usuario (1 hora TTL)
    * Cache listas de bancos (24 horas)
    * Cache saldos (5 minutos)
    * Invalida en webhooks
  </Accordion>

  <Accordion title="Optimizar Llamadas API" icon="bolt">
    * Usa webhooks en lugar de polling
    * Agrupa operaciones relacionadas por lotes
    * Implementa deduplicación de solicitudes
    * Usa paginación para grandes conjuntos de datos
  </Accordion>

  <Accordion title="Manejar Errores Graciosamente" icon="triangle-exclamation">
    * Implementa lógica de reintento
    * Usa backoff exponencial
    * Registra errores para depuración
    * Muestra mensajes amigables al usuario
  </Accordion>
</AccordionGroup>

## Experiencia del Usuario

<AccordionGroup>
  <Accordion title="Comunicación Clara" icon="comment">
    * Muestra montos exactos y tarifas
    * Muestra tiempos de procesamiento
    * Proporciona actualizaciones de estado
    * Explica requisitos claramente
  </Accordion>

  <Accordion title="KYC Progresivo" icon="stairs">
    * Comienza con L0/L1
    * Actualiza cuando usuario necesite límites más altos
    * Explica beneficios de verificación
    * Haz el proceso KYC fluido
  </Accordion>

  <Accordion title="Manejar Casos Extremos" icon="flask">
    * Expiración de cotización
    * Fallas de pago
    * Problemas de red
    * Transacciones lentas
  </Accordion>
</AccordionGroup>

## Idempotencia

Usa `externalId` para idempotencia:

```javascript theme={null}
// Previene ramps duplicados en reintento
const createRamp = async (quoteId, userId, accountId, orderId) => {
  return await fetch('/api/v2/ramps', {
    method: 'POST',
    headers: { /* headers */ },
    body: JSON.stringify({
      quotationId: quoteId,
      userId: userId,
      accountId: accountId,
      externalId: `order-${orderId}` // Clave de idempotencia
    })
  });
};
```

## Lista de Verificación de Producción

<Steps>
  <Step title="Seguridad">
    * [ ] Claves de API en variables de entorno
    * [ ] Verificación de firma de webhook
    * [ ] Solo HTTPS
    * [ ] Validación de entrada
  </Step>

  <Step title="Manejo de Errores">
    * [ ] Lógica de reintento implementada
    * [ ] Mensajes de error amigables
    * [ ] Registro de errores
    * [ ] Alertas de monitoreo
  </Step>

  <Step title="Pruebas">
    * [ ] Todos los flujos probados en sandbox
    * [ ] Casos extremos manejados
    * [ ] Entrega de webhook verificada
    * [ ] Prueba de carga completada
  </Step>

  <Step title="Monitoreo">
    * [ ] Logging configurado
    * [ ] Seguimiento de errores (Sentry, etc.)
    * [ ] Monitoreo de rendimiento
    * [ ] Alertas configuradas
  </Step>
</Steps>

## Próximos Pasos

<Card title="Ir en Vivo" icon="rocket" href="/es/sandbox">
  Cambia de sandbox a producción
</Card>
