Sdílet prostřednictvím


Přidání mediálních příloh ke zprávům pomocí rozhraní API konektoru robota

Roboti a kanály si obvykle vyměňují textové řetězce, ale některé kanály také podporují výměnu příloh, což robotovi umožňuje posílat uživatelům bohatší zprávy. Robot může například odesílat mediální přílohy (například obrázky, videa, zvuk, soubory) a karty s formátem rich. Tento článek popisuje, jak přidat mediální přílohy ke zprávám pomocí služby Bot Connector.

Tip

Informace o tom, které funkce jsou podporované v jednotlivých kanálech, najdete v článku s referenčními informacemi o kanálech .

Přidání multimediální přílohy

Pokud chcete ke zprávě přidat mediální přílohu, vytvořte objekt Attachment , nastavte name vlastnost, nastavte contentUrl vlastnost na adresu URL multimediálního souboru a nastavte contentType vlastnost na příslušný typ média (například image/jpg, audio/wav, video/mp4). Pak v objektu Activity , který představuje vaši zprávu, zadejte objekt Attachment v poli attachments .

Následující příklad ukazuje požadavek, který odešle zprávu obsahující text a jeden obrázek přílohy. V tomto příkladu požadavek https://smba.trafficmanager.net/teams představuje základní identifikátor URI. Základní identifikátor URI pro požadavky, u které se problémy vašeho robota můžou lišit. Podrobnosti o nastavení základního identifikátoru URI najdete v referenčních informacích k rozhraní API.

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"
}

U kanálů, které podporují vložené binární soubory obrázku, můžete nastavit contentUrl vlastnost Attachment na binární soubor base64 obrázku (například data:image/jpg; base64,iVBORw0KGgo...). Kanál zobrazí obrázek nebo adresu URL obrázku vedle textového řetězce zprávy.

{
    "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"
}

Videosoubor nebo zvukový soubor můžete ke zprávě připojit stejným postupem, jako je popsán výše pro soubor obrázku. V závislosti na kanálu se video a zvuk můžou přehrávat přímo nebo se můžou zobrazit jako odkaz.

Poznámka

Robot může také přijímat zprávy, které obsahují mediální přílohy. Například zpráva, kterou robot obdrží, může obsahovat přílohu, pokud kanál umožňuje uživateli nahrát fotku, která se má analyzovat, nebo dokument, který má být uložen.

Přidání přílohy audiokarty

Přidání audiokarty nebo videokarty je stejné jako přidání multimediální přílohy. Následující kód JSON například ukazuje, jak do přílohy média přidat zvukovou kartu.

{
    "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"
}

Jakmile kanál tuto přílohu obdrží, začne přehrávat zvukový soubor. Pokud uživatel pracuje se zvukem například tak, že vybere Pozastavit, kanál odešle robotovi zpětné volání s kódem JSON, který vypadá přibližně takto:

{
    ...
    "type": "event",
    "name": "media/pause",
    "value": {
        "url": // URL for media
        "cardValue": {
            // Supplementary parameter for this card
        }
    }
}

V poli se zobrazí activity.name název události média media/pause. Seznam všech názvů událostí médií najdete v následující tabulce.

Událost Description
media/next Klient přeskočil na další médium.
multimédia/pozastavení Klient pozastavil přehrávání médií.
media/play Klient začal přehrávat multimédia.
multimédia/předchozí Klient přeskočil na předchozí médium.
multimédia/životopis Klient obnovil přehrávání médií.
media/stop Klient přestal přehrávat multimédia.

Další materiály