Skip to content

Tag: Webhooks

Cargue datos mediante programaci贸n con la API de ingesta 鈽侊笍

Cargue datos mediante programaci贸n con la API de ingesta 鈽侊笍

Esta es una traducci贸n que desde EGA Futura ofrecemos como cortes铆a a toda la Ohana y comunidad de programadores , consultores , administradores y arquitectos de Salesforce para toda Iberoam茅rica .

El enlace a la publicaci贸n original, lo encontrar谩s al final de este art铆culo.

Cargue datos mediante programaci贸n con la API de ingesta | Blog de desarrolladores de Salesforce

Salesforce Data Cloud ofrece varios conectores predefinidos para la importaci贸n de datos. Estos le permiten conectar otra organizaci贸n de Salesforce, una instancia de Marketing Cloud, almacenamientos de datos como Amazon S3 o cualquier otra fuente admitida por MuleSoft Salesforce Data Cloud Connector . Para conectarse a un sistema de terceros, puede utilizar la API de ingesta .

La API de ingesta es una interfaz RESTful que facilita la carga de datos mediante programaci贸n en Data Cloud. Admite patrones de interacci贸n masiva y de transmisi贸n. El patr贸n de transmisi贸n usa JSON como su formato, cargando datos en micro lotes a trav茅s de la API REST. El patr贸n masivo, por otro lado, emplea el formato CSV y carga datos usando trabajos.

En esta publicaci贸n de blog, analizaremos c贸mo configurar el conector de la API de ingesta y comenzar a cargar datos mediante programaci贸n utilizando los patrones Streaming y Bulk.

Cu谩ndo usar la ingesti贸n Streaming vs Bulk

Ingesti贸n de transmisi贸n Ingesti贸n a granel
Al actualizar peque帽os microlotes de registros casi en tiempo real Al mover grandes vol煤menes de datos en un programa diario, semanal o mensual
Cuando se utilizan sistemas de origen de datos que se basan en arquitecturas de transmisi贸n modernas Al usar sistemas heredados, donde solo puede exportar datos durante las horas de menor actividad
Al crear eventos de captura de datos modificados Al usar una nueva organizaci贸n de Data Cloud que desea rellenar con 30, 60 o m谩s de 90 d铆as de datos
Al consumir datos de webhooks

Para configurar la API de ingesta, deber谩 seguir cuatro pasos de requisitos previos:

  • Crear un conector de API de ingesta
  • Crear e implementar un flujo de datos
  • Crear una aplicaci贸n conectada
  • Solicitar un token de acceso a la nube de datos

Veamos el proceso de creaci贸n y configuraci贸n de un conector de ingesta para comenzar a cargar datos en Data Cloud.

Creaci贸n de un conector de API de ingesta

Supongamos que tiene acceso a Data Cloud. Para conectar una nueva fuente de API de ingesta mediante el conector de API de ingesta, vaya a Configuraci贸n de nube de datos y seleccione API de ingesta .

Aqu铆 encontrar谩 todos los conectores disponibles en su organizaci贸n. Para crear uno nuevo, haga clic en Conectar y proporcione un nombre. Para nuestra aplicaci贸n de muestra, trabajaremos con una empresa de energ铆a solar ficticia. Estamos interesados en recibir eventos de m茅tricas relacionadas con el rendimiento energ茅tico de sus paneles solares.

Una vez que se haya creado el conector, necesitaremos decirle a Data Cloud qu茅 tipo de datos estamos esperando. Para esto, necesitaremos cargar un archivo de esquema utilizando la especificaci贸n OpenAPI. Este archivo de esquema tiene requisitos espec铆ficos, as铆 que aseg煤rese de consultar la documentaci贸n para obtener m谩s informaci贸n.

A continuaci贸n se muestra un ejemplo del archivo de esquema que cargaremos, que representa un solar_panel_event . Los campos clave a tener en cuenta incluyen event_id , que ser谩 煤nico para cada evento y luego se asignar谩 en Data Cloud como clave principal. Otro es customer_id , que nos ser谩 煤til para mapear el evento con un cliente de nuestra organizaci贸n. Finalmente, date_time representa la hora del evento.

panel_solar_event.yaml

Una vez que carguemos el esquema, podremos obtener una vista previa de sus campos y tipos de datos, y luego guardarlo en nuestro conector.

