call: recordResponse

Namespace: microsoft.graph

Zeichnet eine kurze Audioantwort vom Anrufer auf. Ein Bot kann dies nutzen, um eine Sprachantwort von einem Anrufer zu erfassen, nachdem er zur Eingabe einer Antwort aufgefordert wurde.

Weitere Informationen zur Behandlung von Vorgängen finden Sie unter commsOperation.

Hinweis: Dies wird nur für Aufrufe unterstützt, die mit serviceHostedMediaConfig initiiert werden.

Diese Aktion soll nicht den gesamten Aufruf aufzeichnen. Die maximale Aufzeichnungsdauer beträgt 2 Minuten. Die Aufzeichnung wird von der Cloud Communications Platform nicht dauerhaft gespeichert und kurz nach Beendigung des Anrufs verworfen. Der Bot muss die Aufzeichnung unverzüglich herunterladen, nachdem der Aufzeichnungsvorgang abgeschlossen ist, indem er den recordingLocation-Wert verwendet, der in der abgeschlossenen Benachrichtigung angegeben ist.

Hinweis: Gesammelte Medien werden möglicherweise nicht beibehalten. Stellen Sie sicher, dass Sie die Gesetze und Vorschriften Ihrer Region einhalten, wenn es um die Anrufaufzeichnung geht. Weitere Informationen erhalten Sie von einem Rechtsberater.

Diese API ist in den folgenden nationalen Cloudbereitstellungen verfügbar.

Globaler Dienst US Government L4 US Government L5 (DOD) China, betrieben von 21Vianet

Berechtigungen

Wählen Sie für diese API die Als am wenigsten privilegierten Berechtigungen gekennzeichneten Berechtigungen aus. Verwenden Sie nur dann eine Berechtigung mit höheren Berechtigungen , wenn dies für Ihre App erforderlich ist. Ausführliche Informationen zu delegierten Berechtigungen und Anwendungsberechtigungen finden Sie unter Berechtigungstypen. Weitere Informationen zu diesen Berechtigungen finden Sie in der Berechtigungsreferenz.

Berechtigungstyp Berechtigungen mit den geringsten Berechtigungen Berechtigungen mit höheren Berechtigungen
Delegiert (Geschäfts-, Schul- oder Unikonto) Nicht unterstützt Nicht unterstützt
Delegiert (persönliches Microsoft-Konto) Nicht unterstützt Nicht unterstützt
Anwendung Calls.AccessMedia.All Nicht verfügbar.

HTTP-Anforderung

POST /communications/calls/{id}/recordResponse

Anforderungsheader

Name Beschreibung
Authorization Bearer {token}. Erforderlich. Erfahren Sie mehr über die Authentifizierung und Autorisierung.

Anforderungstext

Geben Sie im Anforderungstext ein JSON-Objekt mit den folgenden Parametern an.

Parameter Typ Beschreibung
Fordert mediaPrompt-Sammlung Die Eingabeaufforderungen, die wiedergegeben werden sollen. Die maximal unterstützte mediaPrompt-Sammlungsgröße beträgt 1.
bargeInAllowed Boolesch Bei "true" wird die recordResponse-Anforderung in andere vorhandene, in die Warteschlange eingereihte/zurzeit verarbeitete Datensatz-/Playprompt-Anforderungen eingereiht. Standardwert = false.
initialSilenceTimeoutInSeconds Int32 Maximale anfängliche Stille (Benutzerstille), die ab dem Zeitpunkt zulässig ist, zu dem wir den Datensatzantwortvorgang starten, bevor ein Timeout auftritt und der Vorgang fehlschlägt. Wenn wir eine Eingabeaufforderung wiedergeben, wird dieser Timer gestartet, nachdem die Eingabeaufforderung abgeschlossen wurde. Standard = 5 Sekunden, Min = 1 Sekunde, Max = 120 Sekunden
maxSilenceTimeoutInSeconds Int32 Maximal zulässige Ruhezeit (Pause), nachdem ein Benutzer mit dem Sprechen begonnen hat. Standard = 5 Sekunden, Min = 1 Sekunde, Max = 120 Sekunden.
maxRecordDurationInSeconds Int32 Maximale Dauer für den RecordResponse-Vorgang vor dem Beenden der Aufzeichnung. Standard = 5 Sekunden, Min = 1 Sekunde, Max = 120 Sekunden.
playBeep Boolesch Wenn true, gibt einen Signalton ab, um dem Benutzer mitzuteilen, dass er mit der Aufzeichnung seiner Nachricht beginnen kann. Standard = true.
stopTones String collection Zum Beenden der Aufzeichnung angegebene Stopptöne.
Clientcontext Zeichenfolge Eindeutige Clientkontextzeichenfolge. Der maximale Grenzwert beträgt 256 Zeichen.

