Saltar a contenido

Configuración del Canal Twitter en Lynn

Para realizar la configuración del canal de twitter es necesario cumplir con los siguientes requisitos:

  • Contar con cuenta de developer en meta.
  • Crear una aplicación en Developer platform.
  • Configurar un ambiente en developer portal.

Definamos los pasos para conseguir cada requisito a continuación:

Pasos para solicitar cuenta de developer

1) Ingresar a la cuenta de twitter destino.

2) Entrar en la web https://developer.twitter.com/en/apply-for-access y seleccione Apply for developer account

3)En la pregunta ¿Qué te describe mejor? seleccione Hobbyist.

4) Seleccionar la opción de uso de API “Making a bot” y dar al botón Get started.

5) En Definir correo para la cuenta rellenar el campo país de cuenta y nick de desarrollador ejem: DigitalDev_lab .

6) En la ventana Basic Info.

a.  What would you like us to call you? : Coloque para que usar el api.

b.  What country do you live in?: Coloque el Pais.

c.  What's your current coding skill level?: Coloque su nivel de experiencia codificando.

7) En el paso siguiente usar el siguiente texto para rellenar el campo Intended use:

Nota :❕ Las respuestas colocadas a continuación debe responderla atado a su caso de uso, la información presentada a continuación ejemplifica una configuración básica para una integración de prueba con Lynn, debe leer detenidamente cada pregunta y adaptarla a su caso de uso o situación

  In your words. In English, please describe how you plan to use Twitter data and/or APIs. The more detailed the response, the easier it is to review and approve. 
  work with the Api, carry out integrations of message reading services for web pages, study the capabilities of the new api proposals. bot integrations for direct messages and attention flows for self attemption

  Are you planning to analyze Twitter data? 
  No

  Will your app use Tweet, Retweet, like, follow, or Direct Message functionality? 
  Yes

  Please describe your planned use of these features.
  respond to chat interactions by direct messages and flow automations or bots to connect to chat engines. 
  Do you plan to display Tweets or aggregate data about Twitter content outside Twitter? 
  No

  Will your product, service, or analysis make Twitter content or derived information available to a government
  entity?
  No

8) Paso Review: aquí presionar Next.

9) Paso Term: Lea y revise detalladamente el contrato y si está de acuerdo presiones el botón de Chequeo, aceptar Términos y condiciones de Developer y Twitter, luego presionar Submit Application.

10) Un correo electrónico será enviado a la dirección email asociada para confirmar.

11) Con la respuesta positiva de esta consulta, que deriva en la aprobación de cuenta de desarrollo sobre el perfil de TW se puede proseguir con la obtención de claves de registro de API para LYNN (El usuario debe tener mínimo una semana de creado y usualmente demora 24h la aprobación).

Pasos para agregar canal Twitter a Lynn

Para crear una aplicación Twitter en Lynn es necesario seguir los siguientes pasos:

1) Ingresar a la cuenta objetivo desde la página principal de Twitter * Puede que la interfaz de TW cambie según sus actualizaciones.

2) Ingresar a la sección de desarrolladores de Twitter en la página de developers.

3) En la barra en la parte superior derecha seleccionar la opción con el nombre de Developer Portal.

4) En la pantalla de Developer Portal seleccionar la opción Projects & Apps y en el menú que se despliega seleccionar la opción Overview.

5) Al final de la página aparece la opción Create App.

6) Elegir un nombre para la App.

7) Una vez elegido el nombre, se mostrarán keys y tokens de la app. Para luego volver a Dashboard.

8) En la página Dashboard, seleccionar en el menú lateral izquierdo la opción con el nombre de la app creada, la cual abre la siguiente ventana.

9) Bajar en por la sección Settings para buscar la opción App permissions, donde se selecciona el botón Edit.

10) Ya en la pestaña edit, seleccionar la opción Read + Write + Direct Messages, darle al botón Save y confirmar los cambios presionando Yes.

Generar Token de aplicación

11) Nos dirigimos ahora a la pestaña de Keys & tokens, ubicada en la sección de la app creada, y pulsamos el botón Generate para obtener el Access token & secret. Esto generará un par de Tokens que son utilizados para la integración de la aplicación.

Para obtener el API key & secret, seleccionar la opción View Keys y mostrará los tokens a utilizar.

12) Copiamos los Tokens antes mencionados para su configuración en Lynn.

Configurar un ambiente en TW

1) En la barra lateral izquierda, seleccionar el menú desplegable con el nombre de Products y dar a la opción "Dev Environments".

