Dela via


Lägga till mediebilagor i meddelanden med Bot Connector-API:et

Robotar och kanaler utbyter vanligtvis textsträngar, men vissa kanaler stöder också utbyte av bifogade filer, vilket gör att din robot kan skicka mer omfattande meddelanden till användare. Din robot kan till exempel skicka mediebilagor (till exempel bilder, videor, ljud, filer) och omfattande kort. Den här artikeln beskriver hur du lägger till mediebilagor i meddelanden med hjälp av Bot Connector-tjänsten.

Tips

Information om vilka funktioner som stöds på varje kanal finns i kanalreferensartikeln .

Lägga till en mediebilaga

Om du vill lägga till en mediebilaga i ett meddelande skapar du ett attachment-objekt , anger name egenskapen, anger contentUrl egenskapen till URL:en för mediefilen och anger contentType egenskapen till lämplig medietyp (till exempel bild/jpg, ljud/wav, video/mp4). I aktivitetsobjektet som representerar meddelandet anger du objektet Attachment i matrisen attachments .

I följande exempel visas en begäran som skickar ett meddelande som innehåller text och en bifogad bild. I den här exempelbegäran https://smba.trafficmanager.net/teams representerar bas-URI:n. Bas-URI:n för begäranden om att dina robotproblem kan vara annorlunda. Mer information om hur du anger bas-URI finns i API-referens.

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

För kanaler som stöder infogade binärfiler för en bild kan du ange contentUrl egenskapen Attachment för till en base64-binärfil för bilden (till exempel data:image/jpg; base64,iVBORw0KGgo...). Kanalen visar bilden eller bildens URL bredvid meddelandets textsträng.

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

Du kan bifoga en videofil eller ljudfil i ett meddelande med hjälp av samma process som beskrivs ovan för en bildfil. Beroende på kanalen kan video och ljud spelas upp infogat eller visas som en länk.

Anteckning

Din robot kan också ta emot meddelanden som innehåller mediebilagor. Ett meddelande som roboten tar emot kan till exempel innehålla en bifogad fil om kanalen gör det möjligt för användaren att ladda upp ett foto som ska analyseras eller ett dokument som ska lagras.

Lägg till en bifogad ljudkortsbilaga

Att lägga till ett bifogat ljudkort eller videokort är detsamma som att lägga till en mediebilaga. Följande JSON visar till exempel hur du lägger till ett ljudkort i mediebilagan.

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

När kanalen har fått den här bifogade filen börjar den spela upp ljudfilen. Om en användare interagerar med ljud genom att till exempel välja Pausa skickar kanalen ett återanrop till roboten med en JSON som ser ut ungefär så här:

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

Mediahändelsens namn media/paus visas i fältet activity.name . I tabellen nedan finns en lista över alla namn på mediehändelser.

Händelse Beskrivning
media/next Klienten hoppade över till nästa media
media/pausa Klienten pausade uppspelning av media
media/play Klienten började spela media
media/föregående Klienten hoppades över till föregående media
media/resume Klienten återupptog uppspelningen av media
media/stop Klienten slutade spela upp media

Ytterligare resurser