Visão geral da integração com o Apex
Faça callouts para serviços externos pelo Apex
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 herdados 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.
Autorização dos endereços dos pontos de extremidade
Usaremos os seguintes pontos de extremidade neste módulo, portanto, 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 callouts 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 Configuração, insira Configurações de sites remotos na caixa Busca rápida e clique em Configurações de sites remotos.
- Clique em Novo site remoto.
- Para o nome do site remoto, insira animais_http.
- Para a URL do site remoto, insira https://th-apex-http-callout.herokuapp.com. A especificação dessa 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 Serviço de animais do Trailhead: HTTP.
- Clique em Salvar e novo.
- Para o nome do segundo site remoto, insira animais_soap.
- Para a URL do site remoto, insira https://th-apex-soap-service.herokuapp.com.
- Na descrição, escreva Serviço de animais do Trailhead: SOAP.
- Clique em Salvar.