Compartilhar via


Gerir o estado de presença com o microsoft API do Graph

O Microsoft API do Graph permite que as aplicações giram estados de presença de utilizadores em várias sessões, garantindo atualizações de disponibilidade precisas e dinâmicas.

Sessões de presença

Um utilizador pode ter múltiplas sessões de presença porque o utilizador pode estar em vários clientes do Teams (ambiente de trabalho, dispositivos móveis e Web). Cada cliente do Teams tem uma sessão de presença independente e a presença do utilizador é um estado agregado de todas as sessões atrasadas.

Da mesma forma, uma aplicação pode ter a sua própria sessão de presença para um utilizador e ser capaz de atualizar o estado.

A seguinte precedência é utilizada para a forma como os estados de sessão são agregados, com "A > B" a representar que A tem precedência sobre B:

  • Estados de nível de sessão preferenciais > do utilizador (o estado preferencial pelo utilizador substitui os estados ao nível da sessão)
  • Entre os estados ao nível da sessão: DoNotDisturb > Ocupado > Disponível > Ausente

Nota: Quando a presença de um utilizador muda no Microsoft Graph, uma vez que o cliente do Teams utiliza o modo de votação, demora alguns minutos a atualizar o status de presença.

Permutações de estados de presença

Estado do Teams Disponibilidade/atividade do gráfico
Disponível available/available
Disponível, fora do escritório available / outOfOffice
Ocupado busy/busy
Numa chamada busy / inACall
Em reunião busy / inAMeeting
Numa chamada, fora do escritório busy / inACall + OOF
Não incomodar doNotDisturb / doNotDisturb
A apresentar doNotDisturb / presenting
Ausente away / away
Voltar logo beRightBack / beRightBack
Aparecer offline offline / offWork
Ausência temporária outOfOffice

Observação

O método setPresence não suporta a definição direta dos estados de presença Fora do Escritório (OOF) ou Numa reunião . Estes estados são geridos automaticamente com base em eventos de calendário e configurações de caixas de correio e tentar defini-los através do método setPresence não tem qualquer efeito.

Para refletir "Fora do escritório" na presença, utilize a API de eventos ao definir a propriedade showAs de um evento de calendário como oofou configure as definições de autoreply do utilizador com a caixa de correioDefinições.

O estado "Numa reunião" é refletido automaticamente durante os eventos de reunião do calendário agendado e não requer atualizações de presença manuais.

Tempo limite, expiração e manter-se vivo

Uma sessão de presença pode exceder o limite de tempo e expirar, pelo que a aplicação tem de chamar a presença: setPresence API antes do tempo limite, para manter o estado da sessão; ou antes da expiração, para manter a sessão viva.

Uma sessão de presença pode exceder o limite de tempo se a disponibilidade for Available e o tempo limite for de cinco minutos. Quando excede o limite de tempo, o estado de presença desaparece por fases. Por exemplo, se uma aplicação definir a sessão de presença como Available/Available, o estado mudaria para Available/AvailableInactive cinco minutos com o primeiro tempo limite e, em seguida Away/Away , em mais cinco minutos com o segundo tempo limite.

Utilizado expirationDuration para configurar a expiração de uma sessão de presença; caso contrário, a expiração predefinida é de cinco minutos. Os valores válidos variam entre cinco minutos e quatro horas, após o qual a sessão se torna Offline.

Domínios fidedignos para visibilidade e interação de presença entre inquilinos

Configure o acesso externo no centro de administração do Teams, para que apenas as organizações parceiras pretendidas possam ver e agir sobre a presença dos seus utilizadores. No centro de administração do Teams (Utilizadores > Acesso externo), permita todos os domínios ou adicione domínios específicos à lista Permitir em Reuniões e converse com organizações fidedignas do Microsoft 365. Os utilizadores nessas organizações fidedignas conseguem ver a presença do utilizador. A presença entre inquilinos requer confiança mútua e o parceiro também tem de permitir o seu domínio. Os domínios que não são fidedignos (ou estão bloqueados) não conseguem ver a presença nem podem iniciar interações condicionadas pela presença. Para obter mais informações, consulte Especificar organizações fidedignas do Microsoft 365.