Mediabijlagen toevoegen aan berichten met de Bot Connector-API
Bots en kanalen wisselen meestal teksttekenreeksen uit, maar sommige kanalen ondersteunen ook het uitwisselen van bijlagen, waardoor uw bot uitgebreidere berichten naar gebruikers kan verzenden. Uw bot kan bijvoorbeeld mediabijlagen (zoals afbeeldingen, video's, audio, bestanden) en uitgebreide kaarten verzenden. In dit artikel wordt beschreven hoe u mediabijlagen toevoegt aan berichten met behulp van de Bot Connector-service.
Tip
Zie het naslagartikel over kanalen voor informatie over welke functies op elk kanaal worden ondersteund.
Een mediabijlage toevoegen
Als u een mediabijlage aan een bericht wilt toevoegen, maakt u een bijlageobject , stelt u de name
eigenschap in, stelt u de contentUrl
eigenschap in op de URL van het mediabestand en stelt u de contentType
eigenschap in op het juiste mediatype (zoals image/jpg, audio/wav, video/mp4). Geef vervolgens in het object Activiteit dat uw bericht vertegenwoordigt het Attachment
object in de attachments
matrix op.
In het volgende voorbeeld ziet u een aanvraag waarmee een bericht met tekst en één afbeeldingsbijlage wordt verzonden. In dit voorbeeld vertegenwoordigt de aanvraag https://smba.trafficmanager.net/teams
de basis-URI; de basis-URI voor aanvragen die mogelijk verschillen van uw botproblemen. Zie API-verwijzing voor meer informatie over het instellen van de basis-URI.
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"
}
Voor kanalen die inline binaire bestanden van een afbeelding ondersteunen, kunt u de contentUrl
eigenschap van de Attachment
instellen op een base64-binair bestand van de afbeelding (bijvoorbeeld data:image/jpg; base64,iVBORw0KGgo...). In het kanaal wordt de afbeelding of de URL van de afbeelding weergegeven naast de tekenreeks van het bericht.
{
"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"
}
U kunt een videobestand of audiobestand aan een bericht toevoegen met behulp van hetzelfde proces als hierboven beschreven voor een afbeeldingsbestand. Afhankelijk van het kanaal kunnen de video en audio inline worden afgespeeld of als een koppeling worden weergegeven.
Notitie
Uw bot kan ook berichten ontvangen die mediabijlagen bevatten. Een bericht dat uw bot ontvangt, kan bijvoorbeeld een bijlage bevatten als het kanaal de gebruiker in staat stelt een foto te uploaden die moet worden geanalyseerd of een document kan worden opgeslagen.
Een AudioCard-bijlage toevoegen
Het toevoegen van een AudioCard - of VideoCard-bijlage is hetzelfde als het toevoegen van een mediabijlage. In de volgende JSON ziet u bijvoorbeeld hoe u een audiokaart toevoegt aan de mediabijlage.
{
"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"
}
Zodra het kanaal deze bijlage ontvangt, wordt het audiobestand afgespeeld. Als een gebruiker bijvoorbeeld audio gebruikt door Onderbreken te selecteren, stuurt het kanaal een callback naar de bot met een JSON die er ongeveer als volgt uitziet:
{
...
"type": "event",
"name": "media/pause",
"value": {
"url": // URL for media
"cardValue": {
// Supplementary parameter for this card
}
}
}
De media-gebeurtenisnaam media/pauze wordt weergegeven in het activity.name
veld. Raadpleeg de onderstaande tabel voor een lijst met alle namen van media-gebeurtenissen.
Gebeurtenis | Description |
---|---|
media/volgende | De client is overgeslagen naar het volgende medium |
media/onderbreken | De client heeft het afspelen van media onderbroken |
media/afspelen | De client is begonnen met het afspelen van media |
media/vorige | De client is overgeslagen naar de vorige media |
media/cv | De client heeft het afspelen van media hervat |
media/stoppen | De client is gestopt met het afspelen van media |