Usługa strumieniowania dźwięku ambientowego

Usługa Ambient Audio Streaming (AAS) 2.0 umożliwia partnerom IT w sektorze opieki zdrowotnej przesyłanie nagrań dźwiękowych do Dragon Copilot w celu przetwarzania. Partnerzy mogą przesyłać dźwięk przez REST lub streamować go w czasie rzeczywistym za pomocą transportów gRPC lub WebSocket.

Zobacz także Dragon Copilot partnerskie API w dokumentacji Microsoft Dragon Copilot.

Dostępne interfejsy API

AAS 2.0 oferuje trzy opcje transportu dźwięku:

API Transportu Description
API gRPC gRPC (HTTP/2) Strumieniowanie dwukierunkowe przez gRPC. Obsługuje pobieranie konfiguracji, przesyłanie nagrań audio w czasie rzeczywistym oraz uruchamianie przetwarzania. Najlepiej nadaje się do integracji po stronie serwera i natywnego klienta.
WebSocket API WebSocket Strumieniowanie dwukierunkowe przez WebSocket. Obsługuje te same operacje co gRPC. Dobrze nadaje się do integracji z przeglądarką i klientem webowym.
API REST REST (HTTPS) Przesyłaj fragmenty audio jako dane wieloczęściowe i finalizuj nagrania. Najlepiej nadaje się do pracy wsadowej lub nie-czasu rzeczywistego.

Wszystkie trzy API obsługują te same podstawowe operacje:

  • Konfiguracja pobierania – Uzyskaj obsługiwane formaty audio, ustawienia lokalizacji oraz limity czasu nagrywania dla danego partnera i klienta.
  • Wysyłaj dźwięk – Streamuj dźwięk w czasie rzeczywistym (gRPC/WebSocket) lub przesyłaj fragmenty audio (REST).
  • Przetwarzanie wyzwalające - Signal Dragon Copilot rozpocząć przetwarzanie nagranej sesji otoczenia.

Przepływ pracy według transportu

Przepływ pracy REST API

Partnerzy przesyłający dźwięk przez REST muszą najpierw stworzyć sesję ambientową za pomocą API Dragon Copilot Partner, zanim zaczną przesyłać fragmenty dźwięku.

  1. Utwórz sesję ambientową - Zadzwoń PUT /ambient-sessions przez API Dragon Copilot Partner z identyfikatorem korelacji, partnerem, klientem, produktem oraz metadanymi EHR. To ustanawia kontekst sesji, do którego odnoszą się wszystkie kolejne operacje audio.
  2. Przesyłaj fragmenty audio – Wywołuj PUT /audio/storeChunk każdy fragment audio, podając zwrot correlationId w etapie tworzenia sesji wraz z binarnymi i metadanymi fragmentów audio.
  3. Sfinalizuj przesyłanie – zadzwoń POST /audio/finalizeUpload z ID korelacji, ID rejestracji i całkowitą liczbą chunk.

Przepływ strumieniowania gRPC i WebSocket

W przypadku gRPC i WebSocket metadane sesji są dostarczane jako część streamingowego handshake. Usługa tworzy sesję wewnętrznie, gdy klient otwiera nagranie, więc osobne PUT /ambient-sessions połączenie nie jest wymagane.

  1. Konfiguracja pobierania (opcjonalna, ale zalecana) – Zadzwoń RetrieveConfiguration do (gRPC) lub połącz się z GET /ws/retrieveConfiguration (WebSocket), aby uzyskać obsługiwane formaty audio, ustawienia lokalizacji i limity czasu nagrywania.
  2. Streamuj dźwięk – Otwórz sesję nagrania z pełnymi metadanymi sesji (partner, klient, produkt, identyfikator korelacji i informacje o praktyku), a następnie przesyłaj dane audio:
    • gRPC: Otwórz dwukierunkowy RecordAmbient strumień. Wyślij , następnie DataChunkRequest wiadomości i zakończ RecordingOpenRequest.RecordingCloseRequest
    • WebSocket: Połącz się z .GET /ws Wyślij wiadomość tekstową RecordingOpen , następnie wiadomości binarne DataChunk , a zakończ wiadomością RecordingClose tekstową.
  3. Trigger processing - Signal Dragon Copilot rozpocząć przetwarzanie:
    • gRPC: Zadzwoń do nieformalnego StartProcessing RPC.
    • WebSocket: Połącz się i GET /ws/startProcessing wyślij wiadomość StartProcessing .

Podstawowy adres URL

interfejs API REST

Region Environment adres URL
Stany Zjednoczone USA Brak produkcji https://ambient-audio-service.stg.copilot.us.dragon.com
Stany Zjednoczone USA Production https://ambient-audio-service.copilot.us.dragon.com
Kanada Production https://ambient-audio-service.copilot.ca.dragon.com
Francja Production https://ambient-audio-service.copilot.fr.dragon.com
Niemcy Production https://ambient-audio-service.copilot.de.dragon.com
Wielka Brytania Production https://ambient-audio-service.copilot.uk2.dragon.com

API gRPC

Region Environment adres URL
Stany Zjednoczone USA Brak produkcji https://streaming.ambient-audio-service.stg.copilot.us.dragon.com
Stany Zjednoczone USA Production https://streaming.ambient-audio-service.copilot.us.dragon.com
Kanada Production https://streaming.ambient-audio-service.copilot.ca.dragon.com
Francja Production https://streaming.ambient-audio-service.copilot.fr.dragon.com
Niemcy Production https://streaming.ambient-audio-service.copilot.de.dragon.com
Wielka Brytania Production https://streaming.ambient-audio-service.copilot.uk2.dragon.com

WebSocket API

Połączenia WebSocket korzystają z tego wss:// schematu na tym samym hostie streamingowym.

Region Environment adres URL
Stany Zjednoczone USA Brak produkcji wss://streaming.ambient-audio-service.stg.copilot.us.dragon.com/ws
Stany Zjednoczone USA Production wss://streaming.ambient-audio-service.copilot.us.dragon.com/ws
Kanada Production wss://streaming.ambient-audio-service.copilot.ca.dragon.com/ws
Francja Production wss://streaming.ambient-audio-service.copilot.fr.dragon.com/ws
Niemcy Production wss://streaming.ambient-audio-service.copilot.de.dragon.com/ws
Wielka Brytania Production wss://streaming.ambient-audio-service.copilot.uk2.dragon.com/ws

Punkty końcowe WebSocket dodają następujące ścieżki do bazowego adresu URL:

Endpoint Ścieżka
Nagrywanie dźwięku /
Konfiguracja pobierania /retrieveConfiguration
Rozpocznij przetwarzanie /startProcessing

Authorization

Wszystkie API AAS 2.0 wymagają tokena dostępu. Twierdzenie odbiorcy tokena dostępu jest wyceniane w zależności od środowiska.

Environment Wartość dla odbiorcy
Brak produkcji 40d36082-d340-492f-a5af-e42ef68f4b2b
Production 40d36082-d340-492f-a5af-e42ef68f4b2b

Wersjonowanie interfejsu API

Punkty końcowe REST wymagają parametru zapytania ustawionego api-version na :2025-07-15

  • Fragment audio w zapisie: PUT /audio/storeChunk?api-version=2025-07-15
  • Finalizuj upload: POST /audio/finalizeUpload?api-version=2025-07-15

API streamingowe (gRPC i WebSocket) nie wymagają parametru wersji API.