Pessoas e contatos no EWS no Exchange

Saiba mais sobre personas, o Unified Contact Store e como trabalhar com contatos usando a API Gerenciada do EWS ou o EWS no Exchange.

Os contatos são itens no Exchange que armazenam informações sobre um indivíduo, grupo ou organização. Os contatos podem incluir nomes e endereços de email e outras informações, incluindo endereços IM, endereços físicos, aniversários, informações familiares e uma foto ou imagem que representa o contato.

As informações de contato são armazenadas em um dos dois locais:

  • Active Directory Domain Services (AD DS), se o contato estiver dentro da organização.

  • A pasta Contatos ou outra pasta na caixa de correio de um usuário, se o contato estiver fora da organização.

Vários itens de contato podem representar um único indivíduo. O Exchange usa personas para ajudar a reunir esses diferentes itens de contato. Uma persona é uma agregação de informações de contato para o mesmo indivíduo de fontes diferentes. Além das informações de contato no Exchange, as personas também podem ser agregadas de informações no cache do destinatário para a caixa de correio, uma pasta oculta para contatos de IM chamada QuickContacts e de fontes de dados de terceiros. O Unified Contact Store no Exchange permite que os clientes de IM usem essa agregação; a única diferença é que o Unified Contact Store não agrega informações do AD DS, conforme mostrado na Figura 1.

Figura 1. Entre em contato com fontes de informações para personas e para o Unified Contact Store

Imagem que mostra as fontes que são agregadas em personas em comparação com as fontes que são incluídas no Repositório de Contatos Unificado. O Repositório de Contatos Unificado não agrega informações de contato do serviço de diretório.

Tabela 1. Métodos de API Gerenciada do EWS e operações EWS para trabalhar com contatos

Se você quiser... Use este método de API Gerenciada do EWS Usar essa operação EWS
Criar um novo contato
Instancie um novo objeto Contact e use Contact.Save
CreateItem
Copiar um contato
Contact.Copy
CopyItem
Mover um contato
Contact.Move
MoveItem
Atualizar um contato existente
Contact.Bind e Contact.Update
UpdateItem
Excluir um contato
Contact.Bind e Contact.Delete
DeleteItem
Pesquisar um contato
ExchangeService.FindItems
FindItem
Pesquisar pessoas
N/D
FindPeople
Expandir um grupo de distribuição
ExchangeService.ExpandGroup
ExpandDL
Resolver um nome ambíguo
ExchangeService.ResolveName
ResolveNames
Obter uma persona
N/D
GetPersona
Trabalhar com fotos de contato
Contact.SetContactPicture, Contact.GetContactPictureAttachment ou Contact.RemoveContactPicture
GetUserPhoto ou GetAttachment

Personas

Até recentemente, os contatos eram normalmente armazenados em um único local – normalmente, em um cliente de email. Hoje, está se tornando mais comum armazenar contatos em vários locais diferentes, como em um telefone, em um site de rede social, em uma pasta Contatos em uma caixa de correio do Exchange ou no serviço de diretório de uma organização. Com a proliferação de informações de contato, é possível que vários contatos que representam a mesma pessoa contenham informações diferentes; por exemplo, um contato pode incluir um número de telefone comercial e outro um número de telefone pessoal ou um contato armazenado em uma pasta Contatos pode ter um nome diferente do contato para a mesma pessoa armazenada em seu telefone.

Em Exchange Online, Exchange Online como parte de Office 365 e versões locais do Exchange a partir do Exchange 2013, contatos de diferentes fontes que representam a mesma pessoa estão associados uns aos outros, semelhantes à maneira como as mensagens de email são agregadas em conversas, por meio de uma ID de link comum. Quando as informações de contato agregadas são retornadas por um servidor exchange, ela inclui um conjunto de atributos para cada contato, como uma pasta de origem, um nome de exibição, uma ID e uma ID de origem. A soma das propriedades e atributos retornados é conhecida como persona, e o conjunto de propriedades retornadas é conhecido como a forma da persona.

