Visão geral da integração com o Apex
Objetivos de aprendizagem
Após concluir este módulo, você estará apto a:
- Descrever as diferenças entre os serviços da Web e os callouts HTTP.
- Autorizar um site externo por meio das configurações de um site remoto.
Faça callouts para serviços externos pelo Apex
Os callouts do Apex possibilitam que haja uma forte integração do código do Apex com um serviço externo. Esse callout estabelece ligação com um serviço externo da Web ou envia uma solicitação HTTP do código do Apex, o que gera uma resposta.
Há dois tipos de callouts do Apex.
- Os callouts de serviços da Web feitos para serviços da Web SOAP usam XML e costumam precisar de um documento WSDL para geração de códigos.
- Em geral, os callouts HTTP feitos para serviços usam REST com JSON.
Esses dois tipos de callouts são parecidos no sentido de que eles enviam uma solicitação para um serviço e recebem uma resposta. Os callouts com base em WSDL são usados para serviços da Web SOAP, ao passo que os callouts HTTP podem ser usados para qualquer serviço HTTP, seja com SOAP ou REST.
A essa altura, você deve estar se perguntando: “Qual será que eu deveria usar?”. Sempre que possível, use um serviço HTTP. Em geral, eles oferecem uma interação mais simples, demandam bem menos código e usam um JSON de fácil leitura. Todo mundo que “manja do assunto” já passou a usar os serviços REST nos últimos anos, mas isso não significa que os serviços da Web SOAP sejam ruins. Essa opção existe desde sempre (na vida da Internet) e costuma ser usada para aplicativos empresariais. Ela não vai sumir da noite para o dia. Você provavelmente usará SOAP quando estiver fazendo uma integração com aplicativos legados ou para transações que precisem de um formato oficial de troca ou de operações com estado. Neste módulo, mencionaremos os serviços SOAP, mas passaremos a maior parte do tempo explorando a opção REST.
Acompanhar com o Trail Together
Deseja acompanhar um especialista enquanto trabalha nesta etapa? Veja este vídeo que faz parte da série Trail Together no Trailhead Live. Na seção Recursos, há um link para acessar a seção completa.
Autorização dos endereços dos pontos de extremidade
Somos apaixonados por segurança aqui na Salesforce! Portanto, precisamos garantir que todos os callouts feitos por você para um site externo tenham a devida permissão. Seria inaceitável que os códigos fizessem chamadas a torto e a direito para qualquer ponto de extremidade sem uma autorização prévia. Antes de começar a trabalhar com os callouts, atualize a lista de sites aprovados pela sua organização na página Configurações de sites remotos.
Usaremos os seguintes pontos de extremidade neste módulo; aproveite para adicioná-los agora. Vá por mim: se você se esquecer de adicionar um ponto de extremidade, isso não passará desapercebido ao tentar executar seu código. Faremos chamadas para os sites a seguir.
- https://th-apex-http-callout.herokuapp.com
- https://th-apex-soap-service.herokuapp.com
Autorize essas duas URLs do ponto de extremidade seguindo os passos abaixo.
- Em Setup (Configuração), insira
Remote Site Settings
(Configurações de site remoto) na caixa Quick Find (Busca rápida) e, em seguida, clique em Remote Site Settings (Configurações de site remoto). - Clique em Novo site remoto.
- Para o nome do site remoto, insira
animals_http
. - Para a URL do site remoto, insira
https://th-apex-http-callout.herokuapp.com
.
Esta URL gera uma autorização para todas as subpastas daquele ponto de extremidade, como https://th-apex-http-callout.herokuapp.com/path1 e https://th-apex-http-callout.herokuapp.com/path2. - Na descrição, escreva
Trailhead animal service:HTTP
(Serviço de animais do Trailhead:HTTP). - Clique em Salvar e novo.
- Para o nome do segundo site remoto, insira
animals_soap
. - Para a URL do site remoto, insira
https://th-apex-soap-service.herokuapp.com
. - Na descrição, escreva
Trailhead animal service:SOAP
(Serviço de animais do Trailhead:HTTP). - Clique em Salvar.
Recursos
- AWS: Qual é a diferença entre SOAP e REST?
- Trailhead Live: Trail Together - Serviços de integração do Apex