2 votes

Comment afficher plusieurs cartes de base comme réponse dans un webhook de Dialogflow ?

Je veux envoyer trois cartes de base comme réponse à l'utilisateur par le biais d'une réponse JSON via l'accomplissement en python. Y a-t-il un moyen de le faire ?

P.S.

En gros, je veux montrer trois boutons à un utilisateur pour call , mail y call on office Mais comme la carte de base ne montre qu'un seul lien, j'ai pensé qu'il était possible de montrer plusieurs cartes contenant des boutons !

Voici la réponse que j'envoie.

{
    "payload": {
        "google": {
            "expectUserResponse": "true",
            "richResponse": {
                "items": [{
                        "simpleResponse": {
                            "textToSpeech": "Here is the information of " + user_name
                        }
                    },
                    {
                        "basicCard": {
                            "title": name,
                            "subtitle": subtitle,
                            "image": {
                                "url": picture_url,
                                "accessibilityText": "Picture of " + name
                            },
                            "formattedText": msg,
                            "buttons": [{
                                    "title": "Call " + user_name,
                                    "openUrlAction": {
                                        "url": "tel:+" + contact
                                        if contact is not None
                                        else "",
                                        "androidApp": {
                                            "packageName": "com.android.phone"
                                        },
                                        "versions": []
                                    }
                                }
                                if contact is not None
                                else {
                                    "title": "Send Mail to " + user_name,
                                    "openUrlAction": {
                                        "url": "mailto:" + email,
                                        "androidApp": {
                                            "packageName": "android.intent.extra.EMAIL"
                                        },
                                        "versions": []
                                    }
                                },
                                {
                                    "title": "Call on extention",
                                    "openUrlAction": {
                                        "url": "tel:+" + extension
                                        if extension is not None
                                        else "",
                                        "androidApp": {
                                            "packageName": "com.android.phone"
                                        },
                                        "versions": []
                                    }
                                }

                            ],
                            "imageDisplayOptions": "WHITE"
                        }
                    }
                ],
                "suggestions": [{
                        "title": "Info of " + manager
                        if manager is not None
                        else ""
                    },
                    {
                        "title": "Info of " + hr_manager
                        if hr_manager is not None
                        else ""
                    }
                ]
            }
        }
    }
}

5voto

Prisoner Points 7770

Vous ne pouvez pas envoyer plusieurs cartes, et bien que les boutons d'une carte prennent un tableau, un seul élément de ce tableau est autorisé.

Cependant, vous pouvez faire quelque chose de similaire en envoyant une commande carrousel de navigation . Cela vous permet d'envoyer plusieurs tuiles comprenant un titre et pouvant inclure des images, un corps et un lien de la même manière qu'une carte comporte un lien.

Le problème est que je ne sais pas si le lien doit être un lien http ou https, ou si d'autres formes d'URL sont autorisées, mais n'oubliez pas que toutes les surfaces qui peuvent supporter des liens ne permettent pas de passer des appels téléphoniques.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X