Partilhar via


Expandir agendamento

Neste artigo, irá aprender as opções disponíveis para agendar um Compromisso virtual com o Microsoft Teams e o Microsoft Graph. Primeiro, vai aprender a replicar a experiência existente em compromissos virtuais do Microsoft Teams. Em segundo lugar, vai aprender a trazer o seu próprio sistema de agendamento ao mesmo tempo que fornece a mesma experiência de compromisso virtual aos consumidores.

Pré-requisitos

Espera-se que o leitor deste artigo esteja familiarizado com:

Sistema de agendamento do Microsoft 365

Os compromissos virtuais do Microsoft Teams utilizam as APIs do Microsoft Booking para os gerir. Na aplicação Teams, verá os compromissos do Booking para membros da equipa do Booking e fornece a página Booking para que os clientes lhes permitam selecionar as horas adequadas para consulta. Siga os passos seguintes para criar a sua própria interface de utilizador para agendar ou integrar o sistema de agendamento do Microsoft 365 na sua solução.

  1. Utilize o seguinte pedido HTTP para listar as empresas do Booking disponíveis e selecionar empresas para Compromissos virtuais através da API de empresas do Microsoft Graph Booking.
GET https://graph.microsoft.com/v1.0/solutions/bookingBusinesses
Permissions: Bookings.Read.All (delegated)
Response: response.body.value[0].displayName; // ”Contoso lunch delivery”
	        response.body.value[0].id; // "Contosolunchdelivery@contoso.onmicrosoft.com"
  1. Liste os serviços do Booking disponíveis e selecione o serviço para Compromissos virtuais através da API de serviços do Microsoft Graph Booking.
GET https://graph.microsoft.com/v1.0/solutions/bookingBusinesses/ Contosolunchdelivery@contoso.onmicrosoft.com/services
Permissions: Bookings.Read.All (delegated)
Response: response.body.value[0].displayName; // ” Initial service”
	    response.body.value[0].id; // " f9b9121f-aed7-4c8c-bb3a-a1796a0b0b2d"
  1. [Opcional] Liste os membros do pessoal do Booking disponíveis e selecione membros da equipa para Compromisso virtual através da API de docentes do Microsoft Graph Booking. Se não estiver selecionado nenhum membro da equipa, o compromisso criado será identificado como "Não Atribuído".
GET https://graph.microsoft.com/v1.0/solutions/bookingBusinesses/ Contosolunchdelivery@contoso.onmicrosoft.com/staffMembers
Permissions: Bookings.Read.All (delegated)
Response: response.body.value[0].displayName; // ”Dana Swope”
	    response.body.value[0].id; // "8ee1c803-a1fa-406d-8259-7ab53233f148"
  1. [Opcional] Selecione ou crie o cliente Booking para compromisso virtual através da API de cliente do Microsoft Graph Booking. Não são enviados lembretes se não existirem clientes.
GET https://graph.microsoft.com/v1.0/solutions/bookingBusinesses/ Contosolunchdelivery@contoso.onmicrosoft.com/customers
Permissions: Bookings.Read.All (delegated)
Response: response.body.value[0].displayName; // ”Adele Vance”
	    response.body.value[0].id; // "80b5ddda-1e3b-4c9d-abe2-d606cc075e2e"
  1. Crie compromissos do Booking para empresas, serviços e, opcionalmente, docentes e convidados selecionados através da API de compromissos do Microsoft Graph Booking. No exemplo seguinte, criamos uma reunião online associada à reserva. Além disso, pode fornecer notas e lembretes.
POST https://graph.microsoft.com/v1.0/solutions/bookingBusinesses/ Contosolunchdelivery@contoso.onmicrosoft.com/appointments
Body: {
    "endDateTime": {
        "@odata.type": "#microsoft.graph.dateTimeTimeZone",
        "dateTime": "2023-05-20T10:00:00.0000000+00:00",
        "timeZone": "UTC"
    },
    "isLocationOnline": true,
    "staffMemberIds": [
       {
          "8ee1c803-a1fa-406d-8259-7ab53233f148"
       }
    ],
    "serviceId": "f9b9121f-aed7-4c8c-bb3a-a1796a0b0b2d",
    "startDateTime": {
        "dateTime": "2023-05-20T09:00:00.0000000+00:00",
        "timeZone": "UTC"
    },
    "customers": [
        {
            "customerId": "80b5ddda-1e3b-4c9d-abe2-d606cc075e2e"
        }
    ]
}
Permissions: BookingsAppointment.ReadWrite.All (delegated)
Response: response.body.value.id; // "AAMkADc7zF4J0AAA8v_KnAAA="
          response.body.value.serviceId; // "f9b9121f-aed7-4c8c-bb3a-a1796a0b0b2d"
          response.body.value.joinWebUrl; // "https://teams.microsoft.com/l/meetup-join/..."
          response.body.value.anonymousJoinWebUrl; // "https://visit.teams.microsoft.com/webrtc-svc/..."
          response.body.value.staffMemberIds; // "8ee1c803-a1fa-406d-8259-7ab53233f148"
          response.body.value.customers[0].name; // "Adele Vance"

Na resposta, verá que foi criado um novo compromisso do Booking. O compromisso virtual também é apresentado na aplicação Microsoft Booking e na aplicação de compromisso Virtual do Microsoft Teams.

Nota

A única forma de obter informações do cliente é utilizar a API de compromisso get Microsoft Graph Booking.

Traga o seu próprio sistema de agendamento

Se tiver um sistema de agendamento existente e quiser alargá-lo com a experiência de compromisso virtual fornecida pelo Microsoft Teams, siga os passos abaixo:

  1. Crie uma reunião online para Compromisso virtual através da API de reunião do Microsoft Graph Online.

Nota

Esta operação não cria um evento de calendário no Microsoft Booking, Outlook ou Microsoft Teams. Se quiser criar um evento de calendário, utilize a API de eventos do Calendário do Microsoft Graph.

POST https://graph.microsoft.com/v1.0/ me/onlineMeetings
Body: {
  "startDateTime":"2023-05-20T09:00:00.0000000+00:00",
  "endDateTime":"2023-05-20T10:00:00.0000000+00:00",
  "subject":"Virtual appointment in Microsoft Teams"
}
Permissions: OnlineMeetings.ReadWrite (delegated)
Response: response.body.value.id; // "MSpkYzE3NjctYmZiMi04ZdFpHRTNaR1F6WGhyZWFkLnYy"
          response.body.value.joinWebUrl; // "https://teams.microsoft.com/l/meetup-join/..."
  1. Criar experiência de compromisso virtual para um recurso de nomeação online criado no passo anterior através de
GET https://graph.microsoft.com/v1.0/ me/onlineMeetings/ MSpkYzE3NjctYmZiMi04ZdFpHRTNaR1F6WGhyZWFkLnYy/getVirtualAppointmentJoinWebUrl
Permissions: OnlineMeetings.ReadWrite (delegated)
Response: response.body.value; //"https://visit.teams.microsoft.com/webrtc-svc/..."

Pode armazenar o URL gerado no seu sistema de agendamento ou criar um armazenamento de pares chave-valor dedicado que ligaria o ID exclusivo do evento de calendário no seu sistema de agendamento com o URL à experiência de compromisso virtual do Microsoft Teams.

Passos seguintes