slack slack-api

slack - ¿Puedo enviar propiedades/datos personalizados en archivos adjuntos de mensajes flojos?



slack-api (1)

Si, eso es posible. Sin embargo, solo funciona bien para pequeños conjuntos de datos.

Suponiendo que estamos hablando de botones, el enfoque normal sería usar el campo de value de una acción para transferir datos personalizados en función del botón en el que el usuario volvió a hacer clic en su aplicación. El campo es una cadena normal dentro de un mensaje JSON, que se envía por solicitud POST a su aplicación. Por lo tanto, en principio puede contener un conjunto de datos completo, no solo un valor único. Todo lo que necesita hacer es incluirlo en el archivo adjunto que se envía a Slack y su aplicación recibirá el campo de valor correspondiente. (dependiendo de los datos que desee enviar, es posible que necesite codificarlos, por ejemplo, si desea codificar datos binarios en base64, para que puedan transferirse como una cadena JSON)

Lo he usado con éxito en una de mis aplicaciones para transferir objetos serializados que contienen información sobre el contexto de la aplicación del usuario.

Sin embargo, hay una advertencia que me llevó a abandonar este enfoque nuevamente. Como descubrí, la longitud del campo es limitada, por lo que si su cadena es demasiado larga, podría terminar con datos truncados. En mi opinión, el límite es de aproximadamente 2.000 caracteres, pero no tengo un número definitivo.

En lugar de transferir todos los datos en el archivo adjunto, ahora mantengo el contexto de la aplicación de usuario en una sesión de servidor (PHP) y solo transfiero ID a través del campo de value de mis botones.

Conclusión: si tiene pequeños conjuntos de datos, puede transferirlos a través del campo de value . Si tiene conjuntos de datos más grandes, no lo recomendaría.

Quiero enviar algunas propiedades personalizadas en el archivo adjunto para mensajes interactivos y recuperarlos en la respuesta de acción. ¿Hay alguna forma de hacer esto?