Completa la conexión con lo que la red social pegó a la URL de vuelta.
Esta llamada no la necesita la mayoría. La URL de vuelta la construye la red a partir del
enlace de connectLinks, y apunta a un front de PlanVortex: es ese front el que llama
aquí. El método existe para quien sirve su propia interfaz en uno de los dominios registrados
en el servidor. En la integración normal —la del ejemplo connect-flow— basta con mandar al
usuario a la url del token temporal y esperarlo de vuelta.
El endpoint contesta 200 aunque haya fallado, con el error dentro del cuerpo, porque el
navegador aterriza aquí desde una redirección y un 400 crudo sería una página rota. La
librería deshace ese apaño: si viene errorCode, lanza el error que le toca, igual que
cualquier otro método. Lo que devuelve son sólo cuentas buenas.
Y vuelven SIN habilitar: no ocupan plaza del plan ni publican hasta que se llama a enable. Una sola autorización puede dejar varias — un usuario de Facebook con cuatro páginas son cuatro—, y por eso hay un paso de elección en medio.
Los enlaces de autorización de cada red conectable, para mandar a la persona a la suya.
Con credenciales de app contesta 519. Se llama con un cliente autenticado con el token
temporal: pv.asTemporalToken(token).accounts.connectLinks(orgId).
Una red que no puede dar enlace simplemente no aparece, y eso es una respuesta legítima y no un fallo: es lo que pasa con Discord en una organización que todavía no ha guardado sus propias credenciales de bot.
MIRA authorization, NO si link está vacío. Doce de las catorce redes son redirect y se
manda a la persona a link. Las otras dos no, y ninguna de las dos falla de forma visible si
se recorre la lista redirigiendo a link:
link es cadena vacía y lo que necesitas
para abrirlo viaja en authorization. Redirigir a él manda a tu usuario a tu propia página.new_account — nunca como
respuesta a una llamada tuya. Ábrelo en otra pestaña y sigue escuchando.Ver ConnectLink y SocialAuthorizationMethod.
OJO: la red devuelve al usuario a un front de PlanVortex, no a una URL tuya — ver
redirect_uri en ConnectLinksOptions.
Un destino con su detalle: en Pinterest, las secciones del tablero, que es lo que va en
destination.section_id. No vienen en destinations porque leerlas de todos los
tableros costaría una llamada a la red por tablero.
Se comprueba contra los destinos de ESTA cuenta: uno que no está en ella contesta 993, exista o no en la red.
Los sitios DENTRO de la cuenta a los que se puede mandar una publicación: en Pinterest, los tableros.
En casi todas las redes no hay, y no es un fallo tuyo: conectar la cuenta ya dice dónde
sale la publicación —el muro, el canal, el perfil—, y ahí la llamada contesta 992. Sólo
tienen lista las redes con destinations en catalog.socialCapabilities().
Donde existen, el destino es OBLIGATORIO: lo que vuelve aquí es lo que se manda en
destination.id al crear la publicación, y sin él se crea en withErrors con el 987.
Las secciones de un tablero no vienen en la lista: están en destination.
Da de alta una de las cuentas que dejó connect, o recupera una que se desconectó mientras su token guardado siga sirviendo (si no, error 700 y hay que autorizar otra vez).
Es el paso que ocupa plaza del plan: con el cupo lleno contesta 706, así que se llama una
a una y se mira el hueco antes (organizations.limits). Y es también el que enciende los
webhooks de la red, en cualquier plan que no sea el gratuito.
En Slack es además lo que mete la app dentro del canal, y ahí hay un caso que no da
error aquí y sí en la primera publicación: en un canal público la app entra sola, y en
uno privado no puede —Slack no tiene API para eso— y hace falta que una persona escriba
/invite @PlanVortex dentro del canal. Esta llamada devuelve bien igual y la cuenta queda
conectada; lo que falla es publicar, con el error 980. Avísalo antes de que elijan el
canal, no después.
La ficha de una cuenta.
Una sesión de conexión: lo que autorizó tu usuario cuando el token se emitió con
account_selection: "integrator". Es lo que pintas en TU selector de cuentas.
El idSession es el connect_session que llega a tu redirect_uri (y el que te devolvió
createConnectToken: compáralos, para que una sesión que empezó otro no acabe en el navegador
de tu usuario). Si en esa URL viene también error, la conexión no terminó —access_denied
si canceló, no_accounts si la red no devolvió ninguna, connect_failed con error_code—
y la sesión sigue pending: puede reintentarlo con el mismo enlace.
Sólo la app que emitió el token. Cualquier otra recibe 551, igual que una sesión que no
existe o que ha caducado: una returned vive media hora.
El menú fijo del chat, una entrada por idioma.
Sólo las redes con mensajería lo tienen: en las demás la llamada devuelve el error 710. Se
comprueba con persistent_menu de catalog.socialCapabilities().
Las cuentas de una organización, encadenando páginas.
Las cuentas de una organización.
Los nombres CRUDOS de las métricas que publica la red de esta cuenta.
Son los que se pasan a metrics y los que vuelven en cada fila. No es el vocabulario
común —eso es metrics de una publicación—: aquí cada red habla su idioma
(page_impressions, total_interactions, allPageViews).
La serie de métricas ya medidas de una cuenta.
Es lectura de lo guardado, no una llamada a la red: mirar la gráfica no cuesta créditos. El
agrupado lo decide el rango — hasta 31 días por día, hasta 720 por mes, y de ahí por año— y
viene dicho en group.
Desconecta la cuenta y borra sus publicaciones. Lo ya publicado en la red se queda donde está: esto no la toca.
Reemplaza el menú fijo del chat. Es un REEMPLAZO: lo que no vaya en el array desaparece.
La entrada con locale: "default" es obligatoria — es la que se enseña cuando ninguna otra
encaja.
Optionalcall_to_actions?: { [key: string]: unknown }[]Optionalcomposer_input_disabled?: booleanOptionallocale?: stringCambia el nombre con el que la cuenta se ve en PlanVortex. Es lo único editable.
Habilita las cuentas que eligió tu usuario y cierra la sesión. Una lista vacía es «ninguna».
O todas o ninguna: si las nuevas no caben en el plan contesta 706 con
{limit, used, requested}y no habilita NINGUNA, así que ese número se le puede enseñar tal cual. Las que ya estaban activas (already_enabled) no cuentan. Cada cuenta habilitada dispara el webhooknew_account, como en cualquier conexión.