Introdução à API de interface de usuário

Objetivos de aprendizagem

Após concluir esta unidade, você estará apto a:
  • Explicar onde a API de interface de usuário se encaixa na Salesforce Platform.
  • Descrever quando usar a API de interface de usuário.
  • Descrever quando não usar a API de interface de usuário.

Acesse a Salesforce Platform em seu nível

O poder do Salesforce está em sua capacidade de ser personalizado para você e seus clientes. Quando decidimos recriar nossa interface de usuário, não mudamos apenas a aparência, mas criamos uma plataforma poderosa que permite ainda mais acesso para personalização do Salesforce. Assim surgiu o Lightning.

O Lightning é a experiência de usuário (Lightning Experience), a plataforma e a estrutura da interface de usuário (estrutura de componente web do Lightning) do Salesforce. O Lightning permite a personalização do Salesforce em um patamar compatível com suas habilidades e necessidades, assegurando acesso a diferentes níveis da Salesforce Platform. Neste módulo, veremos como acessar a plataforma usando a API de interface de usuário, que o Lightning Experience usa para obter dados e metadados do Salesforce.

Um pouco de contexto. Para criar o Lightning Experience, precisamos de uma nova API. Nossa API atual não permitia acesso a tudo que era necessário, tendo sido projetada para integração de dados, e não para a construção de interfaces de usuário. Então, em um dia quente e sem nuvens, nascia a API de interface de usuário.

Trabalhamos em conjunto com nossos desenvolvedores internos do Salesforce para descobrir que tarefas eram difíceis e demoradas. Então, resolvemos esses problemas. Tornamos pública a nova API REST. Sendo assim, é possível criar aplicativos da web e aplicativos móveis usando a mesma API que a Salesforce usa para criar o Lightning Experience e os aplicativos Salesforce para Android e iOS.

Como usar a pilha de tecnologia do Lightning

Existem muitas maneiras de acessar o Lightning para criar aplicativos Salesforce que facilitam sua vida e a vida dos seus clientes. Vamos examinar as camadas da pilha de tecnologia do Lightning para entender onde a API de interface de usuário está e quando usá-la.Camadas da Salesforce Platform. A API da interface de usuário está em Lightning Data Service, que está em Componentes web do Lightning.

Conforme subimos na pilha, a Lightning Platform oferece mais ainda e o desenvolvimento fica mais fácil. No topo da pilha, não é preciso escrever código, basta apontar e clicar. Na parte inferior da pilha, é preciso escrever muito código.

  • Arraste componentes web do Lightning criados previamente no Criador de aplicativo Lightning.
  • Desenvolva componentes web do Lightning personalizados.
  • Use o Lightning Data Service para acessar dados do Salesforce em componentes web do Lightning.
  • Use a API de interface de usuário para criar aplicativos da Web e aplicativos móveis personalizados que se conectam ao Salesforce a partir da Salesforce Platform.

Vamos dar uma olhada no topo da pilha, na solução “sem código”. Os componentes básicos do Lightning, como botão, entrada e ícone, são os blocos de criação da interface de usuário. No Criador de aplicativo Lightning, sem usar nenhum código, é possível combinar componentes para criar aplicativos que funcionam no Salesforce. Também é possível criar aplicativos independentes hospedados na Salesforce Platform.

Descendo na pilha, é possível criar seus próprios componentes web do Lightning. Sem muito código, é possível usar o Lightning Data Service para criar, ler, atualizar e excluir registros. O Lightning Data Service usa a API de interface de usuário (que fica logo abaixo na pilha) para obter dados do Salesforce. O LDS adiciona a magia da cache, minimizando viagens ao servidor e atualizando todos os registros que usem os mesmos dados.

A base da pilha do Lightning é a API de interface de usuário, que oferece cargas de dados e metadados do Salesforce estruturados para a construção da interface de usuário. Use sua estrutura da web ou sua linguagem favorita para criar qualquer aplicativo móvel da Web ou nativo personalizado que quiser. React, Vue, Angular, iOS, Android... Se for possível fazer uma solicitação HTTP, é possível usar a API de interface de usuário.

