Files
social-media-automation/docs/API_KEYS_SETUP.md
Consultoría AS 541a8484a7 feat(phase-1): Complete foundation setup
- Add User model and authentication system with JWT cookies
- Implement login/logout routes and protected dashboard
- Add Alembic database migration configuration
- Add create_admin.py script for initial user setup
- Make ContentGenerator and ImageGenerator lazy-initialized
- Add comprehensive API keys setup documentation
- Fix startup errors when services unavailable

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 01:30:15 +00:00

8.7 KiB

Guía de Configuración de API Keys

Esta guía detalla el proceso para obtener las credenciales necesarias para cada plataforma.

Tabla de Contenidos

  1. X (Twitter) Developer
  2. Meta Developer (Facebook, Instagram, Threads)
  3. DeepSeek API
  4. Configuración en el Sistema

X (Twitter) Developer

Paso 1: Crear cuenta de desarrollador

  1. Visita developer.twitter.com
  2. Inicia sesión con tu cuenta de X/Twitter
  3. Haz clic en "Sign up for Free Account" o "Apply for access"

Paso 2: Crear un Proyecto y App

  1. En el Dashboard, ve a Projects & Apps > Overview
  2. Crea un nuevo proyecto:
    • Nombre: Consultoria-AS-Social-Automation
    • Caso de uso: Making a bot o Building tools for Twitter users
  3. Dentro del proyecto, crea una App:
    • Nombre: social-media-automation

Paso 3: Configurar permisos

  1. En la configuración de la App, ve a User authentication settings
  2. Configura:
    • App permissions: Read and Write
    • Type of App: Web App, Automated App or Bot
    • Callback URL: https://tu-dominio.com/callback (o http://localhost:8000/callback para desarrollo)
    • Website URL: https://consultoria-as.com

Paso 4: Obtener credenciales

En la sección Keys and Tokens, genera y guarda:

Credencial Variable de Entorno
API Key TWITTER_API_KEY
API Key Secret TWITTER_API_SECRET
Access Token TWITTER_ACCESS_TOKEN
Access Token Secret TWITTER_ACCESS_TOKEN_SECRET
Bearer Token TWITTER_BEARER_TOKEN

Importante: El plan gratuito permite 1,500 tweets/mes. Para más volumen, considera el plan Basic ($100/mes) con 3,000 tweets/mes.


Meta Developer

Meta maneja Facebook, Instagram y Threads desde el mismo portal de desarrolladores.

Paso 1: Crear cuenta de desarrollador

  1. Visita developers.facebook.com
  2. Inicia sesión con tu cuenta de Facebook
  3. Acepta los términos de desarrollador

Paso 2: Crear una App

  1. Ve a My Apps > Create App
  2. Selecciona tipo de app: Business
  3. Configura:
    • Nombre: Consultoria-AS-Social-Automation
    • Contacto: tu email
    • Business Account: selecciona o crea una

Paso 3: Agregar productos

En el dashboard de tu app, agrega estos productos:

Para Facebook Pages:

  1. Añade el producto Facebook Login for Business
  2. Añade Pages API
  3. Configura los permisos:
    • pages_manage_posts
    • pages_read_engagement
    • pages_show_list

Para Instagram:

  1. Añade el producto Instagram Graph API
  2. Permisos necesarios:
    • instagram_basic
    • instagram_content_publish
    • instagram_manage_comments
    • instagram_manage_insights

Para Threads:

  1. Añade el producto Threads API
  2. Permisos necesarios:
    • threads_basic
    • threads_content_publish
    • threads_manage_replies

Paso 4: Conectar cuentas

  1. Ve a Settings > Basic para obtener:

    • App ID → META_APP_ID
    • App Secret → META_APP_SECRET
  2. Para Facebook Page:

    • Ve a Tools > Graph API Explorer
    • Selecciona tu app y página
    • Genera un Page Access Token con los permisos necesarios
    • Convierte a Long-Lived Token (60 días)
  3. Para Instagram:

    • La cuenta de Instagram debe estar conectada a una Facebook Page
    • Ve a Graph API Explorer
    • Obtén el Instagram Business Account ID
    • Genera Access Token con permisos de Instagram

Paso 5: Obtener tokens de larga duración

# Convertir token de corta a larga duración (60 días)
curl -X GET "https://graph.facebook.com/v18.0/oauth/access_token?grant_type=fb_exchange_token&client_id={APP_ID}&client_secret={APP_SECRET}&fb_exchange_token={SHORT_LIVED_TOKEN}"
Credencial Variable de Entorno
App ID META_APP_ID
App Secret META_APP_SECRET
Page Access Token FACEBOOK_PAGE_ACCESS_TOKEN
Page ID FACEBOOK_PAGE_ID
Instagram User ID INSTAGRAM_USER_ID
Threads User ID THREADS_USER_ID

Nota: Los tokens de Meta expiran. Implementa un sistema de refresh o regenera manualmente cada 60 días.


