Skip to content

Commit 0ba63a5

Browse files
author
Joseph Zanini
authored
Merge pull request #184 from zhenyamorozov/master
Adaptive cards doc fixes
2 parents c7cde7b + 217dda3 commit 0ba63a5

File tree

1 file changed

+44
-8
lines changed

1 file changed

+44
-8
lines changed

docs/user/cards.rst

Lines changed: 44 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,23 +4,26 @@
44
Cards and Buttons
55
=================
66

7-
Webex Teams supports `AdaptiveCards <https://www.adaptivecards.io/>`_ to allow
7+
Webex supports `AdaptiveCards <https://www.adaptivecards.io/>`_ to allow
88
new levels of interactivity for bots and integrations. You can read more about
99
how cards and buttons work `in the official guide <https://developer.webex.com/docs/api/guides/cards>`_.
1010

11-
In this guide I want to cover the abstraction build into the webexteamssdk that
11+
In this guide I want to cover the abstraction built into the webexteamssdk that
1212
lets you author adaptive cards in pure python without having to touch the
13-
underlying json of a adaptive card.
13+
underlying JSON of an adaptive card.
14+
15+
Sending a card
16+
==============
1417

1518
Lets dive into a simple example that sends a card to a room
1619

1720
.. code-block:: python
1821
1922
from webexteamssdk import WebexTeamsAPI
20-
from webexteamssdk.cards.card import AdaptiveCard
21-
from webexteamssdk.cards.inputs import Text, Number
22-
from webexteamssdk.cards.components import TextBlock
23-
from webexteamssdk.cards.actions import Submit
23+
from webexteamssdk.models.cards.card import AdaptiveCard
24+
from webexteamssdk.models.cards.inputs import Text, Number
25+
from webexteamssdk.models.cards.components import TextBlock
26+
from webexteamssdk.models.cards.actions import Submit
2427
2528
greeting = TextBlock("Hey hello there! I am a adaptive card")
2629
first_name = Text('first_name', placeholder="First Name")
@@ -33,7 +36,40 @@ Lets dive into a simple example that sends a card to a room
3336
api = WebexTeamsAPI()
3437
api.messages.create(text="fallback", roomId="...", attachments=[card])
3538
36-
The message we send with this code then looks like this in our Webex Teams
39+
The message we send with this code then looks like this in our Webex space
3740
client:
3841

3942
.. image:: ../images/cards_sample.png
43+
44+
45+
Processing a card action
46+
=======================
47+
48+
Adaptive card interactions are treated as "attachment actions". Once user interacts
49+
with your card and submits an action, your app will receive a webhook from Webex. You
50+
must `setup a webhook <api.rst#webhooks>`_ in advance with ``resource = "attachmentActions"``
51+
and ``event = "created"``.
52+
53+
Webhook payload will contain a JSON:
54+
55+
.. code-block:: json
56+
57+
{
58+
"resource": "attachmentActions",
59+
"event": "created",
60+
"data": {
61+
"id": "XYXYXY",
62+
"type": "submit"
63+
}
64+
}
65+
66+
Extract attachment action ID from ``['data']['id']`` and
67+
use `attachment_actions.get() <api.rst#attachment_actions>`_ to get full information
68+
about user action and any submitted data.
69+
70+
.. code-block:: python
71+
72+
action = api.attachment_actions.get(webhookJson['data']['id'])
73+
74+
first_name = action.inputs['first_name']
75+
age = action.inputs['age']

0 commit comments

Comments
 (0)