Empiece a realizar un seguimiento de su progreso
Inicio de Trailhead
Inicio de Trailhead

Descripción general de la integración de Apex

Nota

Nota

¡Atención Trailblazer!

Salesforce cuenta con dos interfaces de usuario de escritorio: Lightning Experience y Salesforce Classic. Este módulo está diseñado para Salesforce Classic.

Puede aprender sobre el cambio entre interfaces, la activación de Lightning Experience y más en el módulo Fundamentos de Lightning Experience aquí en Trailhead.

Objetivos de aprendizaje

Después de completar este módulo, podrá:
  • Describir las diferencias entre las llamadas de servicio web y HTTP.
  • Autorizar un sitio externo con la configuración de sitio web remoto.

Hacer llamadas a servicios externos desde Apex

Una llamada Apex permite una integración controlada estrictamente del código Apex con un servicio externo. La llamada llama a un servicio web externo o envía una solicitud HTTP desde el código Apex y, a continuación, recibe la respuesta.

Hay dos tipos de llamadas Apex:

  • En las llamadas de servicio web a servicios web SOAP se usa XML y se suele requerir un documento WSDL para la generación de código.
  • En las llamadas HTTP a servicios se suele usar REST con JSON.

Estos dos tipos de llamadas son similares dado que ambos casos se envía una solicitud a un servicio y se recibe una respuesta. Sin embargo, mientras que las llamadas basadas en WSDL solicitan servicios web SOAP, las llamadas HTTP se pueden usar con cualquier servicio HTTP, ya sea SOAP o REST.

Ahora, probablemente se esté preguntando “¿qué opción debería usar?” Siempre que sea posible, use un servicio HTTP. La interacción con estos servicios suele ser más sencilla. Además, requieren mucho menos código y se usa JSON de fácil lectura. Todos los usuarios al tanto de “lo más novedoso” han ido cambiando a los servicios REST en el último par de años, lo cual no quiere decir que los servicios web SOAP sean una mala opción. Han estado ahí siempre (en Internet durante años) y se suelen usar en aplicaciones para compañías. No es probable que desaparezcan en un futuro próximo. Es probable que use SOAP principalmente cuando vaya a realizar una integración con aplicaciones heredadas o para transacciones que requieren un formato de intercambio formal u operaciones con estado. En este módulo haremos referencia a SOAP, pero dedicaremos la mayor parte del tiempo a REST.

Autorizar direcciones de extremo

En Salesforce nada nos gusta más que la seguridad. Por lo tanto, siempre que hace una llamada a un sitio externo, nos aseguramos de que se ha autorizado. No podemos tener código llamando sin ningún orden a cualquier extremo sin una autorización previa. Antes de empezar a trabajar con llamadas, actualice la lista de sitios autorizados para su organización en la página Configuración de sitio Web remoto.

Dado que usaremos los siguientes extremos en este módulo, no dude en agregarlos ahora. Si se olvida de agregar un extremo, recibirá un recordatorio siempre que intente ejecutar el código. Haremos llamadas a los siguientes sitios:

  • https://th-apex-http-callout.herokuapp.com
  • https://th-apex-soap-service.herokuapp.com

Autorice ambas direcciones URL de extremo mediante estos pasos:

  1. En Configuración, ingrese Configuración de sitio Web remoto en el cuadro Búsqueda rápida y, a continuación, seleccione Configuración de sitio Web remoto.
  2. Haga clic en Nuevo sitio remoto.
  3. Para el nombre del sitio remoto, ingrese animals_http.
  4. Para la dirección URL del sitio remoto, ingrese https://th-apex-http-callout.herokuapp.com. Esta dirección URL autoriza todas las subcarpetas para el extremo, como https://th-apex-http-callout.herokuapp.com/path1 y https://th-apex-http-callout.herokuapp.com/path2.
  5. Para la descripción, ingrese Trailhead animal service: HTTP.
  6. Haga clic en Guardar y nuevo.
  7. Para el nombre del segundo sitio remoto, ingrese animals_soap.
  8. Para la dirección URL del sitio remoto, ingrese https://th-apex-soap-service.herokuapp.com.
  9. Para la descripción, ingrese Trailhead animal service: SOAP.
  10. Haga clic en Guardar.