Compartir a través de


Extender la programación

En este artículo, obtendrá información sobre las opciones disponibles para programar una cita virtual con Microsoft Teams y Microsoft Graph. En primer lugar, aprenderá a replicar la experiencia existente en citas virtuales de Microsoft Teams. En segundo lugar, aprenderá a traer su propio sistema de programación al mismo tiempo que proporciona la misma experiencia de cita virtual a los consumidores.

Requisitos previos

Se espera que el lector de este artículo esté familiarizado con:

Sistema de programación de Microsoft 365

Las citas virtuales de Microsoft Teams usan las API de Microsoft Booking para administrarlas. En la aplicación Teams, verá las citas de reserva para los miembros del personal de Booking y proporciona la página de Booking para que los clientes puedan seleccionar los momentos adecuados para la consulta. Siga los pasos siguientes para crear su propia interfaz de usuario para programar o integrar el sistema de programación de Microsoft 365 en la solución.

  1. Use la siguiente solicitud HTTP para enumerar las empresas de Booking disponibles y seleccionar empresas para citas virtuales a través de la API de empresas de Booking de Microsoft Graph.
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. Enumere los servicios de Booking disponibles y seleccione el servicio para citas virtuales a través de la API de servicios de Booking de Microsoft Graph.
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] Enumere los miembros del personal de Booking disponibles y seleccione miembros del personal para la cita virtual a través de la API de miembro del personal de Microsoft Graph Booking. Si no se selecciona ningún miembro del personal, la cita creada se etiqueta como "Sin asignar".
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] Seleccione o cree un cliente de Booking para la cita virtual a través de la API de cliente de Booking de Microsoft Graph. No se envían avisos si no hay 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. Cree citas de Booking para empresas, servicios y, opcionalmente, miembros del personal e invitados a través de la API de citas de Booking de Microsoft Graph. En el ejemplo siguiente, creamos una reunión en línea asociada a la reserva. Además, puede proporcionar notas y recordatorios.
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"

En la respuesta, verá que se creó una nueva cita de Booking. La cita virtual también se muestra en la aplicación Microsoft Booking y en la aplicación de citas virtuales de Microsoft Teams.

Nota

La única forma de obtener información del cliente es usar la API de citas GET Microsoft Graph Booking.

Traiga su propio sistema de programación

Si tiene un sistema de programación existente y desea ampliarlo con la experiencia de cita virtual proporcionada por Microsoft Teams, siga estos pasos:

  1. Cree una reunión en línea para la cita virtual mediante la API de reuniones de Microsoft Graph Online.

Nota

Esta operación no crea un evento de calendario en Microsoft Booking, Outlook o Microsoft Teams. Si desea crear un evento de calendario, use la API de eventos de calendario de 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. Cree una experiencia de cita virtual para un recurso en línea creado en el paso anterior
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/..."

Puede almacenar la dirección URL generada dentro del sistema de programación o crear un almacenamiento de par clave-valor dedicado que vincule el identificador único del evento de calendario en el sistema de programación con la dirección URL a la experiencia de cita virtual de Microsoft Teams.

Pasos siguientes