Antwort

Diese Methode gibt einen 200 OK Antwortcode und einen Location-Header mit einem URI für die für diese Anforderung erstellte recordOperation zurück.

Beispiel

Das folgende Beispiel illustriert, wie Sie diese API aufrufen können.

Beispiel 1: Zeichnet eine kurze Audioantwort vom Anrufer auf

Anforderung

Das folgende Beispiel zeigt die Antwort.

POST https://graph.microsoft.com/v1.0/communications/calls/{id}/recordResponse
Content-Type: application/json
Content-Length: 394

{
  "bargeInAllowed": true,
  "clientContext": "d45324c1-fcb5-430a-902c-f20af696537c",
  "prompts": [
    {
      "@odata.type": "#microsoft.graph.mediaPrompt",
      "mediaInfo": {
        "uri": "https://cdn.contoso.com/beep.wav",
        "resourceId": "1D6DE2D4-CD51-4309-8DAA-70768651088E"
      }
    }
  ],
  "maxRecordDurationInSeconds": 10,
  "initialSilenceTimeoutInSeconds": 5,
  "maxSilenceTimeoutInSeconds": 2,
  "playBeep": true,
  "stopTones": [ "#", "1", "*" ]
}
Antwort

Das folgende Beispiel zeigt die Antwort.

Hinweis: Das hier gezeigte Antwortobjekt kann zur besseren Lesbarkeit gekürzt werden.

HTTP/1.1 200 OK
Content-Type: application/json
Location: https://graph.microsoft.com/v1.0/communications/calls/57dab8b1-894c-409a-b240-bd8beae78896/operations/0fe0623f-d628-42ed-b4bd-8ac290072cc5

{
  "@odata.type": "#microsoft.graph.recordOperation",
  "id": "0fe0623f-d628-42ed-b4bd-8ac290072cc5",
  "status": "running",
  "resultInfo": null,
  "recordingLocation": null,
  "clientContext": "d45324c1-fcb5-430a-902c-f20af696537c"
}
Benachrichtigung – Vorgang abgeschlossen
POST https://bot.contoso.com/api/calls
Content-Type: application/json
{
  "@odata.type": "#microsoft.graph.commsNotifications",
  "value": [
    {
      "@odata.type": "#microsoft.graph.commsNotification",
      "changeType": "deleted",
      "resourceUrl": "/communications/calls/57DAB8B1894C409AB240BD8BEAE78896/operations/0FE0623FD62842EDB4BD8AC290072CC5",
      "resourceData": {
        "@odata.type": "#microsoft.graph.recordOperation",
        "@odata.id": "/communications/calls/57DAB8B1894C409AB240BD8BEAE78896/operations/0FE0623FD62842EDB4BD8AC290072CC5",
        "@odata.etag": "W/\"54451\"",
        "id": "0fe0623f-d628-42ed-b4bd-8ac290072cc5",
        "clientContext": "d45324c1-fcb5-430a-902c-f20af696537c",
        "status": "completed",
        "resultInfo": {
          "@odata.type": "#microsoft.graph.resultInfo",
          "code": 200,
          "subcode": 8515,
          "message": "Action completed, max record duration reached."
        },
        "recordingLocation": "https://file.location/17e3b46c-f61d-4f4d-9635-c626ef18e6ad",
        "recordingAccessToken": "<access-token>"
      }
    }
  ]
}

Beispiel 2: Abrufen der Aufzeichnungsdatei

Hinweis: Sie dürfen medienbezogene Inhalte von Anrufen oder Besprechungen, auf die Ihre Anwendung zugreift, oder von diesen Medieninhalten abgeleitete Daten NICHT aufzeichnen oder anderweitig beibehalten. Stellen Sie sicher, dass Sie die Gesetze und Vorschriften Ihres Bereichs bezüglich Datenschutz und Vertraulichkeit der Kommunikation einhalten. Bitte lesen Sie die Nutzungsbedingungen, und wenden Sie sich für weitere Informationen an Ihren Rechtsbeistand.

Anforderung
GET https://file.location/17e3b46c-f61d-4f4d-9635-c626ef18e6ad
Authorization: Bearer <recordingAccessToken>
Antwort
HTTP/1.1 200 OK
Transfer-Encoding: chunked
Date: Thu, 17 Jan 2019 01:46:37 GMT
Content-Type: application/octet-stream

(application/octet-stream of size 160696 bytes)