Översikt över API för W365 för agenter

Windows 365 for Agents exponerar funktioner via kompletterande ytor som mappar till agentsessionens livscykel:

  • Microsoft Graph-API:er för administration. IT-administratörer och agentskapare använder dessa API:er för att etablera och styra poolkapaciteten.
  • Windows 365 for Agents sessions-API för körningssessionshantering. Partnerprogram anropar det här API:et för att kolla in en molndator och släpper den sedan när arbetet är klart.
  • MCP-verktyg (Model Context Protocol) för sessionsåtgärd. AI-agenter anropar dessa verktyg via MCP-slutpunkten per session. För skärmdelning anropar ett partnerprogram skärmdelningsåtgärder för en människas räkning.

Tillsammans omfattar dessa ytor etablering av poolen, anskaffning av en molndator, utförande av arbete och övervakning eller hjälp efter behov.

En fullständig lista över API-dokumentation och en komma igång-guide finns i Windows 365 for Agents Github-dokumentationen.

Datorskapa: administration

På Microsoft Graph API-sidan använder Computer-Create-planet W365A-Graph API och W365-administratörsportalen. På dessa ytor kan administratörer och oberoende programvaruleverantörer (ISV:er):

  • Etablera Cloud PC-agentpooler.
  • Konfigurera principer och bilder.
  • Registrera betrodda partneruppringare.
  • Antal skalningspooler.
  • Koppla mätning via MAC-fakturering.

Mer information om Cloud PC-agentpooler finns i dokumentationen om Graph API.

Dator-Hämta: sessionsutcheckning och incheckning

Det Computer-Get planet är en liten körningskontrollyta för partnerprogram som hanteras av Windows 365 for Agents sessions-API :et (inte Microsoft Graph).

Checkout reserverar en molndator och returnerar sessionsidentitets- och anslutnings-URL:erna:

POST /api/pools/{poolId}/sessions?api-version=2.0

En lyckad utcheckning returnerar:

  • sessionId : sessionsidentifieraren
  • status : etableringsresultat (t.ex. Succeeded)
  • computerUrl : bas-URL för MCP-verktygsanrop /mcp(lägg till )
  • screenshareUrl : bas-URL för skärmdelningsåtgärder
  • connectivityUrl : kan vara null, beror inte på det. Använd computerUrl alltid för MCP och screenshareUrl för skärmdelning.

Utcheckningen kan ta upp till 30 sekunder när en enhet tilldelas. x-ms-sessionId Använd huvudet (en UUID v4) som en idempotensnyckel så att återförsök inte allokerar dubblettsessioner.

Sessionstyper bestäms vid utcheckningstillfället av de rubriker som du skickar:

Typ Headers Syfte
HumanUser (standard) user-object-id Interaktiv standardsession som är bunden till en AAD-identitet.
Agentic x-ms-authorization-auxiliary (agentidentitetstoken) + user-object-id (agentanvändar-ID) Agentdriven session. Den extra token är en agentidentitetstoken som utfärdats av Identity RM-tjänsten som etablerats i din klientorganisation och identifierar den specifika agenten (t.ex. "Sales Agent") som begär åtkomst.

Checkin släpper sessionen:

DELETE /api/sessions/{sessionId}?api-version=2.0

Checkin kräver huvudet x-ms-sessionId (en UUID v4) som matchar sessionId i sökvägen. Det är "fire-and-forget": ett 204 No Content svar innebär att versionen accepterades och rensningen slutförs asynkront. Inaktiva sessioner avlägsnas automatiskt efter 30 minuters inaktivitet (alla MCP- eller skärmresursbegäranden räknas som aktivitet), men partnerprogram bör alltid kontrollera sessioner uttryckligen när arbetet har slutförts.

Dator-Gör: session-åtgärd

När partnerprogrammet har skaffat en molndator använder agenter MCP-verktyg för att använda den. Dessa verktyg följer det öppna modellkontextprotokollet, så att alla agenter som stöder protokollet kan identifiera och anropa verktyg utan anpassad integrering.