A API de interface de usuário facilita o desenvolvimento da interface de usuário

O Salesforce tem muitas APIs e pode ser difícil saber qual é a melhor ferramenta para o trabalho. Se estiver criando um aplicativo da web ou móvel personalizado e precisar de uma interface de usuário que permita aos usuários visualizar, criar, editar e excluir registros do Salesforce (uma interface de usuário que se pareça e se comporte como o Salesforce) a API de interface de usuário é o caminho certo.

Se estiver criando uma interface de usuário para permitir que os usuários editem listas de opções e pesquisas dependentes, a API de interface de usuário é certamente o caminho. A API de interface de usuário tem um recurso que facilita muito.O editor de lista de opções dependente mostra menus para País, Idioma, Estado e Cidade.

Como dissemos, o Salesforce usa a API de interface de usuário para criar o Lightning Experience. A API de interface de usuário é desenvolvida por um grupo de engenheiros internos do Salesforce para facilitar o trabalho de outro grupo de engenheiros internos do Salesforce que desenvolve o Lightning Experience. Estamos empolgados para ver o que você também pode criar com ela!

De fato, a interface de usuário do Salesforce é complexa. A interface de usuário correta para qualquer usuário específico depende de várias regras, permissões e configurações de layout de página. Um administrador pode alterar qualquer uma dessas dependências para melhor atender às necessidades de sua empresa. Por exemplo, um administrador pode adicionar ou remover campos de layouts de página, marcar campos conforme necessário e atribuir layouts de página a perfis.

Antigamente, era difícil criar uma interface de usuário dinâmica para trabalhar com registros em aplicativos personalizados, pois seria preciso escrever código para atualizar a interface de usuário sempre que um administrador fizesse alterações nos metadados na organização.

Essa é uma das razões de termos criado a API de interface de usuário e de estarmos adicionando novos recursos a cada lançamento. A API de interface de usuário simplifica a criação de uma interface de usuário personalizada de acordo com as regras e permissões dentro de uma organização do Salesforce, pois a interface de usuário responde às alterações de metadados em tempo de execução. Vamos reforçar, só por precaução: não é preciso modificar seu aplicativo quando o administrador alterar permissões, layouts, segurança em nível de campo ou regras de compartilhamento. Na verdade, você não precisa escrever um código para verificar essas coisas, a API de interface de usuário já faz isso.

Antes da API de interface de usuário, seria necessário fazer várias chamadas para obter as informações necessárias para o layout (onde os campos funcionam na página), os metadados (que campos um objeto tem e que são necessários) e os dados do registro (quais são os valores de campo). A API de interface de usuário faz essas chamadas por você e oferece uma resposta fácil de analisar, realizando o trabalho de um mecanismo de renderização de layout. Sendo assim, não é preciso criar um. Sua poltrona preferida (ou prancha de snowboard, ou jardim) está à sua espera.

Ah, e a API de interface de usuário tem os mesmos limites de API que a API corporativa. Por isso, não se preocupe com aprender uma nova maneira de rastrear os limites da API.