2) Configurar un ambiente para monitorear la Actividad de la Cuenta. Presione el botón de Set up dev environment.

3) Asignar un nombre o etiqueta para nuestro ambiente y seleccionar la app previamente configurada.

4) Ya seleccionada la app, se le redireccionará a la página de Dev environment, donde se mostrará el campo configurado (si no se muestra refrescar la página).

Configuración en Lynn

Para encontrar el ID de la cuenta de Twitter, se extrae directamente del Access Token generado en la sección anterior, son los primeros caracteres antes de encontrar el carácter “-”. Por ejemplo, en el Access Token = 670129670129-VexH0vApW1X9nKtnppK3uAguU07VRDabDeSeesw el ID de la cuenta es 670129670129

Usando la interfaz de Lynn procederemos a modificar el registro de la configuración del tenant destino y agregaremos los parámetros que definen los Tokens dentro de Lynn, usaremos entonces la información obtenida en la sección anterior y el ID de la cuenta Twitter, siguiendo estos pasos:

1) Entrar en Lynn con su login y password

2) Buscar el tenant destino Tipee el nombre del tenant destino en el área de búsqueda

3) Entrar en el diseño del tenant Presionando el icono de diseño señalado en la figura siguiente

4) Desplegar la ventana para configurar los canales Al presionar el botón derecho del mouse sobre cualquier lugar del diagrama, se despliega un menú y luego seleccione Configure channel

5) Asignar los parámetros de configuración
Al desplegarse la ventana, seleccione Twitter Direct y presiones el botón Create .

6) Agregue los parámetros generados en la sección anterior, sobre la ventana desplegada y presione el botón Create.

Descripción de los parámetros

Nombre Descripción
Twitter Environment name. (TWITTER_ENVIRONMENT) Es el nombre del usuario en twitter
TWITTER_API_KEY (Api key) Es la Key que genera twitter sobre el App
TWITTER_API_SECRET (Api Secret) Es la contraseña del Api Key sobre el App
TWITTER_ACCESS_TOKEN (Teken) Es el token de acceso proporcionado por twitter
TWITTER_ACCESS_TOKEN_SECRET (Token Secret) Es la contraseña del token de acceso
TWITTER_USER_ID (User ID) Es el Id de la cuenta de twitter de la aplicación
Seconds Tiempo de duración de sesión TW en lynn
Evironment Label Nombre de entorno de App Twitter. 10

Anexo

Recursos de API Twitter

Managing a webhook

POST - account_activity/all/:env_name/webhooks

Registra una URL de webhook para todos los tipos de eventos. La URL se validará mediante solicitud CRC antes de guardar. En caso de que falle la validación, devuelve un mensaje de error completo al solicitante.

URL de recurso

https://api.twitter.com/1.1/account_activity/all/{Nombre_del _entorno}/webhooks.json?

Información de recurso

Nombre Descripción
Formato de Respuesta JSON
Requiere Autentificación Sí (contexto del usuario: todos los tokens de consumidor y acceso).
Tasa limitada
Solicitudes/Ventana de 15 minutos (autenticación de usuario) 15

Parámetros

  • url (obligatorio)
  • URL codificada para el endpoint de devolución de llamada.
HTTP Código Mensaje
200 La URL del webhook se registra en la aplicación proporcionada.
403 Hay un error con su solicitud. Consulte la sección de mensajes de error a continuación.

Ejemplos respuestas – Exitosas

{ 
  "id": "1234567890", 
  "url": "https://your_domain.com/webhook/twitter", 
  "valid": true, 
  "created_at": "2016-06-02T23:54:02Z" 
}

Posibles Mensajes de errores

Código Mensaje
214 La dirección URL del webhook no cumple los requisitos.
214 Demasiados recursos ya creados.
214 La dirección URL del webhook no cumple los requisitos. Token de CRC no válido o formato de respuesta json.
214 Alta latencia en la solicitud CRC GET. El webhook debe responder en menos de 3 segundos.
214 Código de respuesta no 200 durante la solicitud CRC GET (es decir, 404, 500, etc.).

HTTP 403

{ 
  "errors": [ 
    { 
      "code": 214, 
      "message": "Too many resources already created." 
    } 
  ] 
}

Managing subscribed users

POST - account_activity/all/:env_name/subscriptions

Suscribe la aplicación proporcionada a todos los eventos para el entorno proporcionado para todos los tipos de mensaje. Después de la activación, todos los eventos para el usuario solicitante se enviarán al webhook de la aplicación a través de la solicitud POST.