All MCP-trafik flödar genom sessionens MCP-slutpunkt, som bildas genom att lägga /mcp till den computerUrl som returneras i kassan:

POST {computerUrl}/mcp?api-version=1.0

Varje begäran måste innehålla rubriken x-ms-computerId som matchar dator-ID:t i URL:en. Varje POST skickar ett JSON-RPC-meddelande och returnerar ett svar.

MCP-sessionslivscykel. Klienten måste slutföra mcp-initieringshandskakningen innan något verktyg anropas:

  1. Skicka en initialize begäran om att ta emot serverfunktioner.
  2. Skicka ett initialized meddelande (inget svar förväntas).
  3. Utfärda verktygsanrop tools/list för att identifiera tillgängliga verktyg eller tools/call anropa ett.

Initiering krävs en gång per session. MCP-planet omfattar skrivbordsinteraktion (mus, tangentbord, skärmdump), fönsterhantering, kommandokörning, webbläsarautomatisering och hjälpmedelsfunktioner för användargränssnittet.

Den fullständiga katalogen med verktyg och deras parameterscheman finns i Windows 365 for Agents MCP Server.

Computer-See/Take-Control: mänsklig övervakning

Screenshare SDK låter ett partnerprogram bädda in mänsklig observation i realtid av agentaktivitet direkt i sitt eget användargränssnitt. Den strömmar agentens molndator via WebRTC och vidarebefordrar vid behov mus- och tangentbordsindata tillbaka till sessionen. SDK:n skapar en iframe på din sida som hanterar alla API-anrop för videoströmning, indatarelä och skärmdelning, så att ditt program aldrig pratar direkt med strömningsstacken.

Visningsprogrammet ansluter till den screenshareUrl som returneras i kassan. Ingen separat skärmresursslutpunktskonstruktion krävs. SDK:n härleder sina anrop från bas-URL:en (computerUrl) och dator-ID:t som du anger.

Integrationsflöde

Partnerprogrammet checkar ut en session, läser in SDK:n från CDN och lämnar över den returnerade computerUrl ägartoken och ägartoken till en ScreenShareViewer. Iframe tar över därifrån, anropar ARI-skärmresurs-API:et och ansluter till videoanropet för din räkning:

Partner application                          ARI service
        │                                         │
        │  POST /api/pools/{poolId}/sessions      │
        │  ──────────────────────────────────────→│
        │                                         │
        │  200 OK { screenshareUrl: "…" }         │
        │  ←──────────────────────────────────────│
        │                                         │
        │  Load screenshare-embed.js from CDN     │
        │  new ScreenShareViewer({ container,     │
        │      baseUrl, computerId })             │
        │  viewer.connect(bearerToken)            │
        │  ─── postMessage to iframe ────────────→│
        │                                         │
        │      iframe calls ARI screenshare API   │
        │      iframe joins ACS video call        │
        │      live video streams back            │
        │  ←──────────────────────────────────────│

SDK-distribution

screenshare-embed.js Läs in versionen från CDN:

CDN-URL
https://packages.global.cloudinferenceplatform.azure.com/screenshare-sdk/latest/screenshare-embed.js

Visningsmetoder

En ScreenShareViewer instans exponerar hela sessionslivscykeln, ansluter, valfri kontroll överlämning, tokenuppdatering och nedrivning:

Metod Beskrivning
connect(bearerToken) Startar en skärmresurssession. Returnerar ett löfte.
takeControl() Begär mus- och tangentbordskontroll (endast interaktivt läge). Den senaste uppringaren vinner alltid, det finns inget avvisande.
releaseControl() Versioner styr och returnerar visningsprogrammet till endast visning.
updateToken(bearerToken) Ersätter ägartoken utan att starta om sessionen. Använd när du får ett TOKEN_EXPIRED fel.
stop() Avslutar sessionen och tar bort iframe från DOM. Instansen kan inte återanvändas, skapa en ny ScreenShareViewer för att återansluta.