Cargas eficientes
É preciso muita informação para criar formulários que permitam aos usuários trabalhar com registros. Que campos o objeto tem? São necessários? Onde devem estar posicionados no layout? Quais são os valores de todos os campos? As cargas da API de interface de usuário agregam dados e metadados para que não seja preciso fazer muitas solicitações de API.
Valores de exibição formatados e localizados
Por falar em valores de campo, a API de interface de usuário oferece valores prontos para exibição no idioma preferencial do usuário. Seja uma data ou a moeda de um país, a formatação é perfeita. Não importa o tipo de dados do campo, seu código usa apenas a propriedade displayValue.
Segurança em nível de campo e regras de compartilhamento
A API de interface de usuário respeita regras. Se um usuário não tiver acesso a um campo, o campo não será incluído na resposta. Bingo! Aproveite seu tempo livre.
Lógica de negócios
Todo desenvolvedor enfrenta os mesmos problemas. Por exemplo, para desenvolver uma interface de usuário que permita aos usuários clonar um registro, não necessárias informações diferentes daquelas necessárias para desenvolver uma interface de usuário que permita aos usuários criar um registro. Um formulário de clonagem inclui valores de dados do registro clonado, enquanto a maioria dos valores de dados em um formulário de criação é null (Owner e OwnerId não são null). A API de interface de usuário tem recursos que retornam as informações necessárias para desenvolver interfaces de usuário para esses casos de uso e são os mesmos recursos que usamos para construir o Lightning Experience e o Salesforce para Android e iOS. Você obtém os mesmos valores padrão obtidos no Salesforce – muito legal.
Tipos de layout e fatores de forma
Quer que seu aplicativo funcione em qualquer dispositivo, tablet ou computador? Claro que sim! As respostas da API de interface de usuário podem oferecer tipos de layout completos e compactos, além de fatores de forma pequenos, médios e grandes.
Modos de acesso
Para criar um aplicativo que permite aos usuários trabalhar com registros do Salesforce, é preciso criar interfaces de usuário diferentes para os diferentes tipos de trabalho. O usuário está visualizando, criando, clonando ou editando um registro? É possível solicitar uma carga para cada um desses modos de acesso. (Embora a clonagem use o modo de edição, existem apenas três modos: criar, editar e visualizar.)

Quando não posso usar a API de interface de usuário?

Não use a API de interface de usuário para integração do sistema. Nem para criar uma integração automatizada para carregar ou extrair dados. Nem para carregar ou extrair dados em massa. Use a API corporativa ou a API em massa para essas tarefas.

Se estiver criando componentes web do Lightning, não use a API de interface de usuário diretamente; use o Lightning Data Service (LDS).

O LDS fica embutido na API de interface de usuário, mas também armazena em cache as respostas e atualiza todos os registros afetados pelas alterações de dados. Ao trabalhar com o LDS, não se preocupe com fazer chamadas de REST e guardar resultados em cache, porque o LDS já faz isso. E quando os dados são alterados, o LDS atualiza todos os componentes relevantes. O LDS não apenas elimina dados inconsistentes entre componentes, mas também permite que os usuários trabalhem offline e sincronizem dados quando voltarem a ficar online. O LDS é bem legal.

Por fim, não use a API de interface de usuário para reconstruir toda a interface de usuário do Salesforce. Por que é interessante fazer assim?

Conhecer os recursos da API de interface de usuário

Os recursos da API de interface de usuário se enquadram em algumas categorias. Este módulo do Trailhead examina em detalhe os recursos de registros e layouts, mas vamos examinar rapidamente algumas das outras categorias para saber o que é possível fazer. Para ver a lista completa dos recursos, confira o Guia do desenvolvedor da interface de usuário.

Dica

Dica

Neste módulo, recurso e ponto de extremidade são usados de forma intercambiável.

Registros e layouts

Use esses recursos para criar, ler, atualizar e excluir registros do Salesforce.

O recurso fundamental da API de interface de usuário pega uma ou mais IDs de registro e retorna informações de dados, metadados e layout. Isso mesmo; seu aplicativo faz uma solicitação HTTP e obtém tudo o que é preciso para exibir um registro. Falaremos mais sobre esse recurso na próxima unidade.

/ui-api/record-ui/{recordIds}
A API de interface de usuário também tem recursos para obter essas mesmas respostas de layout, metadados de objeto e dados individualmente.
/ui-api/layout/{objectApiName}
/ui-api/object-info/{objectApiName}
/ui-api/records/{recordId}
Em uma unidade posterior, veremos os recursos que obtêm os valores de campo padrão necessários para criar a interface de usuário para clonagem ou criação de um registro.
/ui-api/record-defaults/create/{objectApiName}
/ui-api/record-defaults/clone/{recordId}
Também aprenderemos como usar esse recurso para obter valores de todos os campos da lista de opções de um tipo de registro específico.
/ui-api/object-info/{objectApiName}/picklist-values/{recordTypeId}

