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. |