Felsvar

Fel visas genom error händelsen med en kod och ett meddelande. Varje kod mappar till en specifik återställningsåtgärd:

Kod Betydelse Åtgärd
TOKEN_EXPIRED Ägartoken har upphört att gälla (401). Ring viewer.updateToken(newToken)upp .
START_FAILED ARI-start-API:et misslyckades. Kontroll computerId och poolregistrering.
JOIN_FAILED ACS-samtalsanslutningen misslyckades. Försök igen med en ny token.
RECONNECT_FAILED Automatisk återanslutning är slut (3 försök). Anropa viewer.stop(), skapa ett nytt visningsprogram och återanslut med en ny token.
IFRAME_LOAD_FAILED Iframe svarade inte inom 10 sekunder. Kontrollera att baseUrl kan nås från webbläsaren.
MODE_RESTRICTED Kontrollkommando som utfärdats i viewOnly läge. Skapa visningsprogrammet med mode: 'interactive'.

Snabbstart

En minimal sida som monterar ett visningsprogram i en container och ansluter den till en redan utcheckad session. Det förutsätter att du redan har utcheckningssvaret (se Computer-Get) och en ägartoken (se Autentisering):

<!DOCTYPE html>
<html>
<head><title>Screen Share</title></head>
<body>
    <div id="viewer" style="width: 100%; height: 600px;"></div>

    <script src="https://packages.global.cloudinferenceplatform.azure.com/screenshare-sdk/latest/screenshare-embed.js"></script>
    <script>
        // Assumes you already have the checkout response (see Computer-Get)
        // and a bearer token (see Authentication).
        var computerUrl = checkoutResponse.computerUrl;
        // computerId is embedded in computerUrl as /computers/{computerId}
        var computerId = computerUrl.split('/computers/')[1];

        var viewer = new ScreenShareViewer({
            container: document.getElementById('viewer'),
            baseUrl: computerUrl,
            computerId: computerId
        });

        viewer.on('error', function (code, msg) {
            console.error(code, msg);
        });

        viewer.connect(bearerToken);
    </script>
</body>
</html>

Surface-sammanfattning

Ytan Plan Slutpunkt Anropad av Syfte
Graph API Computer-Create W365A Graph API- och W365-administratörsportalen IT-administratör eller ISV Forma och underhålla poolen.
Sessions-API Computer-Get POST /api/pools/{poolId}/sessions (Utcheckning) Partnerprogram Reservera en molndator.
Sessions-API Computer-Get DELETE /api/sessions/{sessionId} (Checka in) Partnerprogram Släpp Cloud PC.
MCP Computer-Do POST {computerUrl}/mcp AI-agent Använd Cloud PC.
Screenshare SDK Dator-See, Computer-TakeControl ScreenShareViewer (från CDN screenshare-embed.js) Partnerapp för en människas räkning Observera och samkör.

Hur de passar ihop

Ytorna fungerar i följd, med en tydlig överlämning mellan anropare:

  1. Administratörer och agentskapare använder Datorskapa för att etablera poolen.
  2. Partnerprogrammet anropar Checkout på Computer-Get för att reservera en molndator för en viss del av agentarbetet, och anger sessionstypen via begärandehuvuden.
  3. AI-agenten initierar MCP-sessionen mot {computerUrl}/mcp och kör molndatorn via Dator-Do-verktygen . De flesta samtal flödar genom det här planet.
  4. Vid behov anropar partnerprogrammet Computer-See-åtgärder mot {screenshareUrl} för en människas räkning för att observera eller ta över.
  5. Partnerprogrammet anropar Checkin på Computer-Get för att släppa molndatorn när arbetet är klart. Sessioner som lämnas inaktiva i 30 minuter avlägsnas automatiskt.

Nästa steg