Modos de exibição de lista

Os usuários do Salesforce passam muito tempo personalizando seus modos de exibição de lista para poderem visualizar e analisar registros. Use a API de interface de usuário para obter uma lista de metadados de registros e de modos de exibição de lista. Assim como o recurso /ui-api/record-ui/{recordId}, esses recursos retornam dados e metadados em uma resposta.
/ui-api/list-ui/${listViewId}
/ui-api/list-ui/${objectApiName}/${listViewApiName}
Também é possível obter os dados e metadados em seus próprios recursos.
/ui-api/list-info/${listViewId}
/ui-api/list-info/${objectApiName}/${listViewApiName}
/ui-api/list-records/${listViewId}
/ui-api/list-records/${objectApiName}/${listViewApiName}

Ações

As ações proporcionam aos usuários uma maneira rápida e fácil de concluir tarefas no Salesforce. Use ações para criar um objeto, enviar um email ou registrar uma chamada e muito mais. As ações aparecem na barra de ação no aplicativo móvel e na faixa de opções de ação no Lightning Experience. Antes da API de interface de usuário, os aplicativos precisavam usar SOQL para descobrir que ações estavam disponíveis. Agora, é possível buscar listas de ações que estão disponíveis para o usuário no aplicativo Salesforce, no cabeçalho Ações globais, nos detalhes do registro e nas páginas de edição, nas listas relacionadas e muito mais.
/ui-api/actions/global
/ui-api/actions/record/${recordIds}
/ui-api/actions/record/${recordId}/record-edit
/ui-api/actions/record/${recordId}/related-list/${relatedListIds}
// There are more actions resources! Check the User Interface API Developer Guide! 

Atualmente, é possível usar os pontos de extremidade de ações para buscar listas de ações, mas não para executar ações. É útil obter uma lista de ações se quisermos usar ações rápidas, fazer substituições do Visualforce ou determinar o CRUD com base em ações visíveis. Por exemplo, se existir uma ação Nova, um usuário poderá criar um registro e o mesmo vale para Editar e Excluir.

Favoritos

O Lightning Experience tem uma estrela no cabeçalho que contém seus registros e modos de exibição de lista favoritos. Os usuários podem adicionar favoritos para navegar mais rapidamente no Salesforce. A API de interface de usuário tem recursos para criar, visualizar, atualizar e excluir favoritos, para permitir a você criar essa mesma navegação de favoritos em seus aplicativos personalizados.
/ui-api/favorites
/ui-api/favorites/${favoriteId}
/ui-api/favorites/batch
/ui-api/favorites/${favoriteId}/usage

Pesquisas

Os objetos do Salesforce geralmente incluem campos de pesquisa que permitem associar dois registros em um relacionamento. Por exemplo, um registro de contato inclui um campo de pesquisa de Conta que associa o contato a sua conta. Nas páginas de edição de registro, os campos de pesquisa permitem pesquisar o registro a ser associado ao registro que está sendo editado. UI de pesquisa para um nome de conta. O menu suspenso contém sugestões.

Construir a interface de usuário para pesquisas e pesquisas dependentes é um desafio e tanto, que a API de interface de usuário facilita muito. Use esses recursos para criar uma interface de usuário que permita fazer uma pesquisa completa com preenchimento automático que corresponda àquilo que aparece no Lightning Experience.
/ui-api/lookups/{objectApiName}/{fieldApiName}
/ui-api/lookups/{objectApiName}/{fieldApiName}/{targetApiName}

Recursos

Continue a aprender de graça!
Inscreva-se em uma conta para continuar.
O que você ganha com isso?
  • Receba recomendações personalizadas para suas metas de carreira
  • Pratique suas habilidades com desafios práticos e testes
  • Monitore e compartilhe seu progresso com os empregadores
  • Conecte-se a orientação e oportunidades de carreira