GUÍA TÉCNICA — CONECTOR META (AURA)
Conectar Meta a Aura
Cómo crear y configurar, de una sola vez, la app de Meta que usan todos los workspaces de Aura para conectar sus cuentas de Facebook e Instagram. Esto lo hace el equipo de MayaCode una sola vez — cada cliente final solo hace clic en "Conectar" dentro de la app, nunca necesita su propia app de desarrollador.
00 Qué vamos a crear
Meta separó su plataforma en dos productos independientes que Aura usa por separado — no son la misma cosa ni comparten credenciales, aunque viven dentro de la misma app de Meta:
| Requiere | una Página de Facebook administrada por el usuario | |
| Credenciales | META_APP_ID / META_APP_SECRET |
| Requiere | solo una cuenta de Instagram profesional (Business/Creator) — sin Página de Facebook vinculada | |
| Credenciales | INSTAGRAM_APP_ID / INSTAGRAM_APP_SECRET (distintas de las de arriba, aunque viven en la misma app de Meta) |
01 Crear la app en Meta
- Entrar a developers.facebook.com/apps con la cuenta de MayaCode.
- Crear app → tipo Business → asociarla a un Business Manager de MayaCode (si no existe uno, Meta ofrece crearlo en el mismo flujo).
- En el dashboard de la app, agregar los dos productos por separado: Facebook Login y, en la sección Instagram, API setup with Instagram login.
- Verificación de negocio (Business Verification): Meta la exige antes de otorgar acceso avanzado a los permisos de publicación — sube documentación legal de MayaCode (puede tardar de días a semanas en aprobarse). Sin esto, la app queda en modo desarrollo: solo funciona para cuentas agregadas manualmente como "Tester" en el dashboard, no para clientes reales.
02 Producto: Facebook Login
Configuración → Básica, y Facebook Login → Configuración.
| App ID / Secret | Configuración → Básica — copiar como META_APP_ID / META_APP_SECRET | |
| URI de redirección OAuth válidas | https://aura-api.mayacode.dev/api/social-accounts/oauth/facebook/callback | |
| Dominios de la app | aura-api.mayacode.dev |
Permisos que Aura solicita en el consentimiento: pages_show_list, pages_read_engagement, pages_manage_posts.
03 Producto: Instagram API con Instagram Login
Dashboard → Instagram → API setup with Instagram login. Tiene su propio App ID/Secret, distinto del de Facebook Login.
| Instagram app ID / secret | copiar como INSTAGRAM_APP_ID / INSTAGRAM_APP_SECRET — no el App ID de Facebook | |
| URI de redirección OAuth | https://aura-api.mayacode.dev/api/social-accounts/oauth/instagram/callback |
Permisos: instagram_business_basic, instagram_business_content_publish. Cada cuenta que se conecte debe ser una cuenta profesional (Business o Creator) — Instagram lo exige del lado de la cuenta, no hay nada que configurar en la app para esto.
04 Permisos y revisión de la app
Sin esto, Aura solo funciona con cuentas agregadas a mano como testers — nunca con clientes reales.
Meta exige App Review para cada permiso de "acceso avanzado" (todos los listados en §02/§03 lo son). El proceso: grabar un screencast mostrando el flujo real dentro de Aura (conectar cuenta → programar post → verlo publicado), explicar por escrito para qué se usa cada permiso, y esperar la revisión de Meta.
05 Configurar los secrets
cd aura-backend
wrangler secret put META_APP_ID
wrangler secret put META_APP_SECRET
wrangler secret put INSTAGRAM_APP_ID
wrangler secret put INSTAGRAM_APP_SECRET
npm run deploy
No hace falta ninguna migración ni cambio de código para esto — los cuatro valores solo se leen en tiempo de ejecución (_lib/secrets.ts). Una vez configurados, los botones "Conectar Facebook"/"Conectar Instagram" dentro de Aura quedan operativos para cualquier workspace.
06 Renovación automática de tokens
Nada que operar manualmente — es el "todo automatizado" de punta a punta.
Ni Facebook ni Instagram entregan un token que dure para siempre: el token inicial dura 1-2 horas, se cambia de inmediato por uno de 60 días, y ese de 60 días hay que renovarlo antes de que venza. _lib/publisher.ts::refreshExpiringSocialTokens corre en el mismo cron que publica posts (cada minuto) y renueva cualquier cuenta de Facebook/Instagram cuyo token venza en los próximos 7 días — throttleado a un intento por cuenta por día. El usuario final nunca ve esto; solo tendría que reconectar si deja pasar los 60 días completos sin que Aura haya podido renovar (por ejemplo, si revocó el acceso desde Meta).
social_accounts.refresh_token_encrypted), pero implementarlo no era parte de este alcance (enfocado en Meta). Sus tokens deberán reconectarse manualmente cuando venzan hasta que se construya su renovación.07 Solución de problemas
wrangler tail en aura-backend) — sin el cron, no hay renovaciónAura · MayaCode — documento vivo, generado a partir del estado real del código. ← Volver a la documentación de Aura