Como as informações que compõem uma persona não são armazenadas em um único local e, como essas informações podem ser alteradas a qualquer momento, uma persona é criada somente quando você faz uma solicitação para um servidor exchange. Você usa a operação FindPeople EWS para fazer uma solicitação de pesquisa de persona. Sua solicitação pode incluir uma ordem de classificação e pode ser filtrada de acordo com uma cadeia de caracteres de consulta para ajudá-lo a encontrar a persona correta ordenando e filtrando os resultados. Por exemplo, você pode recuperar o nome de exibição e um conjunto de todos os endereços de email associados a um contato específico da pasta Contatos, uma conta do Hotmail, uma conta do LinkedIn e um serviço de diretório da empresa ou você pode recuperar um conjunto de todas as personas que têm endereços IM. A vinculação de contatos em personas é automática com base em um algoritmo que reconhece uma relação entre contatos armazenados em vários dispositivos.

Observação

A API gerenciada EWS não implementa essa funcionalidade.

Tabela 2. Operações EWS para trabalhar com personas

Nome da operação Descrição
FindPeople
Retorna todas as personas disponíveis de uma pasta de contatos especificada ou recupera contatos que correspondem a uma cadeia de caracteres de consulta especificada.
GetPersona
Retorna um conjunto de propriedades associadas a uma persona específica, como todos os endereços IM ou nomes de exibição para uma ID de persona especificada.

Você pode usar as operações GetPersona e FindPeople para recuperar informações de contato com eficiência de várias fontes. Como todos os itens relacionados a uma persona estão associados a uma ID de link, você pode usar essas operações em uma ampla variedade de aplicativos que usam dados de contato. Estes são alguns exemplos:

  • Um aplicativo de telefone celular que usa a operação GetPersona quando um usuário chama um contato e oferece números de telefone adicionais para ligar se ninguém atender.

  • Um aplicativo que usa a operação FindPeople para verificar mensagens de caixa de entrada em busca de endereços de email para determinar se eles são encontrados em uma persona existente. Endereços que ainda não estão associados a uma persona podem ser usados para criar leads de vendas ou listar todas as comunicações recentes com a pessoa representada por essa persona.

  • Um aplicativo de email para Outlook que oferece saudações diferentes com base em se a correspondência é formal ou informal. As saudações formais são fornecidas pelos nomes de exibição do serviço de diretório e as saudações informais vêm do nome de exibição que se origina em contatos de rede social.

Armazenamento de Contato Unificado

As personas não se limitam apenas a um cliente de email. Se você estiver desenvolvendo um cliente de IM, poderá se perguntar qualquer um ou todos os seguintes:

  • Como posso provisionar aplicativos cliente do Lync com um conjunto padrão de itens de contato de IM?

  • Como fazer gerenciar listas de grupos e contatos de IM?

  • Como fazer gerenciar o acesso personalizado do cliente lync a contatos de IM e grupos de IM?

O Unified Contact Store funciona nos bastidores do Exchange para agregar dados de contato do Exchange e de outras fontes em uma única entidade ou persona. Embora as operações EWS que você usa para acessar o Unified Contact Store sejam específicas para contatos de IM, você pode usar o Unified Contact Store no Exchange para trabalhar com personas em todos os tipos de aplicativos. Lembre-se de que o Unified Contact Store não pode acessar dados de contato do AD DS.

Os contatos de IM são armazenados em uma pasta oculta chamada QuickContacts. Você pode usar as operações AddNewImContactToGroup e AddImContactToGroup para adicionar contatos a grupos armazenados nesta pasta oculta. E como você pode usar o Unified Contact Store para agrupar contatos de IM, você pode acessar e atualizar grupos de contatos com mais facilidade.

Observação

A API gerenciada EWS não implementa essa funcionalidade.

Tabela 3. Operações EWS para acessar o Unified Contact Store

Nome da operação Descrição
AddNewImContactToGroup
Adiciona um novo contato de IM a um grupo de IM, até um máximo de 1000 contatos.
AddImContactToGroup
Adiciona um contato de IM existente a um grupo de IM, até um máximo de 1000 contatos.
AddImGroup
Adiciona um novo grupo de IM, até um máximo de 64 grupos.
AddDistributionGroupToImList
Adiciona um novo grupo de distribuição a um grupo de IM, até um máximo de 64 grupos.
GetImItemList
Recupera uma lista de grupos de IM e personas de contato de IM.
GetImItems
Recupera informações sobre grupos de IM específicos e personas de contato de IM.
RemoveContactFromImList
Remove um contato de um grupo de IM.
RemoveImContactFromGroup
Remove um contato de IM de um grupo de IM.
RemoveDistributionGroupFromImList
Remove um grupo de distribuição de um grupo de IM.
RemoveImGroup
Remove um grupo de IM.
SetImGroup
Altera o nome de exibição de um grupo de IM.

Nesta seção

Confira também