Servicio de Azure que proporciona un entorno integrado para el desarrollo de bots.
Hola Mario del Rincon Garcia ,
Según los síntomas que describes, esto no parece ser un problema del bot ni del Servicio de Aplicaciones. El indicador clave es que la solicitud nunca llega al endpoint de tu bot y el fallo se produce durante el paso de invocación de Teams a chatsvc.
Algunas observaciones:
- La respuesta HTTP 400 se devuelve directamente desde el endpoint de Teams (
/api/chatsvc/emea/v1/agents/<bot-id>/invoke). - El error (
errorCode: 201,Invalid JSON payload) se genera antes de que la actividad se envíe a tu bot. - Dado que las mismas definiciones de Tarjetas Adaptables y el código del bot funcionaban correctamente antes, y las tarjetas antiguas ahora presentan el mismo comportamiento, esto sugiere:
- una regresión en el servicio de Teams,
- un cambio en la validación del backend,
- o un requisito de esquema que ahora se aplica con mayor rigor.
Un aspecto que llama la atención es la carga útil generada por Teams:
{
"name": "messageback",
"appId": "<app-id>",
"messageType": "RichText/Media_Card",
"value": {
"action": "realizar_comentario",
"id_ticket": "INC000002401255",
"tipo_comentario": "Internal",
"texto_comentario": "prueba"
}
}
El JSON en sí parece válido, lo que hace que el mensaje de error sea algo engañoso. Podría indicar que el servicio está rechazando la carga útil debido a un esquema interno, en lugar de que el análisis del JSON falle.
Algunas cosas que recomiendo revisar:
- Verificar el formato de la acción
messageBackde Teams
Asegúrese de que los botones de sus tarjetas adaptables utilicen el esquema messageBack específico de Teams, tal como se documenta:
{
"type": "Action.Submit",
"title": "Comentar Interno",
"msteams": {
"type": "messageBack",
"displayText": "Comentar Interno",
"text": "realizar_comentario",
"value": {
"id_ticket": "INC000002401255",
"tipo_comentario": "Internal",
"texto_comentario": "prueba"
}
}
}
En particular:
-
msteams.typedebe sermessageBack - Incluya tanto
displayTextcomotext - Verifique si hay diferencias de mayúsculas y minúsculas entre el JSON de su tarjeta y el esquema documentado
- Validar la carga útil completa de la Tarjeta Adaptativa
Aunque la tarjeta haya estado funcionando durante meses, conviene validar la definición completa de la tarjeta con los esquemas actuales de Tarjetas Adaptativas y Equipos para identificar las propiedades que ya no se aceptan.
- Probar con una carga útil mínima
Intenta crear una nueva tarjeta con una carga útil messageBack muy pequeña, por ejemplo:
{
"action": "test"
}
Si funciona correctamente, pero falla con una carga útil mayor, esto indicaría un problema de validación en el objeto value.
- Comparar regiones y clientes
Dado que el punto final que falla se encuentra en EMEA (chatsvc/emea), sería útil saber:
- ¿Se reproduce el problema para todos los usuarios?
- ¿Se reproduce tanto en clientes web como de escritorio? (mencionaste que sí)
- ¿Alguien puede confirmar si los bots alojados o a los que se accede desde otras regiones presentan el mismo comportamiento?
Preguntas adicionales
Para ayudar a acotar el problema:
- ¿Podría compartir el JSON exacto de la Tarjeta Adaptativa (sin valores confidenciales)?
- ¿Estás usando
Action.Submit+msteams.messageBackAction.Executeo? - ¿Ha comparado la carga útil de la tarjeta y los encabezados de la solicitud antes y después del 23 de abril?
- ¿Alguien más ha observado el error
errorCode 201 - Carga útil JSON no válidaen/agents/{bot-id}/invokea partir del 23 de abril aproximadamente?
Dado que ninguna solicitud llega a Bot Framework y las tarjetas implementadas previamente ahora fallan sin cambios en el código, sospecho que se trata de un cambio o regresión en la validación del servicio de Teams, en lugar de un problema en la implementación de su bot.