Zoosial
docs
InicioEstructura de datos y conexión de cuentas
Volver al sitio Volver al Dashboard
Zoosial
Buscar en docs...
⌘K
Conectar cuentas

Estructura de datos y conexión de cuentas

Owner (tú) → Profiles (marcas/proyectos, máximo 1 cuenta por red social cada uno) → Accounts (cuentas conectadas: página FB, IG, WhatsApp…).

Profiles y accounts

POST
/profiles
{ name } — crea un profile.
GET
/profiles
Lista tus profiles.
GET
/accounts
Lista cuentas del owner (sin tokens).
GET
/accounts/health
Estado de cada cuenta: connected / needs_reconnection.
GET
/adaccounts
Lista cuentas publicitarias (ad accounts) conectadas.

Se cobra por perfil, no por cuenta. Regla estructural: cada perfil admite 1 cuenta por red social (1 Facebook, 1 Instagram, 1 YouTube, 1 Meta Ads, 1 Google Ads, etc.) — para conectar otra cuenta de la misma red hay que crear otro perfil. El plan Free permite 1 perfil con hasta 3 cuentas en total; el Trial (14 días desde el registro) permite 1 perfil con todas las redes (1 c/u). GET /profiles devuelve estos límites en plan.limits. Si superas un límite, la API responde con un code: 409 one_per_network (ya hay una cuenta de esa red en el perfil), 402 plan_account_limit (superas el nº de cuentas de tu plan) o 402 plan_profile_limit (superas el nº de perfiles de tu plan).

Conexión por OAuth (Meta, TikTok, Google)

Un mismo patrón genérico para las tres plataformas que usan OAuth:

GET
/connect/:platform?profileId=…
:platform es meta, tiktok o google. Devuelve { authUrl } para abrir en el navegador.
GET
/connect/:platform/callback
Callback público (sin token). Meta redirige a /app/connect-select con un connectToken para elegir página; TikTok y Google redirigen directo al Dashboard ya conectado. Si tu app registró un redirectUri en su API key, el callback vuelve a tu propia pantalla con ?profileId=&ct=&platform=meta&clientState= — ver Integración de agente.

Para Meta hay un paso extra: elegir a qué Página de Facebook conectar (y su Instagram asociado). Las cuentas publicitarias (ad accounts) usan el mismo connectToken con su propio picker — no se auto-conecta ninguna, cada una se elige (y se cobra) aparte.

GET
/profiles/:id/connect/meta/available?ct=<connectToken>
Lista las páginas de FB disponibles para elegir.
POST
/profiles/:id/connect/meta
{ ct, pageId } — conecta UNA página (rechaza si el profile ya tiene una FB conectada).
GET
/profiles/:id/connect/meta/adaccounts/available?ct=<connectToken>
Lista las cuentas publicitarias disponibles (marca las ya conectadas).
POST
/profiles/:id/connect/meta/adaccounts
{ ct, adAccountId } — conecta UNA cuenta publicitaria (mismo ct del callback).

Conexión sin OAuth (WhatsApp, Telegram)

WhatsApp (QR o Cloud API oficial) y Telegram (bot token) no pasan por un flujo OAuth de navegador — ver WhatsApp Business y Telegram.

bash
# Crear un profile y arrancar OAuth con Meta
curl -X POST https://zoosial.com/profiles \
  -H "Authorization: Bearer $SC_API_KEY" -H "Content-Type: application/json" \
  -d '{"name":"Mi marca"}'
# → { "id": "prof_123", "name": "Mi marca" }

curl "https://zoosial.com/connect/meta?profileId=prof_123" \
  -H "Authorization: Bearer $SC_API_KEY"
# → { "authUrl": "https://facebook.com/dialog/oauth?..." }
En esta página
Profiles y accounts Conexión por OAuth (Meta, TikTok, Google) Conexión sin OAuth (WhatsApp, Telegram)
¿Tienes dudas?
Nuestro equipo responde en menos de 2h
Contactar soporte