Médiamellékletek hozzáadása üzenetekhez a Bot Connector API-val
A robotok és csatornák általában szöveges sztringeket cserélnek, de egyes csatornák a mellékletek cseréjét is támogatják, így a robot részletesebb üzeneteket küldhet a felhasználóknak. A robot például médiamellékleteket (például képeket, videókat, hangfájlokat, fájlokat) és gazdag kártyákat küldhet. Ez a cikk azt ismerteti, hogyan adhat hozzá médiamellékleteket az üzenetekhez a Bot Connector szolgáltatással.
Tipp
Az egyes csatornákon támogatott funkciókkal kapcsolatos információkért tekintse meg a csatornákra vonatkozó referenciacikket .
Médiamelléklet hozzáadása
Ha médiamellékletet szeretne hozzáadni egy üzenethez, hozzon létre egy Melléklet objektumot, állítsa be a name
tulajdonságot, állítsa a contentUrl
tulajdonságot a médiafájl URL-címére, és állítsa a contentType
tulajdonságot a megfelelő médiatípusra (például kép/jpg, hang/wav, videó/mp4). Ezután az üzenetet jelképező Tevékenység objektumon belül adja meg az objektumot Attachment
a attachments
tömbben.
Az alábbi példa egy olyan kérést mutat be, amely szöveget és egyetlen képmellékletet tartalmazó üzenetet küld. Ebben a példakérésben https://smba.trafficmanager.net/teams
az alap URI-t jelöli, a robottal kapcsolatos problémákat okozó kérések alap URI-ja pedig eltérő lehet. Az alap URI beállításával kapcsolatos részletekért lásd: API-referencia.
POST https://smba.trafficmanager.net/teams/v3/conversations/abcd1234/activities/5d5cdc723
Authorization: Bearer ACCESS_TOKEN
Content-Type: application/json
{
"type": "message",
"from": {
"id": "12345678",
"name": "sender's name"
},
"conversation": {
"id": "abcd1234",
"name": "conversation's name"
},
"recipient": {
"id": "1234abcd",
"name": "recipient's name"
},
"text": "Here's a picture of the duck I was telling you about.",
"attachments": [
{
"contentType": "image/jpg",
"contentUrl": "https://www.publicdomainpictures.net/pictures/30000/t2/duck-on-a-rock.jpg",
"name": "duck-on-a-rock.jpg"
}
],
"replyToId": "5d5cdc723"
}
A képek beágyazott bináris fájljait támogató csatornák esetében a tulajdonságot beállíthatja Attachment
a contentUrl
kép egy base64 bináris fájljára (például data:image/jpg; base64,iVBORw0KGgo...). A csatorna megjeleníti a képet vagy a kép URL-címét az üzenet szöveges sztringje mellett.
{
"type": "message",
"from": {
"id": "12345678",
"name": "sender's name"
},
"conversation": {
"id": "abcd1234",
"name": "conversation's name"
},
"recipient": {
"id": "1234abcd",
"name": "recipient's name"
},
"text": "Here's a picture of the duck I was telling you about.",
"attachments": [
{
"contentType": "image/jpg",
"contentUrl": "data:image/jpg;base64,iVBORw0KGgo...",
"name": "duck-on-a-rock.jpg"
}
],
"replyToId": "5d5cdc723"
}
Videofájlt vagy hangfájlt is csatolhat egy üzenethez a fenti folyamattal egy képfájl esetében. A csatornától függően előfordulhat, hogy a videó és a hang be van kapcsolva, vagy hivatkozásként jelenik meg.
Megjegyzés
A robot médiamellékleteket tartalmazó üzeneteket is fogadhat. A robot által kapott üzenetek például mellékletet tartalmazhatnak, ha a csatorna lehetővé teszi, hogy a felhasználó feltöltsön egy fényképet, amelyet elemezni szeretne, vagy egy dokumentumot tároljon.
AudioCard-melléklet hozzáadása
Hangkártya vagy VideoCard-melléklet hozzáadása ugyanaz, mint egy médiamelléklet hozzáadása. Az alábbi JSON például bemutatja, hogyan adhat hozzá hangkártyát a médiamelléklethez.
{
"type": "message",
"from": {
"id": "12345678",
"name": "sender's name"
},
"conversation": {
"id": "abcd1234",
"name": "conversation's name"
},
"recipient": {
"id": "1234abcd",
"name": "recipient's name"
},
"attachments": [
{
"contentType": "application/vnd.microsoft.card.audio",
"content": {
"title": "Allegro in C Major",
"subtitle": "Allegro Duet",
"text": "No Image, No Buttons, Autoloop, Autostart, Sharable",
"duration": "PT2M55S",
"media": [
{
"url": "https://contoso.com/media/AllegrofromDuetinCMajor.mp3"
}
],
"shareable": true,
"autoloop": true,
"autostart": true,
"value": {
// Supplementary parameter for this card
}
}
}],
"replyToId": "5d5cdc723"
}
Miután a csatorna megkapta ezt a mellékletet, elkezdi lejátszani a hangfájlt. Ha egy felhasználó például a Szüneteltetés lehetőség kiválasztásával kommunikál a hanggal, a csatorna visszahívást küld a robotnak a következőhöz hasonló JSON-kapcsolattal:
{
...
"type": "event",
"name": "media/pause",
"value": {
"url": // URL for media
"cardValue": {
// Supplementary parameter for this card
}
}
}
A médiaesemény neve media/pause megjelenik a activity.name
mezőben. Hivatkozzon az alábbi táblázatra az összes médiaesemény nevének listájához.
Esemény | Description |
---|---|
media/next | Az ügyfél átugrott a következő adathordozóra |
média/szüneteltetés | Az ügyfél szüneteltette a médialejátszást |
media/play | Az ügyfél megkezdte a médialejátszást |
media/previous | Az ügyfél átugrott az előző adathordozóra |
média/önéletrajz | Az ügyfél folytatta a médialejátszást |
media/stop | Az ügyfél leállította a médialejátszást |