Ahora que nuestro conector tiene un esquema, podemos decir que est谩 creado. Sin embargo, a煤n no est谩 listo para comenzar a recibir datos. Necesitamos crear un flujo de datos para este prop贸sito.

Nota: Dado que los esquemas pueden evolucionar con el tiempo, tambi茅n puede usar la interfaz del conector de la API de ingesta para actualizar el esquema y agregar nuevos campos a su objeto de datos seg煤n sea necesario.

Creaci贸n e implementaci贸n de un flujo de datos

Ya tenemos listo nuestro conector API de ingesta. Ahora es el momento de establecer una conexi贸n para comenzar a importar datos. Para eso, necesitamos crear un flujo de datos . Una vez que el flujo de datos est谩 activo, podemos comenzar a ingerir datos en Data Cloud y almacenarlos como un objeto de Data Lake.

Para crear un nuevo flujo de datos, vaya a su pesta帽a en la aplicaci贸n Data Cloud, haga clic en Nuevo , seleccione Ingestion API y luego haga clic en Siguiente .

Nota: La opci贸n API de ingesta est谩 deshabilitada si no tiene ninguna fuente de ingesta conectada.

A continuaci贸n, ver谩 los diferentes objetos que est谩n asociados con su esquema. En nuestro caso, seleccione el objeto solar_panel_event y haga clic en Siguiente .

Al crear un flujo de datos, deber谩 seleccionar una categor铆a o tipo de datos en ese flujo de datos. Hay tres categor铆as: Compromiso , Perfil y Otro .

Compromiso Un conjunto de datos que representa un compromiso basado en series de tiempo, como un evento, interacci贸n con el cliente, interacci贸n web, etc.

Cuando se selecciona, el men煤 desplegable Campo de hora del evento aparece en la interfaz de usuario.

Perfil Un conjunto de datos que representa:

鈥 Una lista de consumidores con identificadores, como identificaciones de consumidores, direcciones de correo electr贸nico o n煤meros de tel茅fono

鈥 Una lista de empresas o cuentas con ID de cuenta

鈥 Una lista de empleados o cualquier otra poblaci贸n por la que desee segmentar o utilizar como poblaci贸n inicial del segmento

Otro Un conjunto de datos que no es un compromiso o un perfil, como informaci贸n de productos o tiendas.

Para nuestro ejemplo, dado que estamos planeando recibir eventos, seleccionaremos Compromiso . Mapearemos el event_id como la clave principal y la date_time como el campo de hora del evento.

Ahora que nuestros datos est谩n configurados, es hora de implementarlos. Despu茅s de revisar los flujos de datos que se van a crear, hagamos clic en Implementar para activarlos.

Ahora, echemos un vistazo a la p谩gina de detalles del flujo de datos. Aqu铆 podemos ver el objeto Data Lake que se ha creado en Data Cloud. Puede identificar un objeto de Data Lake por su sufijo __dll . Desde esta misma interfaz, puede comenzar a asignar sus datos a los objetos de su organizaci贸n para crear objetos de modelo de datos (parte del proceso de armonizaci贸n de Data Cloud). Sin embargo, no cubriremos ese tema en esta publicaci贸n de blog, pero tenemos un excelente video con Danielle Larregui que le muestra c贸mo hacerlo.

Nuestro conector API de ingesta est谩 listo para comenzar a recibir datos de sistemas de terceros. Para confirmar, regresemos a la interfaz de configuraci贸n de la API de ingesta, donde puede ver que el estado del conector es En uso .

Creaci贸n de una aplicaci贸n conectada

La API de ingesta admite todos los flujos de OAuth 2.0 admitidos por otras API REST de Salesforce. Para cargar datos mediante la API de ingesta, su aplicaci贸n conectada requiere los siguientes 谩mbitos:

脕mbitos de OAuth requeridos

cdp_ingest_api Acceda y administre sus datos de API de ingesta de nube de datos
API Accede y administra tus datos
refresco_token, acceso_sin conexi贸n Realizar solicitudes en su nombre en cualquier momento

Adem谩s, nuestra aplicaci贸n conectada requerir谩 un certificado digital. Para crear uno, puede ejecutar el siguiente comando usando el comando openssl :

Este comando crear谩 dos archivos, salesforce.key , que es la clave privada, y salesforce.crt , que es la clave p煤blica.

Nota : si no tiene instalado el comando openssl , puede instalarlo desde el sitio web de OpenSSL .

Para saber c贸mo crear una aplicaci贸n conectada, consulte la documentaci贸n oficial.

Solicitud de un token de acceso a la nube de datos

Para este ejemplo, usaremos el flujo de soporte JWT de OAuth 2.0 . Primero, necesitaremos crear un JWT (JSON Web Token) para solicitar un token de acceso.

Para crear un JWT, configurar谩 el encabezado para usar el algoritmo RSA256 .

Encabezado JWT

Luego, configure las siguientes notificaciones, teniendo en cuenta algunas notificaciones importantes:

  • iss: la clave de consumidor de OAuth/ID de cliente de su aplicaci贸n conectada
  • sub: el nombre de usuario de su organizaci贸n de Data Cloud
  • exp: el tiempo de vencimiento del token, expresado como una marca de tiempo de 茅poca

reclamos JWT

Nota : La 茅poca de Unix (o la hora de Unix o la hora POSIX o la marca de tiempo de Unix) es la cantidad de segundos que han transcurrido desde el 1 de enero de 1970 (medianoche UTC/GMT).

A continuaci贸n, deber谩 utilizar el algoritmo JWT para obtener el token completo y verificado.

Pero seamos honestos, no queremos crear un JWT manualmente. Para esto, utilizaremos el sitio web JWT.io para simplificar el proceso. Aseg煤rese de que el mensaje Firma verificada aparezca a continuaci贸n, lo que indica que nuestro JWT es v谩lido.

O puede crearlo program谩ticamente usando el lenguaje de programaci贸n de su elecci贸n. M谩s adelante en este art铆culo, compartir茅 un pr谩ctico script de Node.js para generar el token de acceso a la nube de datos.

Antes de que podamos autenticarnos usando el JWT que generamos, debemos aprobar este consumidor. Puede hacerlo abriendo la siguiente URL en su navegador.

<dx-code-block title language code-block="https://login.salesforce.com/services/oauth2/authorize?response_type=token&client_id=&redirect_uri=”>

Y luego, inicie sesi贸n y permita el acceso:

Ahora que hemos aprobado nuestro JWT, necesitamos autenticarnos. Este es un proceso de dos pasos. Primero, necesitamos obtener un token de acceso usando el JWT. Para hacer esto, realicemos una solicitud POST HTTP con la siguiente informaci贸n.

<dx-code-block title language code-block="POST https://login.salesforce.com/services/oauth2/token
Content-Type : x-www-form-urlencoded
grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer
&assertion=”>

Nota: aseg煤rese de reemplazar <JWT> con el token que creamos anteriormente.

Esta solicitud nos dar谩 un token de acceso central y la URL de la instancia de Data Cloud, utilizando nuestra aplicaci贸n conectada. Como se muestra en el alcance , se nos otorgan los alcances cdp_ingest_api y api .

A continuaci贸n, debemos cambiar el token de acceso principal por un token de nube de datos. Para hacer eso, realicemos la siguiente solicitud POST.

<dx-code-block title language code-block="POST /services/a360/token Content-Type : x-www-form-urlencoded grant_type=urn:salesforce:grant-type:external:cdp &subject_token= &subject_token_type=urn:ietf:params:oauth:token-type:access_token”>

Ahora, estamos autenticados. El token de acceso a la nube de datos resultante es lo que usaremos para realizar solicitudes a la API de ingesta.

Para simplificar el proceso, he creado un script Node.js. Crea el JWT y realiza la autenticaci贸n en dos pasos. Para usarlo, necesitar谩 la clave privada que cre贸 anteriormente, as铆 como un archivo de configuraci贸n similar al siguiente.

config.js

Adem谩s, instale la dependencia jsonwebtoken desde npm ejecutando:

credenciales.js

console.log(auth)) .catch((err) => console.error(err)); “>

El m茅todo generateAccessToken devolver谩 el objeto de autenticaci贸n de Data Cloud, incluido el access_token y la instance_url necesarios para comenzar a ingerir datos en Data Cloud.

Ingesta de datos

Tenemos toda la informaci贸n necesaria para comenzar a ingerir datos en la nube de datos. Esto se puede lograr utilizando los patrones Streaming o Bulk.

Transmisi贸n

Para comenzar a transmitir datos en el conector de Ingesti贸n de nube de datos, primero obtenga el nombre del conector y el nombre del objeto de la configuraci贸n del conector de la API de Ingesti贸n. Para hacer esto, puede realizar una solicitud POST como la siguiente.

<dx-code-block title language code-block="POST https:///api/v1/ingest/sources/Solar_Panel_Events/solar_panel_event
Authorization: Bearer
Content-Type: application/json
{ "data": [ {"event_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479","customer_id": "003R00000123456789","battery": 75.2,"dc_current": 9.8,"dc_voltage": 35.6,"mpp_energy": 120.5,"ac_voltage": 220.1,"ac_current": 5.3,"date_time": "2023-07-07T10:15:30.05Z"} ] }”>

Nota : aseg煤rese de reemplazar <token de acceso a la nube de datos> y <url de instancia> con los valores respectivos que obtuvo del proceso de autenticaci贸n.

Si todo va bien, recibir谩s la siguiente respuesta:

Esto indica que nuestros datos han sido aceptados con 茅xito.

Nota : tambi茅n puede validar los datos con el esquema antes de enviarlos agregando /actions/test al punto final de la API.

A granel

La ingesti贸n masiva implica varios pasos, lo que agrega un nivel de complejidad al proceso:

  • Crear un trabajo: este paso implica crear un trabajo para especificar el tipo de objeto de los datos que se procesan y la operaci贸n que se realizar谩, que puede ser upsert o delete.
  • Cargar los datos en CSV: Despu茅s de crear el trabajo, el siguiente paso es cargar los datos en formato CSV. El archivo CSV debe contener los datos que se procesar谩n, con cada fila representando un registro y las columnas que contienen los valores de campo.
  • Indicar la preparaci贸n de los datos: una vez que se cargan los datos, deber谩 indicar que los datos est谩n listos para ser procesados.
  • Cerrar o cancelar el trabajo: despu茅s de procesar los datos, puede cerrar el trabajo para marcarlo como completado o cancelar el trabajo si es necesario.

Para obtener m谩s informaci贸n sobre c贸mo usar los puntos de conexi贸n masivos, puede consultar la documentaci贸n oficial .

Puede consultar los datos entrantes utilizando el Explorador de datos en Data Cloud. All铆, seleccionar谩 el objeto Data Lake correspondiente al conector de ingesta que cre贸 anteriormente.

Si desea probarlo usted mismo, siempre puede utilizar nuestra colecci贸n Postman de desarrolladores de Salesforce, que incluye las API de Salesforce Data Cloud .

Conclusi贸n

Ahora, est谩 listo para comenzar a cargar datos mediante programaci贸n en Data Cloud mediante la API de ingesta. Siguiendo los pasos anteriores, puede conectarse sin problemas a varias fuentes de datos e importar datos en tiempo real o en masa, y comenzar a aprovechar el poder y la magia de Salesforce Data Cloud.

Adem谩s, si prefiere aprender de un video, mi colega Aditya ha creado un video 煤til que explica lo que hemos cubierto en esta publicaci贸n de blog . Aseg煤rese de ver tambi茅n los otros excelentes videos de la serie Data Cloud Decoded .

Recursos

Sobre los autores

Juli谩n Duque es un defensor principal de desarrolladores en Salesforce, donde se enfoca en Node.js, JavaScript y desarrollo backend. Le apasiona la educaci贸n y el intercambio de conocimientos y ha estado involucrado en la organizaci贸n de comunidades tecnol贸gicas y de desarrolladores desde 2001.

S铆galo @julianduque en Threads, @julian_duque en Twitter, @julianduque.co en Bluesky social o LinkedIn .

Aditya Naag Topalli es una defensora de desarrolladores l铆der certificada 14 veces en Salesforce. Capacita e inspira a los desarrolladores dentro y fuera del ecosistema de Salesforce a trav茅s de sus videos, seminarios web, publicaciones de blog y contribuciones de c贸digo abierto, y tambi茅n habla con frecuencia en conferencias y eventos en todo el mundo. S铆galo en Twitter o LinkedIn y vea sus contribuciones en GitHub .

Obtenga las 煤ltimas publicaciones de blog de desarrolladores de Salesforce y episodios de podcast a trav茅s de Slack o RSS.

Agregar a Slack Suscr铆bete a RSS

Continue reading

Comenzando con Acciones Externas 鈽侊笍

Comenzando con Acciones Externas 鈽侊笍

