Megosztás a következőn keresztül:


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

További források