Registrar un servicio externo
Objetivos de aprendizaje
En este proyecto, alcanzará los siguientes objetivos:
- Definir una credencial con nombre para su servicio web externo.
- Añadir un servicio web externo utilizando una especificación de API proporcionada.
- Explicar cómo se relacionan las acciones de servicios externos con la definición del esquema dentro de su especificación de API.
- Encontrar sus acciones de servicios externos en la caja de herramientas de Flow Builder.
- Crear un flujo sencillo con sus acciones de servicios externos.
Requisitos
Antes de tomar esta insignia, le recomendamos que complete lo siguiente.
- Finalice el módulo Servicios externos. Este módulo proporciona una visión general de alto nivel de los servicios externos.
Crear un nuevo Trailhead Playground
En este proyecto, tendrá que crear un nuevo Trailhead Playground. Desplácese hasta la parte inferior de esta página, haga clic en la flecha hacia abajo situada junto a Launch (Iniciar) y seleccione Create Playground (Crear Playground). La creación de un nuevo Trailhead Playground suele tardar entre 3 y 4 minutos.
Introducción
En el módulo Servicios externos, vio cómo puede usarse una API bancaria basada en REST para definir un esquema. Ahora utilicemos ese ejemplo para ofrecer una experiencia más personalizada a su banco ficticio. Y, a continuación, mostraremos cómo puede utilizarse Salesforce para realizar un seguimiento de la actividad de ventas en cuentas bancarias.
El nuevo proceso empresarial del banco deberÃa permitir a los representantes bancarios añadir cuentas desde Salesforce. Debe garantizar que los detalles de la cuenta bancaria, como el tipo de cuenta y el ID de cuenta, se sincronicen entre el registro de usuarios de Salesforce y el servicio backend del banco. Varios representantes añadirán cuentas. Por lo tanto, su lógica de negocio debe poder comprobar si existe una cuenta bancaria o crear una nueva.
Para automatizar este proceso, va a registrar el servicio web del banco como un servicio externo. Una vez registrado su servicio bancario, las operaciones de API de la cuenta del servicio (añadir, actualizar, recuperar) son visibles y accesibles para su uso dentro de Salesforce con la herramienta Flow Builder.
Llegados a este punto, ¡ya tiene todo lo que necesita! Cree un flujo que añada automáticamente una cuenta bancaria nueva o que actualice los datos de una cuenta bancaria existente. Y este enviará la información nueva del servicio bancario a Salesforce cada vez que un representante acceda a la cuenta.
Pasos para completar este flujo
Antes de empezar, fijémonos en las etapas y la lógica para ver cómo fluye la información. FÃjese en los cinco pasos que se realizan para completar este flujo.
-
Screen (Pantalla): Bank Account Record (Registro de cuentas bancarias). Captura el nombre y el tipo de cuenta a partir de la información que el representante del banco introduce en la pantalla.
-
Action (Acción): Add Bank Account (Añadir cuenta bancaria). Tras haber registrado en los servicios externos la especificación de la API del servicio bancario, todas las operaciones de la API definidas en nuestra especificación están ahora disponibles para usar dentro del flujo como acciones coincidentes. Utilizamos una acción addAccount y especificamos las entradas y salidas de la API que asignamos a las variables que se utilizarán entre la organización Salesforce y el servicio bancario.
-
Decision (Decisión): Bank Account Updated? (¿Se actualiza la cuenta bancaria?). La lógica evalúa si existe una cuenta bancaria y hay que actualizarla, o crea una nueva cuenta bancaria si es necesario.
-
Assignment (Asignación): Assign Existing Bank Account ID (Asignar ID de cuenta bancaria existente). Si hay una cuenta bancaria, asigna el account ID (ID de cuenta) de la cuenta bancaria y utiliza este valor para actualizar la cuenta del usuario de Salesforce.
-
Update Records (Actualizar registros): Update Salesforce User Record (Actualizar el registro de usuarios de Salesforce). Si el apellido del usuario de Salesforce coincide con un registro de cuenta bancaria, nuestro flujo actualiza el registro de usuario de Salesforce con el tipo de cuenta y el ID de cuenta del banco. Si no se encuentra ninguna coincidencia de apellido en el servicio bancario y se crea un nuevo registro de cuenta bancaria, entonces actualiza el registro de usuario de Salesforce (si existe un nombre coincidente en Salesforce) con el tipo de cuenta y el ID de cuenta nuevos.
Vea en este vÃdeo un recorrido detallado por todo el proyecto, de principio a fin.
Credenciales con nombre y acceso a puntos finales
En el módulo Servicios externos, vimos las especificaciones de las API y cómo serÃa una válida y compatible para los servicios externos. Además de un esquema válido y compatible, necesita una forma sencilla de proteger su servicio web externo y su organización de Salesforce. Para esta tarea, puede utilizar credenciales con nombres para autenticar sus llamadas a los puntos finales del servicio bancario.
Normalmente, el proveedor de servicios web externo suministra los elementos para una credencial con nombre. Estos elementos incluyen tanto la URL de un punto final de llamada como sus parámetros de autenticación requeridos. En la insignia External Services (Servicios externos), descubrió que las especificaciones de la API contienen la información del punto final y los parámetros de autenticación para los servicios web de API basados en REST. Esta información la utilizará para definir una credencial con nombre para su organización.
- En Setup (Configuración), introduzca
Named Credentials
(Credenciales con nombre) en el recuadro Quick Find (Búsqueda rápida) y seleccione Named Credentials (Credenciales con nombre).
- En el menú desplegable situado junto al botón New (Nuevo), seleccione New Legacy (Nuevo legado).
- En Label (Etiqueta), introduzca
Bank
(Banco).
- En Name (Nombre), introduzca
Bank
(en inglés).
- En URL, introduzca
https://th-external-services.herokuapp.com
. - Deje el resto de los campos como estén y haga clic en Save (Guardar).
Tenga en cuenta que, en un ejemplo real, también establecerÃa Authentication Protocol (Protocolo de autenticación) en Named Credentials (Credenciales con nombre) y especificarÃa su definición de Auth Provider (Proveedor de autenticación), ambos configurados en Setup (Configuración).
Registre su servicio web mediante el asistente de servicios externos
Ahora que dispone de una especificación de API válida, añadir el servicio externo bancario en External Services (Servicios externos) indica a Salesforce cómo interactúa.
- En Setup (Configuración), introduzca
External Services
(Servicios externos) en el cuadro Quick Find (Búsqueda rápida) y seleccione External Services (Servicios externos).
- Haga clic en Add an External Service (Añadir un servicio externo).
- En la página Select an API Source (Seleccionar una fuente de API), seleccione From API Specification (De especificación de API).
- Haga clic en Next (Siguiente).
- En External Service Name (Nombre del servicio externo), introduzca
BankService
(sin espacios).
- En Select a Named Credential (Seleccionar una credencial con nombre), elija Bank (la credencial con nombre que acabamos de crear).
- En Service Schema (Esquema de servicios), seleccione Relative URL (URL relativa).
- En URL, introduzca
/accounts/schema
. Esta cadena se añade a la credencial con nombre que acabamos de crear. Es la URL relativa que apunta a la especificación de la API. Juntas, forman la URL completa de nuestro proveedor de servicios. Por ejemplo: https://th-external-services.herokuapp.com/accounts/schema.
- Haga clic en Save & Next (Guardar y siguiente).
- Seleccione todas las operaciones.
- Haga clic en Next (Siguiente). Aparece una lista de acciones de servicios externos. Estas acciones están ahora a su disposición en Flow Builder. Utilice la barra de desplazamiento para verlas todas. Las operaciones de su especificación de API se han convertido ahora en acciones que se pueden iniciar en Salesforce.
- Haga clic en Finish (Finalizar).
Aquà tiene un ejemplo de la página External Service Actions (Acciones de servicios externos).
También puede ver la lista de acciones haciendo clic en BankService en el menú principal External Services (Servicios externos).
Veamos 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.
- Existen también varios parámetros de salida para la acción getAccount. Los códigos (por ejemplo, 200) se correlacionan con códigos de respuesta especÃficos definidos en la especificación de la API. Hablaremos más sobre esto en la unidad siguiente, pero también puede ver estas definiciones con un formato atractivo en Swagger Editor al validar el esquema de la especificación de la API.
A continuación, creará un flujo sencillo y aprenderá a encontrar las acciones en la paleta Flow (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