Salesforce
Adobe Experience Platform permite la ingesta de datos desde fuentes externas, al tiempo que le ofrece la capacidad de estructurar, etiquetar y mejorar los datos entrantes mediante los servicios de Platform. Puede introducir datos de una variedad de fuentes, como aplicaciones de Adobe, almacenamiento basado en la nube, bases de datos y muchas otras.
El Experience Platform proporciona asistencia para la ingesta de datos desde un sistema CRM de terceros. La compatibilidad con proveedores CRM incluye Salesforce.
Configurar el origen de Salesforce para el Experience Platform en Azure azure
Siga los pasos a continuación para aprender a configurar su cuenta de Salesforce para Experience Platform en Azure.
LISTA DE PERMITIDOS de direcciones IP
Se debe agregar una lista de direcciones IP a una lista de permitidos antes de trabajar con conectores de origen. Si no se agregan las direcciones IP específicas de la región a la lista de permitidos, pueden producirse errores o no rendimiento al utilizar fuentes. Consulte la página lista de permitidos de direcciones IP para obtener más información.
Asignación de campos de Salesforce a XDM
Para establecer una conexión de origen entre Salesforce y Platform, los campos de datos de origen de Salesforce deben asignarse a sus campos XDM de destino adecuados antes de introducirse en Platform.
Consulte lo siguiente para obtener información detallada sobre las reglas de asignación de campos entre Salesforce conjuntos de datos y Platform:
Configurar el espacio de nombres Salesforce y la utilidad de generación automática de esquemas
Para usar el origen Salesforce como parte de B2B-CDP, primero debe configurar una utilidad Postman para generar automáticamente los esquemas y áreas de nombres de Salesforce. La siguiente documentación proporciona información adicional sobre la configuración de la utilidad Postman:
- Puede descargar la colección de utilidades de generación automática de esquemas y áreas de nombres desde este repositorio de GitHub.
- Para obtener información sobre el uso de las API de Platform, incluidos detalles sobre cómo recopilar valores para los encabezados necesarios y leer llamadas de API de ejemplo, consulte la guía sobre introducción a las API de Platform.
- Para obtener información sobre cómo generar las credenciales de las API de Platform, consulte el tutorial sobre autenticación y acceso a las API de Experience Platform.
- Para obtener información sobre cómo configurar Postman para las API de Platform, consulte el tutorial sobre configuración de la consola para desarrolladores y Postman.
Con una consola de desarrollador de Platform y Postman configuradas, ahora puede empezar a aplicar los valores de entorno apropiados a su entorno Postman.
La siguiente tabla contiene valores de ejemplo, así como información adicional sobre cómo rellenar el entorno Postman:
table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 6-row-3 7-row-3 8-row-3 9-row-3 10-row-3 11-row-3 12-row-3 13-row-3 14-row-3 15-row-3 16-row-3 17-row-3 layout-auto | ||
---|---|---|
Variable | Descripción | Ejemplo |
CLIENT_SECRET |
Un identificador único usado para generar su {ACCESS_TOKEN} . Consulte el tutorial sobre autenticación y acceso a las API de Experience Platform para obtener información sobre cómo recuperar su {CLIENT_SECRET} . |
{CLIENT_SECRET} |
JWT_TOKEN |
El token web JSON (JWT) es una credencial de autenticación utilizada para generar su {ACCESS_TOKEN}. Consulte el tutorial sobre autenticación y acceso a las API de Experience Platform para obtener información sobre cómo generar su {JWT_TOKEN} . |
{JWT_TOKEN} |
API_KEY |
Identificador único utilizado para autenticar llamadas a las API de Experience Platform. Consulte el tutorial sobre autenticación y acceso a las API de Experience Platform para obtener información sobre cómo recuperar su {API_KEY} . |
c8d9a2f5c1e03789bd22e8efdd1bdc1b |
ACCESS_TOKEN |
El token de autorización necesario para completar las llamadas a las API de Experience Platform. Consulte el tutorial sobre autenticación y acceso a las API de Experience Platform para obtener información sobre cómo recuperar su {ACCESS_TOKEN} . |
Bearer {ACCESS_TOKEN} |
META_SCOPE |
Con respecto a Marketo, este valor es fijo y siempre se establece en: ent_dataservices_sdk . |
ent_dataservices_sdk |
CONTAINER_ID |
El contenedor global contiene todas las clases, los grupos de campos de esquema, los tipos de datos y los esquemas proporcionados por el Adobe estándar y el socio de Experience Platform. Con respecto a Marketo, este valor es fijo y siempre se establece en global . |
global |
PRIVATE_KEY |
Credencial utilizada para autenticar su instancia de Postman en las API de Experience Platform. Consulte el tutorial sobre la configuración de la consola de desarrolladores y configuración de la consola de desarrolladores y Postman para obtener instrucciones sobre cómo recuperar su {PRIVATE_KEY}. | {PRIVATE_KEY} |
TECHNICAL_ACCOUNT_ID |
Credencial utilizada para integrarse en el Adobe I/O. | D42AEVJZTTJC6LZADUBVPA15@techacct.adobe.com |
IMS |
El sistema de Identity Management (IMS) proporciona el marco para la autenticación en los servicios de Adobe. Con respecto a Marketo, este valor es fijo y siempre se establece en: ims-na1.adobelogin.com . |
ims-na1.adobelogin.com |
IMS_ORG |
Una entidad corporativa que puede poseer o licenciar productos y servicios y permitir el acceso a sus miembros. Consulte el tutorial sobre configuración de la consola para desarrolladores y Postman para obtener instrucciones sobre cómo recuperar la información de {ORG_ID} . |
ABCEH0D9KX6A7WA7ATQE0TE@adobeOrg |
SANDBOX_NAME |
Nombre de la partición de zona protegida virtual que está utilizando. | prod |
TENANT_ID |
ID que se utiliza para garantizar que los recursos que crea tengan un espacio de nombres correcto y estén contenidos en su organización. | b2bcdpproductiontest |
PLATFORM_URL |
El extremo URL al que realiza llamadas de API. Este valor es fijo y siempre se establece en: http://platform.adobe.io/ . |
http://platform.adobe.io/ |
munchkinId |
Identificador exclusivo de su cuenta de Marketo. Vea el tutorial sobre autenticación de su Marketo instancia para obtener información sobre cómo recuperar su munchkinId . |
123-ABC-456 |
sfdc_org_id |
Identificador de organización de su cuenta de Salesforce. Consulte la siguiente Salesforce guía para obtener más información sobre cómo adquirir su ID de organización Salesforce. | 00D4W000000FgYJUA0 |
has_abm |
Un valor booleano que indica si está suscrito a Marketo Account-Based Marketing. | false |
has_msi |
Un valor booleano que indica si está suscrito a Marketo Sales Insight. | false |
Ejecutar los scripts
Con la colección y el entorno Postman configurados, ahora puede ejecutar el script a través de la interfaz Postman.
En la interfaz Postman, seleccione la carpeta raíz de la utilidad autogenerador y, a continuación, seleccione Run en el encabezado superior.
Aparecerá la interfaz Runner. Aquí, asegúrese de que todas las casillas de verificación estén seleccionadas y luego seleccione Run Namespaces and Schemas Autogeneration Utility.
Una solicitud correcta crea los espacios de nombres y esquemas B2B según las especificaciones beta.
Configurar el origen de Salesforce para el Experience Platform en Amazon Web Service aws
Siga los pasos a continuación para aprender a configurar su cuenta de Salesforce para Experience Platform en Amazon Web Service (AWS).
Requisitos previos
Para conectar su cuenta de Salesforce al Experience Platform en una región de AWS, debe tener lo siguiente:
- Una cuenta de Salesforce con acceso a API.
- Un Salesforce Connected App que puede usar para habilitar el flujo de OAuth JWT_BEARER.
- Los permisos necesarios en Salesforce para tener acceso a los datos.
También debe agregar las siguientes direcciones IP a la lista de permitidos para conectar la cuenta de Salesforce al Experience Platform en Amazon Web Service (AWS):
34.193.63.59
44.217.93.240
44.194.79.229
Crear un(a) Salesforce Connected App
En primer lugar, utilice lo siguiente para crear un certificado/par clave de archivos PEM.
openssl req -newkey rsa:4096 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem
- En el panel Salesforce, seleccione la configuración (
- Vaya a App Manager y seleccione New Connection App.
- Asigne un nombre a la aplicación y permita que el resto de los campos se rellenen automáticamente.
- Habilite la casilla para Enable OAuth Settings.
- Establecer una URL de devolución de llamada. Dado que esto no se usará para JWT, puede usar
https://localhost
. - Habilite la casilla para Use Digital Signatures.
- Cargue el archivo cert.pem creado anteriormente.
Añadir los permisos necesarios
Añada los siguientes permisos:
- Administración de datos de usuario mediante API
- Acceso a permisos personalizados (custom_permissions)
- Acceso al servicio de URL de identidad (ID, perfil, correo electrónico, dirección, teléfono)
- Acceso a identificadores únicos (openid)
- Realizar solicitudes en cualquier momento (refresh_token, offline_access)
Una vez agregados los permisos, asegúrese de habilitar la casilla para Issue JSON Web Token (JWT)-based access tokens for named user.
A continuación, seleccione Save, Continue y luego Manage Customer Details. Utilice el panel de detalles del consumidor para recuperar lo siguiente:
- Clave de consumidor: Más adelante utilizará esta clave de consumidor como ID de cliente al autenticar su cuenta de Salesforce en el Experience Platform.
- Secreto de consumidor: Más adelante utilizará este secreto de consumidor como ID de cliente al autenticar su cuenta de Salesforce en el Experience Platform.
Autorizar al usuario Salesforce a la aplicación conectada
Siga los pasos a continuación para obtener autorización para utilizar la aplicación conectada:
- Vaya a Manage Connected Apps.
- Seleccione Edit.
- Configure Permitted Users como Admin approved users are pre-authorized y luego seleccione Save.
- Vaya a Settings> Manage Users >Profiles.
- Edite el perfil asociado al usuario.
- Vaya a Connected App Access y, a continuación, seleccione la aplicación que creó en un paso anterior.
Generar token de portador JWT
Siga los pasos a continuación para generar su token de portador JWT.
Convertir par clave en pkcs12
Para generar el token de portador de JWT, primero debe utilizar el siguiente comando para convertir el certificado/par de claves al formato pkcs12. Durante este paso, también debe establecer una contraseña de exportación cuando se le solicite.
openssl pkcs12 -export -in cert.pem -inkey key.pem -name jwtcert >jwtcert.p12
Crear un repositorio de claves Java basado en pkcs12
A continuación, utilice el siguiente comando para crear un repositorio de claves java basado en el pkcs12 que acaba de generar. Durante este paso, también debe especificar establecer una contraseña de almacén de claves de destino cuando se le solicite. Además, debe proporcionar la contraseña de exportación anterior como contraseña del almacén de claves de origen.
keytool -importkeystore -srckeystore jwtcert.p12 -destkeystore keystore.jks -srcstoretype pkcs12 -alias jwtcert
Confirme que keystroke.jks incluye un alias jwtcert
A continuación, use el comando follow para confirmar que su keystroke.jks
incluye un alias jwtcert
. Durante este paso, se le pedirá que proporcione la contraseña del almacén de claves de destino generada en el paso anterior.
keytool -keystore keystore.jks -list
Generar token firmado
Finalmente, utilice el ejemplo JWTE de clase java a continuación para generar el token firmado.
package org.example;
import org.apache.commons.codec.binary.Base64;
import java.io.*;
import java.security.*;
import java.text.MessageFormat;
public class Main {
public static void main(String[] args) {
String header = "{\"alg\":\"RS256\"}";
String claimTemplate = "'{'\"iss\": \"{0}\", \"sub\": \"{1}\", \"aud\": \"{2}\", \"exp\": \"{3}\"'}'";
try {
StringBuffer token = new StringBuffer();
//Encode the JWT Header and add it to our string to sign
token.append(Base64.encodeBase64URLSafeString(header.getBytes("UTF-8")));
//Separate with a period
token.append(".");
//Create the JWT Claims Object
String[] claimArray = new String[5];
claimArray[0] = "{CLIENT_ID}";
claimArray[1] = "{AUTHORIZED_SALESFORCE_USERNAME}";
claimArray[2] = "{SALESFORCE_LOGIN_URL}";
claimArray[3] = Long.toString((System.currentTimeMillis() / 1000) + 2629746*4);
MessageFormat claims;
claims = new MessageFormat(claimTemplate);
String payload = claims.format(claimArray);
//Add the encoded claims object
token.append(Base64.encodeBase64URLSafeString(payload.getBytes("UTF-8")));
//Load the private key from a keystore
KeyStore keystore = KeyStore.getInstance("JKS");
keystore.load(new FileInputStream("path/to/keystore"), "keystorepassword".toCharArray());
PrivateKey privateKey = (PrivateKey) keystore.getKey("jwtcert", "privatekeypassword".toCharArray());
//Sign the JWT Header + "." + JWT Claims Object
Signature signature = Signature.getInstance("SHA256withRSA");
signature.initSign(privateKey);
signature.update(token.toString().getBytes("UTF-8"));
String signedPayload = Base64.encodeBase64URLSafeString(signature.sign());
//Separate with a period
token.append(".");
//Add the encoded signature
token.append(signedPayload);
System.out.println(token.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
claimArray[0]
claimArray[0]
con su ID de cliente.claimArray[1]
claimArray[1]
con el nombre de usuario Salesforce autorizado para la aplicación.claimArray[2]
claimArray[2]
con la URL de inicio de sesión de Salesforce.claimArray[3]
claimArray[3]
con una fecha de caducidad formateada en milisegundos desde la hora epoch. Por ejemplo 3660624000000
es 31-12-2085./path/to/keystore
/path/to/keystore
por la ruta correcta de su keystore.jkskeystorepassword
keystorepassword
por su contraseña de almacén de claves de destino.privatekeypassword
privatekeypassword
por su contraseña de almacén de claves de origen.Pasos siguientes
Una vez que haya completado la configuración de los requisitos previos de su cuenta de Salesforce, puede continuar conectando su cuenta de Salesforce al Experience Platform e introduciendo los datos de CRM. Lea la documentación siguiente para obtener más información:
Conectar Salesforce a Platform mediante API
La siguiente documentación proporciona información sobre cómo conectar Salesforce a Platform mediante API o la interfaz de usuario: