Conéctese a destinos de marketing por correo electrónico basados en archivos y active los datos mediante la API de Flow Service
-
Para conectarse a un destino, necesita el Ver destinos y Administrar destinos permisos de control de acceso.
-
Para activar los datos, necesita el Ver destinos, Activar destinos, Ver perfiles, y Ver segmentos permisos de control de acceso.
-
Para exportar identidades, necesita el Ver gráfico de identidad permiso de control de acceso.
{width="100" modal="regular"}
Este tutorial muestra cómo utilizar la API de Flow Service para crear un archivo basado en destino de marketing por correo electrónico, cree un flujo de datos al destino recién creado y exporte los datos al destino recién creado mediante archivos CSV.
Este tutorial utiliza el Adobe Campaign destino en todos los ejemplos, pero los pasos son idénticos para los destinos de marketing por correo electrónico basados en archivos.
Si prefiere utilizar la interfaz de usuario de Platform para conectarse a un destino y activar datos, consulte la Conectar un destino y Activar datos de audiencia en destinos de exportación de perfiles por lotes tutoriales.
Introducción get-started
Esta guía requiere una comprensión práctica de los siguientes componentes de Adobe Experience Platform:
- Experience Data Model (XDM) System: El marco estandarizado mediante el cual Experience Platform organiza los datos de experiencia del cliente.
- Segmentation Service: Adobe Experience Platform Segmentation Service le permite crear audiencias en Adobe Experience Platform de su Real-Time Customer Profile datos.
- Sandboxes: Experience Platform proporciona zonas protegidas virtuales que dividen una sola Platform en entornos virtuales independientes para ayudar a desarrollar y evolucionar aplicaciones de experiencia digital.
Las secciones siguientes proporcionan información adicional que necesita conocer para activar datos en destinos por lotes en Platform.
Recopilar credenciales necesarias gather-required-credentials
Para completar los pasos de este tutorial, debe tener las siguientes credenciales listas, según el tipo de destino al que conecte y active las audiencias.
- Para Amazon S3 conexiones:
accessId
,secretKey
- Para Amazon S3 conexiones a Adobe Campaign:
accessId
,secretKey
- Para conexiones SFTP:
domain
,port
,username
,password
osshKey
(según el método de conexión a la ubicación FTP) - Para Azure Blob conexiones:
connectionString
accessId
, secretKey
para Amazon S3 conexiones y accessId
, secretKey
para Amazon S3 conexiones a Adobe Campaign son idénticos.Lectura de llamadas de API de muestra reading-sample-api-calls
Este tutorial proporciona llamadas de API de ejemplo para demostrar cómo dar formato a las solicitudes. Estas incluyen rutas, encabezados obligatorios y cargas de solicitud con el formato correcto. También se proporciona el JSON de muestra devuelto en las respuestas de la API. Para obtener información sobre las convenciones utilizadas en la documentación de las llamadas de API de ejemplo, consulte la sección sobre cómo leer llamadas de API de ejemplo en el Experience Platform guía de solución de problemas.
Recopilar valores para encabezados obligatorios y opcionales gather-values-headers
Para realizar llamadas a Platform API, primero debe completar el tutorial de autenticación. Al completar el tutorial de autenticación, se proporcionan los valores para cada uno de los encabezados obligatorios en todas las llamadas de API de Experience Platform, como se muestra a continuación:
- Autorización: Portador
{ACCESS_TOKEN}
- x-api-key:
{API_KEY}
- x-gw-ims-org-id:
{ORG_ID}
Recursos en Experience Platform se puede aislar a zonas protegidas virtuales específicas. En solicitudes a Platform API, puede especificar el nombre y el ID de la zona protegida en la que se realizará la operación. Son parámetros opcionales.
- x-sandbox-name:
{SANDBOX_NAME}
Todas las solicitudes que contienen una carga útil (POST, PUT, PATCH) requieren un encabezado de tipo de medios adicional:
- Tipo de contenido:
application/json
Documentación de referencia del API api-reference-documentation
Puede encontrar la documentación de referencia adjunta para todas las operaciones de API en este tutorial. Consulte la Documentación de la API de Flow Service en Adobe I/O. Le recomendamos que utilice este tutorial y la documentación de referencia de la API en paralelo.
Obtener la lista de destinos disponibles get-the-list-of-available-destinations
Como primer paso, debe decidir a qué destino activar los datos. Para empezar, realice una llamada a para solicitar una lista de destinos disponibles a los que pueda conectar y activar audiencias. Realice la siguiente solicitud de GET a connectionSpecs
extremo para devolver una lista de destinos disponibles:
Formato de API
GET /connectionSpecs
Solicitud
curl --location --request GET 'https://platform.adobe.io/data/foundation/flowservice/connectionSpecs' \
--header 'accept: application/json' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-api-key: {API_KEY}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Authorization: Bearer {ACCESS_TOKEN}'
Respuesta
Una respuesta correcta contiene una lista de destinos disponibles y sus identificadores únicos (id
). Almacene el valor del destino que planea utilizar, ya que será necesario en pasos adicionales. Por ejemplo, si desea conectarse y enviar audiencias a Adobe Campaign, busque el siguiente fragmento de código en la respuesta:
{
"id": "0b23e41a-cb4a-4321-a78f-3b654f5d7d97",
"name": "Adobe Campaign",
...
...
}
Para su referencia, la siguiente tabla contiene los ID de especificación de conexión para los destinos por lotes más utilizados:
0b23e41a-cb4a-4321-a78f-3b654f5d7d97
c1e44b6b-e7c8-404b-9031-58f0ef760604
a5e28ddf-e265-426e-83a1-9d03a3a6822b
f599a5b3-60a7-4951-950a-cc4115c7ea27
Conéctese a su Experience Platform datos connect-to-your-experience-platform-data
A continuación, debe conectarse a su Experience Platform datos, para que pueda exportar datos de perfil y activarlos en su destino preferido. Consta de dos subpasos que se describen a continuación.
- En primer lugar, debe realizar una llamada a para autorizar el acceso a los datos en Experience Platform, configurando una conexión base.
- A continuación, utilizando el ID de conexión base, realice otra llamada en la que cree un conexión de origen, que establece la conexión con su Experience Platform datos.
Autorizar el acceso a sus datos en Experience Platform
Formato de API
POST /connections
Solicitud
curl --location --request POST 'https://platform.adobe.io/data/foundation/flowservice/connections' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "Base connection to Experience Platform",
"description": "This call establishes the connection to Experience Platform data",
"connectionSpec": {
"id": "{CONNECTION_SPEC_ID}",
"version": "1.0"
}
}'
name
description
connectionSpec.id
8a9c3494-9708-43d7-ae3f-cda01e5030e1
.Respuesta
Una respuesta correcta contiene el identificador único de la conexión base (id
). Almacene este valor tal como se requiere en el siguiente paso para crear la conexión de origen.
{
"id": "1ed86558-59b5-42f7-9865-5859b552f7f4"
}
Conéctese a su Experience Platform datos connect-to-platform-data
Formato de API
POST /sourceConnections
Solicitud
curl --location --request POST 'https://platform.adobe.io/data/foundation/flowservice/sourceConnections' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "Connecting to Profile Store",
"description": "Optional",
"connectionSpec": {
"id": "{CONNECTION_SPEC_ID}",
"version": "1.0"
},
"baseConnectionId": "{BASE_CONNECTION_ID}",
"data": {
"format": "CSV",
"schema": null
},
"params" : {}
}'
name
description
connectionSpec.id
8a9c3494-9708-43d7-ae3f-cda01e5030e1
.baseConnectionId
data.format
CSV
es actualmente el único formato de exportación de archivos compatible.Respuesta
Una respuesta correcta devuelve el identificador único (id
) para la conexión de origen recién creada a Profile Store. Esto confirma que se ha conectado correctamente a su Experience Platform datos. Almacene este valor tal como se requiere en un paso posterior.
{
"id": "ed48ae9b-c774-4b6e-88ae-9bc7748b6e97"
}
Conectar con destino de lote connect-to-batch-destination
En este paso, está configurando una conexión al almacenamiento en la nube por lotes o al destino de marketing por correo electrónico deseados. Consta de dos subpasos que se describen a continuación.
- En primer lugar, debe realizar una llamada para autorizar el acceso a la plataforma de destino configurando una conexión base.
- A continuación, utilizando el ID de conexión base, realizará otra llamada en la que creará un conexión de destino, que especifica la ubicación de la cuenta de Storage a la que se enviarán los archivos de datos exportados, así como el formato de los datos que se exportarán.
Autorizar acceso al destino del lote authorize-access-to-batch-destination
Formato de API
POST /connections
Solicitud
La solicitud siguiente establece una conexión base con Adobe Campaign destinos. Según la ubicación de almacenamiento a la que desee exportar los archivos (Amazon S3, SFTP, Azure Blob), mantenga el adecuado auth
especificación y elimine las demás.
curl --location --request POST 'https://platform.adobe.io/data/foundation/flowservice/connections' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "S3 Connection for Adobe Campaign",
"description": "summer advertising campaign",
"connectionSpec": {
"id": "0b23e41a-cb4a-4321-a78f-3b654f5d7d97",
"version": "1.0"
},
"auth": {
"specName": "S3",
"params": {
"accessId": "{ACCESS_ID}",
"secretKey": "{SECRET_KEY}"
}
}
"auth": {
"specName": "SFTP with Password",
"params": {
"domain": "{DOMAIN}",
"host": "{HOST}",
"username": "{USERNAME}",
"password": "{PASSWORD}"
}
}
"auth": {
"specName": "SFTP with SSH Key",
"params": {
"domain": "{DOMAIN}",
"host": "{HOST}",
"username": "{USERNAME}",
"sshKey": "{SSH_KEY}"
}
}
"auth": {
"specName": "Azure Blob",
"params": {
"connectionString": "{AZURE_BLOB_CONNECTION_STRING}"
}
}
}'
Consulte las solicitudes de ejemplo siguientes para conectarse a otros destinos de marketing por correo electrónico y almacenamiento en la nube por lotes compatibles.
La solicitud siguiente establece una conexión base con Amazon S3 destinos.
code language-shell |
---|
|
La solicitud siguiente establece una conexión base con Azure Blob destinos.
code language-shell |
---|
|
La solicitud siguiente establece una conexión base con Oracle Eloqua destinos. En función de la ubicación de almacenamiento a la que desee exportar los archivos, conserve el auth
especificación y elimine las demás.
code language-shell |
---|
|
La solicitud siguiente establece una conexión base con Oracle Responsys destinos. En función de la ubicación de almacenamiento a la que desee exportar los archivos, conserve el auth
especificación y elimine las demás.
code language-shell |
---|
|
La solicitud siguiente establece una conexión base con Salesforce Marketing Cloud destinos. En función de la ubicación de almacenamiento a la que desee exportar los archivos, conserve el auth
especificación y elimine las demás.
code language-shell |
---|
|
La solicitud siguiente establece una conexión base a destinos SFTP.
code language-shell |
---|
|
name
description
connectionSpec.id
auth.specname
authSpec.name
en la respuesta.Por ejemplo, para destinos de Adobe Campaign, puede utilizar cualquiera de los siguientes
S3
, SFTP with Password
, o SFTP with SSH Key
.params
Para averiguar los parámetros necesarios para el destino, realice una Llamada de GET al extremo de especificaciones de conexión, proporcionando la especificación de conexión del destino deseado. Busque el parámetro
authSpec.spec.required
en la respuesta.Respuesta
Una respuesta correcta contiene el identificador único de la conexión base (id
). Almacene este valor tal como se requiere en el siguiente paso para crear una conexión de destino.
{
"id": "1ed86558-59b5-42f7-9865-5859b552f7f4"
}
Especificar la ubicación de almacenamiento y el formato de datos specify-storage-location-data-format
Adobe Experience Platform exporta datos para destinos de marketing por correo electrónico y almacenamiento en la nube por lotes en forma de CSV archivos. En este paso, puede determinar la ruta de acceso a la ubicación de almacenamiento en la que se exportarán los archivos.
filename.csv
, filename_2.csv
, filename_3.csv
.Formato de API
POST /targetConnections
Solicitud
La solicitud siguiente establece una conexión de destino a Adobe Campaign destinos, para determinar dónde aterrizarán los archivos exportados en su ubicación de almacenamiento. En función de la ubicación de almacenamiento a la que desee exportar los archivos, conserve el params
especificación y elimine las demás.
curl --location --request POST 'https://platform.adobe.io/data/foundation/flowservice/targetConnections' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "TargetConnection for Adobe Campaign",
"description": "Connection to Adobe Campaign",
"baseConnectionId": "{BASE_CONNECTION_ID}",
"connectionSpec": {
"id": "0b23e41a-cb4a-4321-a78f-3b654f5d7d97",
"version": "1.0"
},
"data": {
"format": "json",
"schema": {
"id": "1.0",
"version": "1.0"
}
},
"params": {
"mode": "S3",
"bucketName": "{BUCKET_NAME}",
"path": "{FILEPATH}",
"format": "CSV"
}
"params": {
"mode": "AZURE_BLOB",
"container": "{CONTAINER}",
"path": "{FILEPATH}",
"format": "CSV"
}
"params": {
"mode": "FTP",
"remotePath": "{REMOTE_PATH}",
"format": "CSV"
}
}'
Consulte las solicitudes de ejemplo siguientes para configurar una ubicación de almacenamiento para otros destinos de marketing por correo electrónico y almacenamiento en la nube por lotes admitidos.
La solicitud siguiente establece una conexión de destino a Amazon S3 destinos, para determinar dónde aterrizarán los archivos exportados en su ubicación de almacenamiento.
code language-shell |
---|
|
La solicitud siguiente establece una conexión de destino a Azure Blob destinos, para determinar dónde aterrizarán los archivos exportados en su ubicación de almacenamiento.
code language-shell |
---|
|
La solicitud siguiente establece una conexión de destino a Oracle Eloqua destinos, para determinar dónde aterrizarán los archivos exportados en su ubicación de almacenamiento. En función de la ubicación de almacenamiento a la que desee exportar los archivos, conserve el params
especificación y elimine las demás.
code language-shell |
---|
|
La solicitud siguiente establece una conexión de destino a Oracle Responsys destinos, para determinar dónde aterrizarán los archivos exportados en su ubicación de almacenamiento. En función de la ubicación de almacenamiento a la que desee exportar los archivos, conserve el params
especificación y elimine las demás.
code language-shell |
---|
|
La solicitud siguiente establece una conexión de destino a Salesforce Marketing Cloud destinos, para determinar dónde aterrizarán los archivos exportados en su ubicación de almacenamiento. En función de la ubicación de almacenamiento a la que desee exportar los archivos, conserve el params
especificación y elimine las demás.
code language-shell |
---|
|
La siguiente solicitud establece una conexión de destino a destinos SFTP para determinar dónde aterrizarán los archivos exportados en su ubicación de almacenamiento.
code language-shell |
---|
|
name
description
baseConnectionId
connectionSpec.id
params
Para averiguar los parámetros necesarios para el destino, realice una Llamada de GET al extremo de especificaciones de conexión, proporcionando la especificación de conexión del destino deseado. Busque el parámetro
targetSpec.spec.required
en la respuesta.params.mode
targetSpec.spec.properties.mode.enum
en la respuesta de y seleccione el modo deseado.params.bucketName
params.path
params.format
CSV
es actualmente el único tipo de exportación de archivo compatible.Respuesta
Una respuesta correcta devuelve el identificador único (id
) para la conexión de destino recién creada a su destino de lote. Almacene este valor tal como se requiere en pasos posteriores.
{
"id": "12ab90c7-519c-4291-bd20-d64186b62da8"
}
Creación de un flujo de datos create-dataflow
Con las ID de especificación de flujo, conexión de origen y conexión de destino obtenidas en los pasos anteriores, ahora puede crear un flujo de datos entre sus Experience Platform datos y el destino al que se exportarán los archivos de datos. Piense en este paso como la construcción de la canalización a través de la cual los datos fluirán posteriormente entre Experience Platform y el destino deseado.
Para crear un flujo de datos, realice una solicitud de POST como se muestra a continuación, proporcionando los valores mencionados a continuación dentro de la carga útil.
Formato de API
POST /flows
Solicitud
curl -X POST \
'https://platform.adobe.io/data/foundation/flowservice/flows' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-H 'Content-Type: application/json' \
-d '{
"name": "activate audiences to Adobe Campaign",
"description": "This operation creates a dataflow which we will later use to activate audiences to Adobe Campaign",
"flowSpec": {
"id": "{FLOW_SPEC_ID}",
"version": "1.0"
},
"sourceConnectionIds": [
"{SOURCE_CONNECTION_ID}"
],
"targetConnectionIds": [
"{TARGET_CONNECTION_ID}"
],
"transformations": [
{
"name": "GeneralTransform",
"params": {
"segmentSelectors": {
"selectors": []
},
"profileSelectors": {
"selectors": []
}
}
}
]
}
name
description
flowSpec.Id
flowspecs
punto final, como se muestra en la documentación de referencia de API de flow specs. En la respuesta, busque upsTo
y copie el ID correspondiente del destino del lote al que desee conectarse. Por ejemplo, para Adobe Campaign, busque upsToCampaign
y copie el id
parámetro.sourceConnectionIds
targetConnectionIds
transformations
Para su referencia, la siguiente tabla contiene los ID de especificación de flujo para los destinos de lote más utilizados:
71471eba-b620-49e4-90fd-23f1fa0174d8
51d675ce-e270-408d-91fc-22717bdf2148
493b2bd6-26e4-4167-ab3b-5e910bba44f0
Respuesta
Una respuesta correcta devuelve el ID (id
) del flujo de datos recién creado y una etag
. Tenga en cuenta ambos valores tal como los necesitará en el siguiente paso para activar audiencias y exportar archivos de datos.
{
"id": "8256cfb4-17e6-432c-a469-6aedafb16cd5",
"etag": "8256cfb4-17e6-432c-a469-6aedafb16cd5"
}
Activar datos en el nuevo destino activate-data
Una vez creadas todas las conexiones y el flujo de datos, ahora puede activar los datos de perfil en la plataforma de destino. En este paso, se selecciona qué audiencias y qué atributos de perfil se exportan al destino.
También puede determinar el formato de nomenclatura de archivos de los archivos exportados y qué atributos se deben utilizar como claves de deduplicación o atributos obligatorios. En este paso, también puede determinar la programación para enviar datos al destino.
Para activar audiencias en su nuevo destino, debe realizar una operación de PATCH de JSON, similar al ejemplo siguiente. Puede activar varias audiencias y atributos de perfil en una llamada. Para obtener más información sobre el PATCH JSON, consulte la especificación RFC.
Formato de API
PATCH /flows
Solicitud
curl --location --request PATCH 'https://platform.adobe.io/data/foundation/flowservice/flows/{DATAFLOW_ID}' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'Content-Type: application/json' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'If-Match: "{ETAG}"' \
--data-raw '[
{
"op": "add",
"path": "/transformations/0/params/segmentSelectors/selectors/-",
"value": {
"type": "PLATFORM_SEGMENT",
"value": {
"name": "Name of the audience that you are activating",
"description": "Description of the audience that you are activating",
"id": "{SEGMENT_ID}",
"filenameTemplate": "%DESTINATION_NAME%_%SEGMENT_ID%_%DATETIME(YYYYMMdd_HHmmss)%",
"exportMode": "DAILY_FULL_EXPORT",
"schedule": {
"frequency": "ONCE",
"startDate": "2021-12-20",
"startTime": "17:00"
}
}
}
},
{
"op": "add",
"path": "/transformations/0/params/segmentSelectors/selectors/-",
"value": {
"type": "PLATFORM_SEGMENT",
"value": {
"name": "Name of the audience that you are activating",
"description": "Description of the audience that you are activating",
"id": "{SEGMENT_ID}",
"filenameTemplate": "%DESTINATION_NAME%_%SEGMENT_ID%_%DATETIME(YYYYMMdd_HHmmss)%",
"exportMode": "DAILY_FULL_EXPORT",
"schedule": {
"frequency": "ONCE",
"triggerType": "SCHEDULED",
"startDate": "2021-12-20",
"startTime": "17:00"
},
}
}
},
{
"op": "add",
"path": "/transformations/0/params/profileSelectors/selectors/-",
"value": {
"type": "JSON_PATH",
"value": {
"path": "{PROFILE_ATTRIBUTE}"
}
}
}
]
{DATAFLOW_ID}
{ETAG}
Obtenga la {ETAG}
a partir de la respuesta del paso anterior, Creación de un flujo de datos. El formato de respuesta del paso anterior tiene comillas de escape. Debe utilizar los valores sin escape en el encabezado de la solicitud. Consulte el ejemplo siguiente:
- Ejemplo de respuesta:
"etag":""7400453a-0000-1a00-0000-62b1c7a90000""
- Valor que se utilizará en la solicitud:
"etag": "7400453a-0000-1a00-0000-62b1c7a90000"
El valor de la etiqueta se actualiza con cada actualización correcta de un flujo de datos.
{SEGMENT_ID}
{PROFILE_ATTRIBUTE}
"person.lastName"
op
add
, replace
, y remove
. Para añadir una audiencia a un flujo de datos, utilice el add
operación.path
value
id
name
filenameTemplate
Este campo determina el formato del nombre de archivo de los archivos que se exportan al destino.
Estas son las opciones disponibles:
%DESTINATION_NAME%
: obligatorio. Los archivos exportados contienen el nombre de destino.%SEGMENT_ID%
: obligatorio. Los archivos exportados contienen el ID de la audiencia exportada.%SEGMENT_NAME%
: Opcional. Los archivos exportados contienen el nombre de la audiencia exportada.DATETIME(YYYYMMdd_HHmmss)
o%TIMESTAMP%
: Opcional. Seleccione una de estas dos opciones para que los archivos incluyan el momento en que los genera el Experience Platform.custom-text
: Opcional. Reemplace este marcador de posición por cualquier texto personalizado que desee anexar al final de los nombres de archivo.
Para obtener más información sobre la configuración de nombres de archivo, consulte la configurar nombres de archivo en el tutorial de activación de destinos por lotes.
exportMode
"DAILY_FULL_EXPORT"
o "FIRST_FULL_THEN_INCREMENTAL"
. Para obtener más información sobre las dos opciones, consulte exportar archivos completos y exportar archivos incrementales en el tutorial de activación de destinos por lotes.startDate
frequency
Obligatorio.
- Para el
"DAILY_FULL_EXPORT"
modo de exportación, puede seleccionarONCE
oDAILY
. - Para el
"FIRST_FULL_THEN_INCREMENTAL"
modo de exportación, puede seleccionar"DAILY"
,"EVERY_3_HOURS"
,"EVERY_6_HOURS"
,"EVERY_8_HOURS"
,"EVERY_12_HOURS"
.
triggerType
Para destinos por lotes solo. Este campo solo es necesario al seleccionar la variable "DAILY_FULL_EXPORT"
en el frequency
selector.
Obligatorio.
- Seleccionar
"AFTER_SEGMENT_EVAL"
para que el trabajo de activación se ejecute inmediatamente después de que se complete el trabajo diario de segmentación por lotes de Platform. Esto garantiza que, cuando se ejecute el trabajo de activación, los perfiles más actualizados se exporten al destino. - Seleccionar
"SCHEDULED"
para que el trabajo de activación se ejecute a una hora fija. Esto garantiza que los datos de perfil del Experience Platform se exporten a la misma hora cada día, pero es posible que los perfiles exportados no estén los más actualizados, en función de si el trabajo de segmentación por lotes se ha completado antes de que se inicie el trabajo de activación. Al seleccionar esta opción, también debe añadir unastartTime
para indicar a qué hora en UTC deben producirse las exportaciones diarias.
endDate
No aplicable al seleccionar
"exportMode":"DAILY_FULL_EXPORT"
y "frequency":"ONCE"
.Establece la fecha en la que los miembros de la audiencia dejan de exportarse al destino.
startTime
Obligatorio. Seleccione el momento en que se deben generar y exportar al destino los archivos que contienen miembros de la audiencia.
Respuesta
Busque una respuesta 202 Accepted. No se devuelve ningún cuerpo de respuesta. Para validar que la solicitud era correcta, consulte el siguiente paso, Validación del flujo de datos.
Validación del flujo de datos validate-dataflow
Como último paso del tutorial, debe validar que las audiencias y los atributos de perfil se hayan asignado correctamente al flujo de datos.
Para validar esto, realice la siguiente solicitud de GET:
Formato de API
GET /flows
Solicitud
curl --location --request PATCH 'https://platform.adobe.io/data/foundation/flowservice/flows/{DATAFLOW_ID}' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'Content-Type: application/json' \
--header 'x-sandbox-name: prod' \
--header 'If-Match: "{ETAG}"'
{DATAFLOW_ID}
: utilice el flujo de datos del paso anterior.{ETAG}
: utilice la etiqueta del paso anterior.
Respuesta
La respuesta devuelta debe incluir en transformations
Los parámetros utilizan los atributos de audiencias y perfil enviados en el paso anterior. Una muestra transformations
en la respuesta podría tener el siguiente aspecto:
"transformations":[
{
"name":"GeneralTransform",
"params":{
"profileSelectors":{
"selectors":[
{
"type":"JSON_PATH",
"value":{
"path":"homeAddress.countryCode",
"operator":"EXISTS",
"mapping":{
"sourceType":"text/x.schema-path",
"source":"homeAddress.countryCode",
"destination":"homeAddress.countryCode",
"identity":false,
"primaryIdentity":false,
"functionVersion":0,
"copyModeMapping":false,
"sourceAttribute":"homeAddress.countryCode",
"destinationXdmPath":"homeAddress.countryCode"
}
}
},
{
"type":"JSON_PATH",
"value":{
"path":"person.name.firstName",
"operator":"EXISTS",
"mapping":{
"sourceType":"text/x.schema-path",
"source":"person.name.firstName",
"destination":"person.name.firstName",
"identity":false,
"primaryIdentity":false,
"functionVersion":0,
"copyModeMapping":false,
"sourceAttribute":"person.name.firstName",
"destinationXdmPath":"person.name.firstName"
}
}
},
{
"type":"JSON_PATH",
"value":{
"path":"person.name.lastName",
"operator":"EXISTS",
"mapping":{
"sourceType":"text/x.schema-path",
"source":"person.name.lastName",
"destination":"person.name.lastName",
"identity":false,
"primaryIdentity":false,
"functionVersion":0,
"copyModeMapping":false,
"sourceAttribute":"person.name.lastName",
"destinationXdmPath":"person.name.lastName"
}
}
},
{
"type":"JSON_PATH",
"value":{
"path":"personalEmail.address",
"operator":"EXISTS",
"mapping":{
"sourceType":"text/x.schema-path",
"source":"personalEmail.address",
"destination":"personalEmail.address",
"identity":false,
"primaryIdentity":false,
"functionVersion":0,
"copyModeMapping":false,
"sourceAttribute":"personalEmail.address",
"destinationXdmPath":"personalEmail.address"
}
}
},
{
"type":"JSON_PATH",
"value":{
"path":"segmentMembership.status",
"operator":"EXISTS",
"mapping":{
"sourceType":"text/x.schema-path",
"source":"segmentMembership.status",
"destination":"segmentMembership.status",
"identity":false,
"primaryIdentity":false,
"functionVersion":0,
"copyModeMapping":false,
"sourceAttribute":"segmentMembership.status",
"destinationXdmPath":"segmentMembership.status"
}
}
}
],
"mandatoryFields":[
"person.name.firstName",
"person.name.lastName"
],
"primaryFields":[
{
"fieldType":"ATTRIBUTE",
"attributePath":"personalEmail.address"
}
]
},
"segmentSelectors":{
"selectors":[
{
"type":"PLATFORM_SEGMENT",
"value":{
"id":"9f7d37fd-7039-4454-94ef-2b0cd6c3206a",
"name":"Interested in Mountain Biking",
"filenameTemplate":"%DESTINATION_NAME%_%SEGMENT_ID%_%DATETIME(YYYYMMdd_HHmmss)%",
"exportMode":"DAILY_FULL_EXPORT",
"schedule":{
"frequency":"ONCE",
"startDate":"2021-12-20",
"startTime":"17:00"
},
"createTime":"1640016962",
"updateTime":"1642534355"
}
},
{
"type":"PLATFORM_SEGMENT",
"value":{
"id":"25768be6-ebd5-45cc-8913-12fb3f348613",
"name":"Loyalty Segment",
"filenameTemplate":"%DESTINATION_NAME%_%SEGMENT_ID%_%DATETIME(YYYYMMdd_HHmmss)%",
"exportMode":"FIRST_FULL_THEN_INCREMENTAL",
"schedule":{
"frequency":"EVERY_6_HOURS",
"startDate":"2021-12-22",
"endDate":"2021-12-31",
"startTime":"17:00"
},
"createTime":"1640016962",
"updateTime":"1642534355"
}
}
]
}
}
}
]
Administración de errores de API api-error-handling
Los extremos de la API en este tutorial siguen los principios generales del mensaje de error de la API del Experience Platform. Consulte Códigos de estado de API y errores de encabezado de solicitud en la Guía de solución de problemas de Platform para obtener más información sobre cómo interpretar las respuestas de error.
Pasos siguientes next-steps
Al seguir este tutorial, ha conectado correctamente Platform a uno de sus destinos de marketing por correo electrónico basados en archivos preferidos y ha configurado un flujo de datos en el destino correspondiente para exportar archivos de datos. Los datos salientes ahora se pueden utilizar en el destino para campañas de correo electrónico, publicidad segmentada y muchos otros casos de uso. Consulte las siguientes páginas para obtener más información, como cómo editar flujos de datos existentes mediante la API de Flow Service: