Registrar un servicio externo
Objetivos de aprendizaje
En este proyecto:
- Definirá una credencial con nombre para su servicio web externo.
- Agregará un servicio web externo mediante una especificación de API proporcionada.
- Explicará cómo se relacionan las acciones de servicio externo con la definición de esquema dentro de su especificación de API.
- Buscará sus acciones de servicio externo en la caja de herramientas de Flow Builder.
- Creará un flujo sencillo mediante acciones de servicios externos.
Requisitos previos
Antes de obtener esta insignia, recomendamos completar lo siguiente.
- Complete el módulo Servicios externos. En este módulo, se ofrece una descripción general de alto nivel de los servicios externos.
Crear un nuevo Trailhead Playground
Para este proyecto, deberá crear un nuevo Trailhead Playground. Desplácese hasta la parte inferior de esta página, haga clic en la flecha hacia abajo junto a Launch (Iniciar) y seleccione Create Playground (Crear Playground). Normalmente lleva de 3 a 4 minutos crear un nuevo Trailhead Playground.
Introducción
En el módulo Servicios externos, aprendió como se puede utilizar una API de banco basada en REST para definir un esquema. A continuación, utilicemos dicho ejemplo para ofrecer una experiencia más personalizada para el banco ficticio. Luego, mostraremos cómo se puede utilizar Salesforce para realizar un seguimiento de la actividad de ventas de las cuentas bancarias.
El proceso de negocio nuevo del banco debería permitir que los representantes del banco agreguen cuentas bancarias desde Salesforce. Debería asegurarse de que los detalles de la cuenta bancaria, como el tipo y la Id., estén sincronizados entre el registro de usuario de Salesforce y el servicio de backend del banco. Más de un representante agregará cuentas. Por lo tanto, la lógica de negocio necesita poder buscar una cuenta bancaria existente o crear una nueva.
Para automatizar este proceso, registrará el servicio web de banco como un servicio externo. Una vez registrado el servicio de banco, las operaciones de API (agregar, actualizar y recuperar) de la cuenta de dicho servicio serán visibles y accesibles para su uso dentro de Salesforce mediante la herramienta de Flow Builder.
En este punto, tiene todo lo que necesita. Debe crear un flujo que de manera automática agregue una nueva cuenta bancaria o actualice los detalles de una existente, y que envié toda información nueva desde el servicio de banco hasta Salesforce cada vez que un representante del banco acceda a la cuenta.
Pasos para completar este flujo
Antes de comenzar, analicemos las etapas y la lógica para que pueda observar cómo fluye la información. Observe los cinco “pasos” que debe realizar para completar este flujo.
-
Screen (Pantalla): Bank Account Record (Registro de cuenta bancaria). Captura el nombre y el tipo de cuenta desde la información que ingresa el representante del banco en la pantalla.
-
Action (Acción): Add Bank Account (Agregar cuenta bancaria). Una vez registrada la especificación de API del servicio de banco con los servicios externos, todas las operaciones de API definidas en nuestra especificación ahora están disponibles para su uso dentro del flujo como acciones coincidentes. Utilizamos la acción addAccount y especificamos las entradas y salidas de la API que asignamos a variables para su uso entre la Salesforce org y el servicio de banco.
-
Decision (Decisión): Bank Account Updated? (¿Se actualizó la cuenta bancaria?). La lógica evalúa si una cuenta bancaria existe y precisa una actualización o, de ser necesario, crea una cuenta bancaria nueva.
-
Assignment (Asignación): Assign Existing Bank Account ID (Asignar Id. de la cuenta bancaria existente). Si existe una cuenta bancaria, asigna el valor de account ID (Id. de cuenta) de la cuenta bancaria existente y lo utiliza para actualizar la cuenta de usuario de Salesforce.
-
Update Records (Actualizar registros): Update Salesforce User Record (Actualizar registro de usuario de Salesforce). Si el apellido del usuario de Salesforce coincide con un registro de cuenta bancaria, nuestro flujo actualiza este registro con los valores de account type (tipo de cuenta) y account ID (Id. de cuenta) del banco. Si no se encuentra una coincidencia del valor Last Name (Apellido) en el servicio de banco y se crea un nuevo registro de cuenta bancaria, actualiza el registro de usuario de Salesforce (si hay un nombre que coincide en Salesforce) con los valores de account type (tipo de cuenta) y account ID (Id. de cuenta) del banco.
Mire este video para ver una guía detallada de este proyecto completo de principio a fin.
Credenciales con nombre y acceso a extremos
En el módulo Servicios externos, aprendió sobre las especificaciones de API y lo que constituye un esquema válido y compatible con los servicios externos. Además de ese esquema, necesita una forma simple de proteger su servicio web externo y su Salesforce org. Para esta tarea, puede utilizar credenciales con nombre para autenticar las llamadas a los extremos de servicio del banco.
Por lo general, el proveedor de servicios web externos proporciona los elementos de una credencial con nombre. Dichos elementos incluyen la URL de un extremo de llamada y sus parámetros de autenticación requeridos. En la insignia de servicios externos, aprendió que las especificaciones de API contienen información del extremo y parámetros de autenticación para los servicios web de API basados en REST. Utilizará esta información para definir una credencial con nombre para su organización.
- Desde Setup (Configuración), ingrese
Named Credentials
(Credenciales con nombre) en el cuadro de búsqueda rápida y seleccione Named Credentials (Credenciales con nombre).
- En el menú desplegable junto al botón New (Nuevo), seleccione New Legacy (Nuevo heredado).
- En Label (Etiqueta), ingrese
Bank
(Banco).
- En Name (Nombre), ingrese
Bank
en inglés.
- En URL, ingrese
https://th-external-services.herokuapp.com
- Deje los demás campos como están y haga clic en Save (Guardar).
Tenga en cuenta que, en un ejemplo del mundo real, también establecería el protocolo de autenticación en las credenciales con nombre y especificaría su definición de proveedor de autenticación (ambos se establecen en la configuración).
Registrar el servicio web mediante el asistente de servicios externos
Ahora que tiene una especificación de API válida, si agrega el servicio externo de banco en los servicios externos, eso le indica a Salesforce cómo interactúa.
- Desde Setup (Configuración), ingrese
External Services
(Servicios externos) en el cuadro de búsqueda rápida y, a continuación, seleccione External Services (Servicios externos).
- Haga clic en Add an External Service (Agregar un servicio externo).
- En la página Select an API Source (Seleccionar un origen de API), seleccione From API Specification (Desde la especificación de API).
- Haga clic en Next (Siguiente).
- En External Service Name (Nombre del servicio externo), ingrese
BankService
, sin espacios.
- En Select a Named Credential (Seleccionar una credencial con nombre), seleccione Bank (Banco), la credencial con nombre que acabamos de crear.
- En Service Schema (Esquema de servicio), seleccione Relative URL (URL relativa).
- En URL, ingrese
/accounts/schema
. Esta cadena se agrega a la credencial con nombre que acabamos de crear. Es la URL relativa que apunta a la especificación de API. En conjunto, forman la URL completa de nuestro proveedor de servicios. Por ejemplo: https://th-external-services.herokuapp.com/accounts/schema.
- Haga clic en Save (Guardar) y en Next (Siguiente).
- Seleccione todas las operaciones.
- Haga clic en Next (Siguiente). Se mostrará una lista de acciones de servicio externo. Estas acciones ahora están disponibles para usted en Flow Builder. Utilice la barra de desplazamiento para verlas todas. Las operaciones en su especificación de API ahora se convirtieron en acciones invocables en Salesforce.
- Haga clic en Finish (Finalizar).
El siguiente es un ejemplo de la página External Service Actions (Acciones de servicio externo).
También puede ver la lista de acciones si hace clic en BankService en la página principal de los servicios externos.
Analicemos la acción getAccount y algunos de sus parámetros.
- La acción getAccount recupera información de la cuenta.
- El parámetro accountName especifica la cuenta.
- También existen varios parámetros de salida para la acción getAccount. Los códigos, como el 200, corresponden a códigos de respuesta específicos definidos en la especificación de API. Analizaremos estos en mayor detalle en la siguiente unidad. Sin embargo, también podrá encontrar estas definiciones con un buen formato en Swagger Editor cuando valide el esquema de la especificación de API.
A continuación, creará un flujo simple y aprenderá cómo buscar las acciones en la paleta del flujo.
Recursos
- Ayuda de Salesforce: Registrar un servicio externo
- Ayuda de Salesforce: Credencial con nombre
- Ayuda de Salesforce: Protocolos de autenticación para credenciales con nombre