Esta es una traducci贸n que desde EGA Futura ofrecemos como cortes铆a a toda la Ohana y comunidad de programadores , consultores , administradores y arquitectos de Salesforce para toda Iberoam茅rica .

El enlace a la publicaci贸n original, lo encontrar谩s al final de este art铆culo.

Introducci贸n a las acciones externas | Blog de desarrolladores de Salesforce

Tuve excelentes conversaciones con clientes y socios en Connections este a帽o, as铆 como a trav茅s de la comunidad Trailblazer de MC Account Engagement , con respecto a las acciones externas de Account Engagement . Segu铆a surgiendo una pregunta: "驴C贸mo empiezo con las acciones externas?" En esta publicaci贸n, aprender谩 qu茅 son las acciones externas, c贸mo configurarlas y c贸mo probarlas. Adem谩s, sintonice una pr贸xima sesi贸n de codeLive el 20 de julio a las 10 a. m. PT , donde realizar茅 una demostraci贸n de codificaci贸n en vivo para mostrarle c贸mo crear una acci贸n externa y responder sus preguntas.

驴Qu茅 son las Acciones Externas?

Las acciones externas son una parte clave deMarketing App Extensions , ya que proporcionan una forma de desencadenar una acci贸n en un sistema externo. El otro componente es Actividades externas, que proporciona una forma de activar la automatizaci贸n de la participaci贸n de la cuenta en funci贸n de un evento de participaci贸n que ocurre en un sistema externo. Piense en ello como las dos caras de una moneda, las acciones se activan, las actividades se activan. Combinadas, forman una aplicaci贸n de extensibilidad de automatizaci贸n para un servicio, por lo que puede tener una extensi贸n de aplicaci贸n de marketing por SMS, por ejemplo.

Por este motivo, las acciones externas se empaquetan en una extensi贸n de aplicaci贸n de marketing. En el momento de escribir este art铆culo, las actividades externas a煤n no se pueden empaquetar, pero eventualmente tambi茅n se empaquetar谩n en la extensi贸n de la aplicaci贸n de marketing.

Si desea conectar una aplicaci贸n de terceros para automatizar la ejecuci贸n de una acci贸n de prospecto en ese sistema, entonces esta es definitivamente la funci贸n para usted. En esta publicaci贸n, profundizaremos en el lado de la acci贸n externa de las extensiones de aplicaciones de marketing.

驴Cu谩les son algunos buenos casos de uso para las acciones externas?

Bueno, si me preguntan, 隆dir铆a absolutamente todo! Puede que est茅s pensando: 鈥溌laro, todo el mundo dice eso!鈥. Sin embargo, las posibilidades que desbloquean las acciones externas son realmente amplias. Si alguna vez ha dicho: "Me gustar铆a que cuando un prospecto llegue a este paso, yo pudiera <insertar deseo aqu铆>", entonces deseaba una acci贸n externa.

Puede usar una acci贸n externa para registrarse en un seminario web de Zoom desde Account Engagement (consulte el ejemplo en GitHub ). Tambi茅n puede usar una acci贸n externa para enviar un mensaje SMS a trav茅s de Twilio, que presentamos en una publicaci贸n de blog anterior . Incluso puedes usar acciones externas con webhooks; Us茅 la funci贸n de captura de webhook de Zapier para crear una acci贸n externa que usaba un cliente potencial como desencadenante de un Zap.

驴Qu茅 constituye una acci贸n externa?

Una acci贸n externa consta de una acci贸n invocable de Apex, metadatos de la extensi贸n de la aplicaci贸n de marketing, metadatos de una acci贸n externa y una forma de gestionar la autenticaci贸n. Los metadatos para las extensiones de la aplicaci贸n de marketing y las actividades externas conectan la acci贸n invocable con la participaci贸n de la cuenta. Los componentes que se usar谩n para la autenticaci贸n pueden variar seg煤n el tipo de autenticaci贸n que admita el servicio. Como OAUTH 2.0 es bastante com煤n, el componente que uso m谩s es un proveedor de autorizaci贸n y Credenciales con nombre . Las credenciales con nombre tambi茅n facilitan la administraci贸n de la autenticaci贸n en mi c贸digo, y el sistema hace la mayor parte del trabajo.

驴Qu茅 habilidades necesito para trabajar con Acciones Externas?

