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 los permisos de control de acceso de Ver destinos] y Administrar destinos[5}.
-
Para activar los datos, necesita los permisos de control de acceso, Activar destinos, Ver perfiles y Ver segmentos para.
-
Para exportar identidades, necesita el permiso de control de acceso de] Ver gráfico de identidad[.
{width="100" modal="regular"}
Este tutorial muestra cómo utilizar la API de Flow Service para crear un destino de marketing por correo electrónico basado en archivos, crear un flujo de datos al destino recién creado y exportar datos al destino recién creado mediante archivos CSV.
Este tutorial utiliza el destino Adobe Campaign en todos los ejemplos, pero los pasos son idénticos para los destinos de marketing por correo electrónico basados en archivos.
Si prefiere usar la interfaz de usuario de Platform para conectarse a un destino y activar datos, consulte los tutoriales Conectar un destino y Activar datos de audiencia para exportar perfiles en lote.
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 generar audiencias en Adobe Experience Platform a partir de los datos de Real-Time Customer Profile.
- Sandboxes: Experience Platform proporciona zonas protegidas virtuales que dividen una sola instancia de 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énticas.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 las llamadas de API de ejemplo en la guía de solución de problemas de Experience Platform.
Recopilar valores para encabezados obligatorios y opcionales gather-values-headers
Para poder realizar llamadas a las API de Platform, 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}
Los recursos de Experience Platform se pueden aislar en zonas protegidas virtuales específicas. En las solicitudes a las API de Platform, 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 al extremo connectionSpecs
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 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
Conectarse a los datos de Experience Platform connect-to-your-experience-platform-data
de información general
A continuación, debe conectarse a los datos de Experience Platform para poder exportar los 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 para autorizar el acceso a los datos en Experience Platform, configurando una conexión base.
- A continuación, usando el identificador de conexión base, realice otra llamada en la que cree una conexión de origen, que establezca la conexión con sus datos de Experience Platform.
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"
}
Conectarse a los datos de Experience Platform 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
) de la conexión de origen recién creada a Profile store. Esto confirma que se ha conectado correctamente a los datos de Experience Platform. 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
de información general
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, usando el identificador de conexión base, realizará otra llamada en la que creará una conexión de destino, que especifica la ubicación de la cuenta de almacenamiento donde 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 archivos (Amazon S3, SFTP, Azure Blob), mantenga la especificación auth
adecuada 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. Según la ubicación de almacenamiento a la que desee exportar los archivos, mantenga la especificación auth
adecuada y elimine las demás.
code language-shell |
---|
|
La solicitud siguiente establece una conexión base con Oracle Responsys destinos. Según la ubicación de almacenamiento a la que desee exportar los archivos, mantenga la especificación auth
adecuada y elimine las demás.
code language-shell |
---|
|
La solicitud siguiente establece una conexión base con Salesforce Marketing Cloud destinos. Según la ubicación de almacenamiento a la que desee exportar los archivos, mantenga la especificación auth
adecuada 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 usar cualquiera de
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. Según la ubicación de almacenamiento a la que desee exportar los archivos, mantenga la especificación params
adecuada 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. Según la ubicación de almacenamiento a la que desee exportar los archivos, mantenga la especificación params
adecuada 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. Según la ubicación de almacenamiento a la que desee exportar los archivos, mantenga la especificación params
adecuada 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. Según la ubicación de almacenamiento a la que desee exportar los archivos, mantenga la especificación params
adecuada 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 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
) de la conexión de destino recién creada con el destino del 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
Utilizando las especificaciones de flujo, la conexión de origen y los identificadores de conexión de destino que obtuvo en los pasos anteriores, ahora puede crear un flujo de datos entre los datos de Experience Platform y el destino al que exportará 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
, tal como se muestra en la documentación de referencia de la API de especificaciones de flujo. En la respuesta, busque upsTo
y copie el ID correspondiente del destino del lote al que desea conectarse. Por ejemplo, para Adobe Campaign, busque upsToCampaign
y copie el parámetro id
.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 identificador (id
) del flujo de datos recién creado y un 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 deben usarse como claves de anulación de duplicació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 acerca del 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 {ETAG}
de la respuesta del paso anterior, Crear 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. Vea el ejemplo siguiente:
- Ejemplo de respuesta:
"etag":""7400453a-0000-1a00-0000-62b1c7a90000""
- Valor que se va a usar 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 agregar una audiencia a un flujo de datos, utilice la operación add
.path
value
id
name
filenameTemplate
Este campo determina el formato del nombre de archivo de los archivos que se exportan al destino.
Las siguientes opciones están 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 cómo configurar nombres de archivo, consulte la sección 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 modo de exportación
"DAILY_FULL_EXPORT"
, puede seleccionarONCE
oDAILY
. - Para el modo de exportación
"FIRST_FULL_THEN_INCREMENTAL"
, puede seleccionar"DAILY"
,"EVERY_3_HOURS"
,"EVERY_6_HOURS"
,"EVERY_8_HOURS"
,"EVERY_12_HOURS"
.
triggerType
Solo para destinos por lotes. Este campo solo es necesario al seleccionar el modo "DAILY_FULL_EXPORT"
en el selector frequency
.
obligatorio.
- Seleccione
"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. - Seleccione
"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 agregar unstartTime
para indicar a qué hora en UTC se deben producir 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 comprobar que la solicitud es correcta, vea el paso siguiente, Validar el flujo de datos.
Validación del flujo de datos validate-dataflow
de información general
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 el parámetro transformations
las audiencias y los atributos de perfil que envió en el paso anterior. Un parámetro transformations
de muestra en la respuesta podría ser similar al siguiente:
"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 la interpretación de 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: