Saltar al contenido principal
El endpoint generateJWT genera una URL de vinculación de red social para un único User Profile. Consulta la integración de API para Business Plan y Launch Plan para más detalles.

Cambiar de perfil

Para cambiar entre distintas sesiones de perfil (por ejemplo, cuando se prueba con varios perfiles), primero necesitas cerrar la sesión del perfil actual. Consulta Cierre de sesión automático de una sesión de perfil para instrucciones sobre cómo gestionar correctamente el cambio de perfil.

Private Key y Profile Key

Dónde obtener la Private Key

El archivo Private Key (private.key) y un archivo JSON de ejemplo para Postman se incluyen con tu Integration Package recibido durante el onboarding. El Integration Package también puede obtenerse en el dashboard de desarrolladores de Ayrshare en la página de API -> Integration Package.

Uso de la Private Key

Recomendamos leer la Private Key private.key desde un archivo y enviarla como cadena en el campo privateKey, lo que te permite preservar todos los caracteres, incluidos los saltos de línea. La Private Key debe ser exacta, es decir, deben conservarse todos los caracteres, incluidos los saltos de línea. Si pegas la clave directamente en tu código, es posible que debas reemplazar manualmente los saltos de línea con un carácter \n o codificar la cadena como URL. Pegar la clave directamente en el código suele causar problemas.

Generar un JSON Web Token

Vídeo de 1 minuto que explica cómo generar un JSON Web Token (JWT):
La URL del JWT es válida durante 5 minutos. Pasados 5 minutos deberás generar una nueva URL de JWT. Consulta Max Pack expiresIn para opciones adicionales.

Abrir la URL del JWT

Abre la URL del JWT en una nueva pestaña del navegador, una nueva ventana del navegador o un View Controller en iOS. Puedes controlar el cierre o la redirección de la nueva ventana o pestaña.
Las redes sociales no permiten abrir la URL en un iFrame ni ofuscar el dominio de origen del partner autorizado profile.ayrshare.com.

Verificar la URL del JWT

El endpoint generateJWT no valida la URL del JWT devuelta de forma predeterminada. Por ejemplo, si se pasa una Private Key corrupta a generateJWT, se devolverá una URL igualmente, pero esa URL resultará en un error 401. Puedes verificar la URL del JWT devuelta incluyendo verify: true en los parámetros del cuerpo de generateJWT. Si la URL del JWT no se puede validar, se devolverá un error. Por ejemplo, si a la Private Key le faltara un carácter, se devolvería lo siguiente:
JWT Error
Recomendamos usar verify: true solo en entornos que no sean de producción, ya que la validación requiere tiempo de procesamiento adicional.

Pruebas en Postman

Se recomienda probar primero la creación de la URL del JWT en Postman. Incluido en el Integration Package, disponible en la página API Key del Primary Profile del dashboard, hay un archivo JSON de configuración de ejemplo para Postman que contiene todo lo necesario para verificar la creación de la URL del JWT. Solo tienes que importar el archivo de configuración en Postman, rellenar tu Profile Key (que se encuentra en el dashboard de desarrolladores de Ayrshare cambiando al perfil que quieras probar) en el campo profileKey del body, y pulsar el botón azul Send. Todos los demás campos obligatorios ya están rellenos. También puedes generar el código desde Postman o leer el archivo de clave desde un directorio o una base de datos.

Método de vinculación de Instagram

Las cuentas de Instagram pueden vincularse de dos maneras: directamente con Instagram Login, o a través de una Facebook Page conectada. El flujo que se inicia cuando un usuario hace clic en el botón de Instagram en la página de vinculación de redes sociales suele estar controlado por el ajuste global de la cuenta Instagram Login en el dashboard. El parámetro instagramLinkMethod del cuerpo del endpoint generateJWT te permite sobrescribir ese ajuste para una única URL de vinculación:
ValorFlujo de vinculación de Instagram
instagramInstagram Login directo. No requiere Facebook Page.
facebookVinculación a través de una Facebook Page conectada.
Por ejemplo, si el valor predeterminado de tu cuenta es la vinculación mediante Facebook Page, lo siguiente fuerza el Instagram Login directo solo para esta sesión de vinculación:
Instagram Link Method
La URL del JWT generada incluirá la sobrescritura, y al hacer clic en el botón de Instagram en la página de vinculación se iniciará el flujo solicitado durante toda la sesión, incluyendo la redirección de autorización de Instagram/Facebook. Algunas cosas que debes saber:
  • La sobrescritura solo se aplica a la página de vinculación abierta desde la URL devuelta. No cambia el ajuste global de Instagram Login de tu cuenta ni afecta a otras sesiones de vinculación.
  • Si se omite instagramLinkMethod, la página de vinculación utiliza el ajuste global de tu cuenta, exactamente como antes.
  • Si se envía un valor no válido, se devuelve un error 400 con los valores válidos (instagram, facebook).
  • Revisa las diferencias de funcionalidad entre los dos flujos antes de elegir una sobrescritura: algunas funcionalidades de Instagram, como la búsqueda por hashtags y las colaboraciones, solo están disponibles con la autenticación mediante Facebook Page.

JWT Expires In

Si deseas un tiempo de expiración del JWT mayor que los 5 minutos por defecto, incluye el campo expiresIn. Por ejemplo, envía el siguiente JSON para que la URL del JWT sea válida durante 30 minutos:
JWT Expires In
Esto te permite enviar el enlace por correo a tus usuarios en lugar de que tengan que acceder a tu aplicación o plataforma. Un caso de uso habitual es cuando tu usuario necesita reconectar una cuenta social: puedes enviarle por correo el enlace del JWT para volver a vincular directamente la cuenta social sin tener que navegar hasta tu plataforma.
Asegúrate de revisar con tu equipo de seguridad durante cuánto tiempo tu empresa desea mantener activo el JWT. Tiempos de expiración más largos crean un riesgo adicional de que una parte no autorizada acceda al enlace.

Integraciones

Bubble.io JWT

Si eres usuario de Bubble, consulta Generate JWT Token en la sección Bubble.io para las instrucciones:

Bubble Generate JWT

Mobile JWT

Los siguientes ejemplos de código móvil en Swift, Flutter y React Native muestran cómo lanzar la página de vinculación de redes sociales en un dispositivo iOS. Reemplaza la variable de tipo String jwtURL con el valor devuelto por el endpoint /generateJWT.

Swift (iOS)

En Swift, utiliza un UIViewController y SFSafariViewControllerDelegate. No recomendamos usar un WebView, ya que algunas redes sociales como Facebook y Google bloquean la autenticación.

Flutter (Dart)

En Flutter (Dart) no hay un equivalente directo a UIViewController o SFSafariViewController. Sin embargo, puedes conseguir una funcionalidad similar usando el paquete url_launcher para abrir URLs web.

React Native

React Native tampoco tiene un equivalente directo a SFSafariViewController, pero puedes conseguir un resultado similar con la API WebBrowser que ofrece expo-web-browser, que abre una URL en una ventana modal de navegador que comparte cookies con el navegador del sistema. Como alternativa, puedes usar la función Linking integrada de React Native para abrir Safari: await Linking.canOpenURL(jwtURL);

Ejemplos de código móvil

Connect Accounts Email

Junto con la opción de tiempo de expiración más largo, también puedes hacer que Ayrshare envíe automáticamente por correo a tus usuarios un enlace a la página de vinculación de cuentas sociales.

Connect Accounts JSON

Por ejemplo, el siguiente JSON enviará un correo a john@user.com con el nombre de empresa ACME, el correo de contacto support@mycompany.com y enlaces a los términos y la política de privacidad:
Example Contact Email Request
La respuesta incluirá lo siguiente si se configuraron el correo y el tiempo de expiración:
Example Contact Email Response

Ejemplo de correo de Connect Accounts para JWT

Este es un ejemplo de un correo con el enlace Connect Account que abre la página de vinculación de cuentas sociales: JWT Email El correo se enviará desde la dirección: Social Connect Hub <connect@socialconnecthub.com>