Con una gran flexibilidad viene la complejidad, por lo que necesitar谩 algunas habilidades en ciertas 谩reas para construir con 茅xito una acci贸n externa. Los siguientes son temas clave de los que necesitar谩 una comprensi贸n b谩sica antes de abordar su propia acci贸n externa.

SLDC de Salesforce

Comprender el ciclo de vida del desarrollo de Salesforce es muy importante para tener 茅xito en general. Recomiendo aprender Visual Studio y el proceso de implementaci贸n de la CLI. No se necesita maestr铆a, solo lo b谩sico para poder empezar. Trailhead ofrece una ruta para ayudarlo a configurar su espacio de trabajo .

Documentaci贸n de la API REST

El patr贸n del que hablamos en este art铆culo se basa en las API REST JSON. Para comprender lo que es posible y recopilar las entradas pertinentes para una acci贸n externa, debe poder leer una especificaci贸n API. Consulte las especificaciones de la API de Account Engagement y Twilio .

Implementaci贸n de Apex y Apex

Apex Invocable Actions es mi forma preferida de codificar mis acciones externas, ya que me permite la mayor flexibilidad y control. Recomendar铆a, como m铆nimo, familiarizarse con la compilaci贸n y la implementaci贸n de c贸digo Apex mediante el proyecto Quick Start: Apex de Trailhead. Para obtener m谩s informaci贸n, encontr茅 煤til el trailmix de Apex Basics . No necesita convertirse en un experto, pero al menos debe estar lo suficientemente informado como para poder leer el c贸digo de la aplicaci贸n de referencia .

Flujo de Salesforce (opcional)

No necesita conocer Salesforce Flow para aprender Acciones externas. Sin embargo, es una herramienta de prueba muy poderosa para sus acciones externas, lo que facilita la creaci贸n de una interfaz de usuario para controlar las entradas durante la prueba. Si est谩 familiarizado con Engagement Studio, Flow ser谩 bastante f谩cil ya que tiene muchos de los mismos conceptos. Utilic茅 la ruta Crear flujos con Flow Builder para ponerme al d铆a. Otro beneficio de aprender Salesforce Flow es que abre la puerta a la creaci贸n de todo tipo de automatizaci贸n de procesos comerciales.

驴C贸mo debo configurar mi entorno de desarrollador?

Es importante configurar sus entornos de desarrollador y contar con las herramientas adecuadas antes de comenzar con las acciones externas. Yo uso las siguientes herramientas.

  • Postman : utilizo Postman para explorar una nueva API, por lo que puedo aprender a realizar una solicitud y responder de forma sencilla. Postman tambi茅n proporciona una manera f谩cil de generar ejemplos.
  • CLI de Visual Studio + Salesforce 鈥 Uso Visual Studio para codificar mi acci贸n invocable y la implemento en mi organizaci贸n de desarrollador. La mayor铆a de las veces, es simplemente copiar y pegar un ejemplo anterior y editarlo para mi nuevo caso de uso.
  • Entorno de desarrollador/sandbox : este es un entorno seguro para construir, desarrollar y empaquetar sus acciones externas. Tenga en cuenta que, en el momento de escribir este art铆culo, solo admitimos paquetes de primera generaci贸n (1GP) , por lo tanto, no configure su organizaci贸n de desarrollador como Dev Hub.
  • Salesforce Flow : personalmente me gusta usar ScreenFlows para probar una acci贸n invocable. Es bueno poder controlar completamente la entrada antes de conectarla a acciones externas y programas ES.
  • Consola de desarrollador de Salesforce : esto le permite ver r谩pidamente el c贸digo o ver los registros de sus pruebas de flujo de pantalla.

Patr贸n b谩sico para llamadas API REST con acciones externas

Si bien puede codificar acciones externas de muchas maneras, existe un patr贸n b谩sico que recomiendo al realizar llamadas a la API REST.

Las dos etiquetas que debe recordar son InvocableVariable , que define las entradas y salidas de la acci贸n invocable, e InvocableMethod , que es el m茅todo a llamar al ejecutar la acci贸n invocable. Puede ver c贸mo se aplican en el siguiente c贸digo de ejemplo.

Normalmente creo dos clases, una para la entrada y otra para la solicitud de API. Separar mi c贸digo en dos clases facilita jsonificar la carga 煤til. Mi clase de entrada contiene todos los campos de variables invocables que la acci贸n invocable necesita en la entrada. Mi solicitud de API contiene los campos de la solicitud JSON.