DeepSeek API

Paso 1: Crear cuenta

  1. Visita platform.deepseek.com
  2. Regístrate con email o Google
  3. Verifica tu cuenta

Paso 2: Obtener API Key

  1. Ve a API Keys en el dashboard
  2. Crea una nueva API Key
  3. Copia y guarda la key (solo se muestra una vez)

Paso 3: Agregar créditos

  1. Ve a Billing > Top Up
  2. Agrega créditos (mínimo $5 USD recomendado para empezar)
  3. Los precios son muy económicos (~$0.14/1M tokens input, ~$0.28/1M tokens output)
Credencial Variable de Entorno
API Key DEEPSEEK_API_KEY
Base URL https://api.deepseek.com (ya configurado por defecto)

Configuración en el Sistema

Archivo .env

Crea el archivo .env en la raíz del proyecto:

# ==============================================
# BASE DE DATOS
# ==============================================
DATABASE_URL=postgresql://postgres:tu_password@localhost:5432/social_automation
REDIS_URL=redis://localhost:6379/0

# ==============================================
# SEGURIDAD
# ==============================================
SECRET_KEY=genera-una-clave-segura-de-32-caracteres-minimo
ALGORITHM=HS256
ACCESS_TOKEN_EXPIRE_MINUTES=30

# ==============================================
# X (TWITTER) API
# ==============================================
TWITTER_API_KEY=tu_api_key
TWITTER_API_SECRET=tu_api_secret
TWITTER_ACCESS_TOKEN=tu_access_token
TWITTER_ACCESS_TOKEN_SECRET=tu_access_token_secret
TWITTER_BEARER_TOKEN=tu_bearer_token

# ==============================================
# META APIs (Facebook, Instagram, Threads)
# ==============================================
META_APP_ID=tu_app_id
META_APP_SECRET=tu_app_secret

# Facebook
FACEBOOK_PAGE_ACCESS_TOKEN=tu_page_access_token
FACEBOOK_PAGE_ID=tu_page_id

# Instagram
INSTAGRAM_USER_ID=tu_instagram_user_id
INSTAGRAM_ACCESS_TOKEN=tu_instagram_access_token

# Threads
THREADS_USER_ID=tu_threads_user_id
THREADS_ACCESS_TOKEN=tu_threads_access_token

# ==============================================
# DEEPSEEK API (Generación de contenido)
# ==============================================
DEEPSEEK_API_KEY=tu_deepseek_api_key
DEEPSEEK_BASE_URL=https://api.deepseek.com

# ==============================================
# CONFIGURACIÓN DE NEGOCIO
# ==============================================
BUSINESS_NAME=Consultoría AS
BUSINESS_DESCRIPTION=Consultoría tecnológica y venta de equipos de cómputo e impresión 3D
BUSINESS_WEBSITE=https://consultoria-as.com
BUSINESS_LOCATION=Tijuana, México

Generar SECRET_KEY

# Usando Python
python -c "import secrets; print(secrets.token_urlsafe(32))"

# Usando OpenSSL
openssl rand -base64 32

Verificar configuración

Después de configurar el .env, verifica que todo esté correcto:

# Activar entorno virtual
source venv/bin/activate

# Verificar que las variables se cargan
python -c "from app.core.config import settings; print('DB:', settings.DATABASE_URL[:20] + '...'); print('DeepSeek:', 'OK' if settings.DEEPSEEK_API_KEY else 'NO CONFIGURADO')"

Límites de API y Costos Estimados

X (Twitter)

Plan Tweets/mes Costo
Free 1,500 $0
Basic 3,000 $100/mes
Pro 300,000 $5,000/mes

Meta (Facebook/Instagram/Threads)

  • Sin límite de publicaciones para cuentas propias
  • Rate limits: ~200 llamadas/hora por usuario
  • Costo: Gratuito

DeepSeek

Modelo Input Output
deepseek-chat $0.14/1M tokens $0.28/1M tokens
deepseek-coder $0.14/1M tokens $0.28/1M tokens

Estimación mensual: ~$5-10 USD para 300 posts/mes


Solución de Problemas

Error: "Invalid API Key" en X

  1. Verifica que copiaste la key completa
  2. Regenera las credenciales si es necesario
  3. Asegúrate de que la app tiene permisos de escritura

Error: "Token expired" en Meta

  1. Los tokens de página expiran cada 60 días
  2. Usa el Graph API Explorer para generar uno nuevo
  3. Considera implementar refresh automático

Error: "Insufficient balance" en DeepSeek

  1. Agrega más créditos en el dashboard
  2. Verifica el consumo en la sección de billing

Próximos Pasos

  1. Configura las credenciales en .env
  2. Ejecuta docker-compose up -d para iniciar servicios
  3. Crea el usuario admin: python scripts/create_admin.py
  4. Accede al dashboard: http://localhost:8000/dashboard
  5. Configura el calendario de contenido

Para más información, consulta la documentación principal.