Las suscripciones están limitadas a un máximo de 15 usuarios únicos por aplicación en el nivel gratuito (sandbox).

URL de recurso

https://api.twitter.com/1.1/account_activity/all/{Nombre_del_entorno}/subscriptions.json

Información de recurso

Nombre Descripción
Formato de Respuesta JSON
Requiere Autentificación Sí (3-legged OAuth - clave de consumidor incluida en la lista blanca y suscripción del token de acceso del usuario).
Tasa limitada
Solicitudes / ventana de 15 minutos (autenticación de usuario) 500

Ejemplos respuestas – Exitosas

HTTP 204 NO CONTENT

Posibles Mensajes de errores

Código Mensaje
348 No se permite que la aplicación cliente acceda a las suscripciones de webhook de este usuario.

Crear Bearer Token

POST oauth2/token

Permite que una aplicación registrada obtenga un token de portador de OAuth 2, que se puede usar para realizar solicitudes de API en nombre de una aplicación, sin un contexto de usuario. Esto se denomina autenticación de solo aplicación.

Un token de portador puede ser invalidado usando oauth2/invalidate_token. Una vez que se haya invalidado una ficha de portador, los nuevos intentos de creación producirán una ficha de portadora diferente y el uso del token anterior ya no se permitirá.

Solo puede existir un token de portador pendiente para una aplicación y las solicitudes repetidas a este método producirán el mismo token ya existente hasta que se haya invalidado.

Las respuestas correctas incluyen una estructura JSON que describe el token de portador otorgado. Los tokens recibidos por este método deben almacenarse en caché. Si se intenta con demasiada frecuencia, las solicitudes se rechazarán con un HTTP 403 con el código 99.

URL de recurso

https://api.twitter.com/oauth2/token

Información de recurso

Nombre Descripción
Formato de Respuesta JSON
Requiere Autentificación
Tasa limitada

Parámetros

Name Requerido Descripción Default Value Example
grant_type requerido Específico el tipo de subvención solicitada por la solicitud client_credentials

Ejemplos respuestas – Exitosas

Código Mensaje
200 {"token_type":"bearer","access_token":"AAAA%2FAAA%3DAAAAAAAA"}

Nota 📑: Para la autentificación se utiliza el tipo “Basic Auth”, el campo username debe ir el Api key y en el password el Api secret key.  

Listar Recursos

GET account_activity/all/webhooks

Devuelve todos los entornos, direcciones URL de webhook y sus estados para la aplicación de autenticación. Se marca una URL como no válida si no supera la comprobación de validación diaria.

URL de recurso

https://api.twitter.com/1.1/account_activity/all/webhooks.json

Información de recurso

Nombre Descripción
Formato de Respuesta JSON
Requiere Autentificación Sí (solo aplicación – bearer token)
Tasa limitada
Solicitudes / ventana de 15 minutos (autenticación de usuario) 15

Ejemplos respuestas – Exitosas

{ 
  "environments": [ 
    { 
      "environment_name": "env-beta", 
      "webhooks":  [ 
      { 
        "id": "1234567890", 
        "url": "https://your_domain.com/webhook/twitter", 
        "valid": true, 
        "created_at": "2017-06-02T23:54:02Z" 
      } 
      ] 
    } 
  ] 
}

Posibles Mensajes de errores

Código Mensaje
99 No tienes acceso a este recurso

Borrar Recursos

DELETE /account_activity/all/:env_name/subscriptions/: WebHookID.json

Desactiva la suscripción para el webhook especificado y el identificador de usuario. Después de la desactivación, todos los eventos para el usuario solicitante ya no se enviarán a la dirección URL del webhook. Tenga en cuenta que este punto de conexión requiere OAuth solo de aplicación, por lo que las solicitudes deben realizarse mediante un token de portador en lugar de contexto de usuario.

URL de recurso

https://api.twitter.com/1.1/account_activity/all/{Nombre_del_entorno}/subscriptions/:{WebHookID} .json

Información de recurso

Nombre Descripción
Formato de Respuesta JSON
Requiere Autentificación Sí (solo aplicación – bearer token).
Tasa limitada
Solicitudes / ventana de 15 minutos (autenticación de usuario) 500

Ejemplos respuestas – Exitosas

HTTP 204 NO CONTENT

Posibles Mensajes de errores

Código Mensaje
404 Lo siento, esta página no existe, esto a menudo ocurre cuando un usuario especifico no está actualmente suscrito.