InvocableMethod construir谩 la carga 煤til a partir de la entrada, la convertir谩 a JSON y luego la agregar谩 a la solicitud HTTP. A continuaci贸n, configura el resto de la solicitud HTTP agregando la URL, los encabezados y el m茅todo. Finalmente, realiza la llamada a la API y comprueba si el resultado es correcto o, de lo contrario, genera un error 煤til para diagnosticar un problema.

Consideraci贸n importante: el marco de acci贸n externa espera que se devuelva un error si hay una falla en lugar de detectar el error y luego devolver el 茅xito. Si se devuelve un error, se informar谩 en la tabla de errores.

Poniendo a prueba tus acciones externas

De vez en cuando, mientras crea una acci贸n externa, encontrar谩 errores. Cuanto m谩s pueda probar sobre la marcha, m谩s f谩cil ser谩 descubrir d贸nde radica el problema. Es por eso que recomiendo agregar un paso de prueba para probar en Salesforce Flow antes de probar en Engagement Studio. Elimina la configuraci贸n de la acci贸n externa de la imagen, por lo que si la verifica aqu铆, pero no funciona en Engagement Studio, sabr谩 que el problema radica en la configuraci贸n de la acci贸n externa.

Las pruebas lo ayudan a identificar errores, pero determinar la causa ra铆z y corregirlos es otra cosa. A continuaci贸n se presentan algunas de las t茅cnicas que utilizo para diagnosticar las causas fundamentales.

  • Consola de desarrollador de Salesforce : utilizo la consola de desarrollo para ejecutar mis casos de prueba y confirmar la cobertura de mi c贸digo. Durante las pruebas exploratorias en Flow, mantengo abierta mi consola de desarrollo, por lo que genera registros para usar en la investigaci贸n de errores.
  • Rastreos de registro de Salesforce : si el error ocurre durante mi prueba de Engagement Studio, coloco un rastreo de usuario en el usuario de integraci贸n B2BMA, para poder ver mis registros de Apex y diagnosticar el problema m谩s a fondo. Tenga cuidado, podr铆a terminar con una gran cantidad de datos. El Usuario de Integraci贸n B2BMA es el usuario que ejecuta acciones externas.
  • Errores de acci贸n externa de compromiso de cuenta : la tabla proporciona cualquier error devuelto por la acci贸n externa que result贸 en una falla. Es 煤til ver lo que sucedi贸 durante una ejecuci贸n de ES.

SUGERENCIA: si tiene una cuenta de Gmail, puede usar un "+" para crear varios registros con su direcci贸n de correo electr贸nico. Por ejemplo, puedo registrar tanto "ejemplo@ejemplo.com" como "ejemplo+usuario2@ejemplo.com" como prospecto, y cualquier correo enviado a esas direcciones ir铆a al buz贸n de correo de ejemplo@ejemplo.com. Por ejemplo, us茅 esto para probar el ejemplo de registro de Zoom porque no quer铆a que el correo electr贸nico registrado rebotara.

Errores comunes

Los errores van a suceder, as铆 es la vida. Me he encontrado con algunos escenarios que me han hecho casi tirarme de los pelos.

El primero es garantizar que la acci贸n exterior sea activa. Si la acci贸n no aparece en Engagement Studio, es probable que esta sea la causa. Recuerde, debe activar tanto la extensi贸n de la aplicaci贸n de marketing como la acci贸n externa, adem谩s de asignarla a esa unidad comercial.

El siguiente es asegurarse de que su clase de Apex est茅 activa. La mayor铆a de las veces ya estar谩 marcado como activo, es el estado predeterminado cuando creas una nueva clase. Es exactamente por eso que es f谩cil pasarlo por alto.

Otro es buscar extensiones de aplicaciones de marketing al empaquetar. No puedo decirte cu谩ntas veces busco acciones externas, solo para tener un momento de confusi贸n antes de recordar.

Finalmente, si su acci贸n externa no funciona, pero no ve errores, verifique que la acci贸n invocable fue dise帽ada para generar un error en caso de falla.

Lo anterior no es de ninguna manera exhaustivo, y es probable que encuentre sus propias alegr铆as. Sin embargo, recomiendo compartirlos con la comunidad si encuentra algunos buenos.

驴Que estas esperando? 隆Empiece hoy!

Ahora sabe casi todo lo que hago sobre las acciones externas, desde c贸mo funciona la funci贸n hasta los errores comunes. Recuerde que Acciones externas es su herramienta siempre que se encuentre diciendo: "Me gustar铆a hacer algo cuando el cliente potencial haga esto", y lo ayudar谩 a automatizar esa acci贸n.

Entonces, configure su entorno de desarrollador, revise la aplicaci贸n de referencia y comience a construir su acci贸n externa hoy. El 20 de julio a las 10 a. m. (hora del Pac铆fico) , realizaremos una sesi贸n de CodeLive en nuestro canal de YouTube para desarrolladores de Salesforce , as铆 que 煤nase y s铆ganos mientras construimos una extensi贸n de la aplicaci贸n de marketing de Twilio.

Recursos

Sobre el Autor

Christopher Cornett es gerente s茅nior de productos en Salesforce, responsable de la experiencia del desarrollador de Account Engagement. Ha trabajado para Salesforce durante m谩s de cuatro a帽os y tiene m谩s de 13 a帽os de experiencia en gesti贸n de productos, trabajando principalmente en plataformas que van desde la atribuci贸n de big data hasta el fraude. Christopher ha ayudado a ofrecer API V5 y extensiones de aplicaciones de marketing, ayudando a los clientes a crear integraciones personalizadas para que su pila de marketing funcione para ellos. Le apasiona la experiencia del desarrollador y le encanta jugar con todas las excelentes funciones para ver qu茅 es posible.

Obtenga las 煤ltimas publicaciones de blog de desarrolladores de Salesforce y episodios de podcast a trav茅s de Slack o RSS.

Agregar a Slack Suscr铆bete a RSS

Continue reading

Use la API REST de Tableau con Postman para dise帽ar integraciones 鈽侊笍

Use la API REST de Tableau con Postman para dise帽ar integraciones 鈽侊笍

La pr贸xima vez que quiera hacer algo con Tableau, pero no pueda encontrar la manera con la interfaz de usuario, vaya a su confiable Postman Collection y pruebe algunos m茅todos a trav茅s de la API REST de Tableau.

La publicaci贸n Usar la API REST de Tableau con Postman para dise帽ar integraciones apareci贸 primero en el blog de desarrolladores de Salesforce .

Continue reading

Funciones interesantes de la plataforma de datos de clientes de Marketing Cloud para desarrolladores 鈽侊笍

La plataforma de datos de clientes (CDP) de Marketing Cloud existe desde hace un tiempo. Sin embargo, es posible que a煤n no est茅s familiarizado con 茅l. En nuestra publicaci贸n de blog anterior, discutimos la importancia de CDP en el contexto de Salesforce Genie. Esta publicaci贸n de blog lo guiar谩 a trav茅s de las funciones geniales que CDP tiene disponibles para los desarrolladores. [鈥

La publicaci贸n Caracter铆sticas interesantes de la plataforma de datos de clientes de Marketing Cloud para desarrolladores apareci贸 primero en el blog de desarrolladores de Salesforce .

Continue reading

Integraci贸n de Salesforce m谩s f谩cil y escalable con webhooks declarativos

脷ltima actualizaci贸n el 23 de agosto de 2022 por Rakesh Gupta 驴Qu茅 es un webhook? Cada vez que se conectan dos sistemas separados, pueden comunicarse entre s铆 a trav茅s de Internet mediante el env铆o y la recepci贸n de mensajes. Uno de los sistemas puede ser el sistema receptor y el otro el sistema emisor, pero a veces

La publicaci贸n Integraci贸n de Salesforce m谩s f谩cil y escalable con webhooks declarativos apareci贸 primero en Automation Champion .

Continue reading

Slack para desarrolladores de Salesforce 鈽侊笍

Con la adquisici贸n de Slack por parte de Salesforce, Salesforce est谩 logrando un objetivo importante: ayudar a las personas a trabajar desde cualquier lugar en este nuevo mundo totalmente digital. Los desarrolladores de Salesforce tienen la oportunidad de estar a la vanguardia de este mundo utilizando Slack para mostrar la informaci贸n que sus clientes necesitan en el momento que la necesitan. Los desarrolladores pueden ampliar su [鈥

La publicaci贸n Slack para desarrolladores de Salesforce apareci贸 primero en el Blog de desarrolladores de Salesforce .

Continue reading