Conecte-se aos destinos de marketing por email baseado em arquivo e ative os dados usando a API do Serviço de fluxo
-
Para se conectar a um destino, você precisa de Exibir Destinos e Gerenciar Destinos permissões de controle de acesso.
-
Para ativar dados, você precisa de Exibir Destinos, Ativar Destinos, Exibir Perfis e Exibir Segmentos permissões de controle de acesso.
-
Para exportar identidades, você precisa da permissão Exibir Gráfico de Identidade controle de acesso.
{width="100" modal="regular"}
Este tutorial demonstra como usar a API de Serviço de Fluxo para criar um destino de marketing por email baseado em arquivo, criar um fluxo de dados para o destino recém-criado e exportar dados para o destino recém-criado por meio de arquivos CSV.
Este tutorial usa o destino Adobe Campaign em todos os exemplos, mas as etapas são idênticas para destinos de marketing por email baseados em arquivo.
Se preferir usar a interface do usuário da Platform para se conectar a um destino e ativar dados, consulte os tutoriais Conectar um destino e Ativar dados de público-alvo para destinos de exportação de perfil em lote.
Introdução get-started
Este manual necessita de uma compreensão funcional dos seguintes componentes da Adobe Experience Platform:
- Experience Data Model (XDM) System: a estrutura padronizada pela qual o Experience Platform organiza os dados de experiência do cliente.
- Segmentation Service: Adobe Experience Platform Segmentation Service permite que você crie públicos-alvo em Adobe Experience Platform a partir dos dados de Real-Time Customer Profile.
- Sandboxes: Experience Platform fornece sandboxes virtuais que particionam uma única instância do Platform em ambientes virtuais separados para ajudar a desenvolver aplicativos de experiência digital.
As seções a seguir fornecem informações adicionais que você precisa saber para ativar dados para destinos em lote na Platform.
Coletar credenciais necessárias gather-required-credentials
Para concluir as etapas deste tutorial, você deve ter as credenciais a seguir prontas, dependendo do tipo de destino ao qual você está se conectando e ativando públicos.
- Para Amazon S3 conexões:
accessId
,secretKey
- Para Amazon S3 conexões com Adobe Campaign:
accessId
,secretKey
- Para conexões SFTP:
domain
,port
,username
,password
ousshKey
(dependendo do método de conexão para o local FTP) - Para Azure Blob conexões:
connectionString
accessId
, secretKey
para Amazon S3 conexões e accessId
, secretKey
para Amazon S3 conexões com Adobe Campaign são idênticas.Leitura de chamadas de API de amostra reading-sample-api-calls
Este tutorial fornece exemplos de chamadas de API para demonstrar como formatar suas solicitações. Isso inclui caminhos, cabeçalhos necessários e conteúdos de solicitação formatados corretamente. Também fornece exemplos de JSON retornado nas respostas da API. Para obter informações sobre as convenções usadas na documentação para chamadas de API de exemplo, consulte a seção sobre como ler chamadas de API de exemplo no guia de solução de problemas Experience Platform.
Colete valores para cabeçalhos obrigatórios e opcionais gather-values-headers
Para fazer chamadas para APIs do Platform, primeiro complete o tutorial de autenticação. Concluir o tutorial de autenticação fornece os valores para cada um dos cabeçalhos necessários em todas as chamadas de API da Experience Platform, conforme mostrado abaixo:
- Autorização: Portador
{ACCESS_TOKEN}
- x-api-key:
{API_KEY}
- x-gw-ims-org-id
{ORG_ID}
Os recursos em Experience Platform podem ser isolados em sandboxes virtuais específicas. Em solicitações para Platform APIs, é possível especificar o nome e a ID da sandbox em que a operação ocorrerá. Esses parâmetros são opcionais.
- x-sandbox-name:
{SANDBOX_NAME}
Todas as solicitações que contêm uma carga (POST, PUT, PATCH) exigem um cabeçalho de tipo de mídia adicional:
- Tipo de conteúdo:
application/json
Documentação de referência da API api-reference-documentation
Você pode encontrar a documentação de referência de acompanhamento para todas as operações de API neste tutorial. Consulte a Documentação da API de Serviço de Fluxo no Adobe I/O. Recomendamos que você use este tutorial e a documentação de referência da API em paralelo.
Obter a lista de destinos disponíveis get-the-list-of-available-destinations
Como primeira etapa, você deve decidir para qual destino ativar os dados. Para começar, execute uma chamada para solicitar uma lista de destinos disponíveis aos quais você pode se conectar e ativar públicos. Execute a seguinte solicitação GET para o ponto de extremidade connectionSpecs
para retornar uma lista de destinos disponíveis:
Formato da API
GET /connectionSpecs
Solicitação
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}'
Resposta
Uma resposta bem-sucedida contém uma lista de destinos disponíveis e seus identificadores exclusivos (id
). Armazene o valor do destino que você planeja usar, pois ele será necessário em outras etapas. Por exemplo, se você deseja conectar e entregar públicos para Adobe Campaign, procure o seguinte trecho na resposta:
{
"id": "0b23e41a-cb4a-4321-a78f-3b654f5d7d97",
"name": "Adobe Campaign",
...
...
}
Para sua referência, a tabela abaixo contém as IDs de especificação da conexão para destinos em lote de uso comum:
0b23e41a-cb4a-4321-a78f-3b654f5d7d97
c1e44b6b-e7c8-404b-9031-58f0ef760604
a5e28ddf-e265-426e-83a1-9d03a3a6822b
f599a5b3-60a7-4951-950a-cc4115c7ea27
Conectar aos dados do Experience Platform connect-to-your-experience-platform-data
da visão geral das etapas de destino
Em seguida, conecte-se aos dados do Experience Platform para poder exportar dados de perfil e ativá-los no seu destino preferido. Consiste em duas subetapas descritas abaixo.
- Primeiro, você deve executar uma chamada para autorizar o acesso aos seus dados no Experience Platform, configurando uma conexão base.
- Em seguida, usando a ID de conexão básica, execute outra chamada na qual você cria uma conexão de origem, que estabelece a conexão com seus dados do Experience Platform.
Autorizar acesso aos seus dados no Experience Platform
Formato da API
POST /connections
Solicitação
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
.Resposta
Uma resposta bem-sucedida contém o identificador exclusivo da conexão base (id
). Armazene esse valor conforme necessário na próxima etapa para criar a conexão de origem.
{
"id": "1ed86558-59b5-42f7-9865-5859b552f7f4"
}
Conectar aos dados do Experience Platform connect-to-platform-data
Formato da API
POST /sourceConnections
Solicitação
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
é o único formato de exportação de arquivo com suporte.Resposta
Uma resposta bem-sucedida retorna o identificador exclusivo (id
) da conexão de origem recém-criada para Profile store. Isso confirma que você se conectou com êxito aos dados do Experience Platform. Armazene esse valor conforme necessário em uma etapa posterior.
{
"id": "ed48ae9b-c774-4b6e-88ae-9bc7748b6e97"
}
Conectar ao destino do lote connect-to-batch-destination
Nesta etapa, você está configurando uma conexão com o armazenamento em nuvem em lote ou destino de marketing por email desejado. Consiste em duas subetapas descritas abaixo.
- Primeiro, você deve executar uma chamada para autorizar o acesso à plataforma de destino, configurando uma conexão básica.
- Em seguida, usando a ID de conexão básica, você fará outra chamada na qual criará uma conexão de destino, que especifica o local da conta de armazenamento em que os arquivos de dados exportados serão entregues, bem como o formato dos dados que serão exportados.
Autorizar acesso ao destino do lote authorize-access-to-batch-destination
Formato da API
POST /connections
Solicitação
A solicitação abaixo estabelece uma conexão básica com Adobe Campaign destinos. Dependendo do local de armazenamento para o qual você deseja exportar arquivos (Amazon S3, SFTP, Azure Blob), mantenha a especificação auth
apropriada e exclua as outras.
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 as solicitações de exemplo abaixo para se conectar a outros destinos de armazenamento em nuvem em lote e marketing por email compatíveis.
A solicitação abaixo estabelece uma conexão básica com Amazon S3 destinos.
code language-shell |
---|
|
A solicitação abaixo estabelece uma conexão básica com Azure Blob destinos.
code language-shell |
---|
|
A solicitação abaixo estabelece uma conexão básica com Oracle Eloqua destinos. Dependendo do local de armazenamento para o qual você deseja exportar arquivos, mantenha a especificação auth
apropriada e exclua as outras.
code language-shell |
---|
|
A solicitação abaixo estabelece uma conexão básica com Oracle Responsys destinos. Dependendo do local de armazenamento para o qual você deseja exportar arquivos, mantenha a especificação auth
apropriada e exclua as outras.
code language-shell |
---|
|
A solicitação abaixo estabelece uma conexão básica com Salesforce Marketing Cloud destinos. Dependendo do local de armazenamento para o qual você deseja exportar arquivos, mantenha a especificação auth
apropriada e exclua as outras.
code language-shell |
---|
|
A solicitação abaixo estabelece uma conexão básica com destinos SFTP.
code language-shell |
---|
|
name
description
connectionSpec.id
auth.specname
authSpec.name
na resposta.Por exemplo, para destinos Adobe Campaign, você pode usar qualquer um dos
S3
, SFTP with Password
, ou SFTP with SSH Key
.params
Para descobrir os parâmetros necessários para o seu destino, execute uma chamada para o ponto de extremidade de especificações de conexão, fornecendo a especificação de conexão do seu destino desejado. Procure o parâmetro
authSpec.spec.required
na resposta.Resposta
Uma resposta bem-sucedida contém o identificador exclusivo da conexão base (id
). Armazene esse valor conforme necessário na próxima etapa para criar uma conexão de destino.
{
"id": "1ed86558-59b5-42f7-9865-5859b552f7f4"
}
Especificar local de armazenamento e formato de dados specify-storage-location-data-format
O Adobe Experience Platform exporta dados para destinos de marketing por email em lote e de armazenamento na nuvem na forma de CSV arquivos. Nesta etapa, você pode determinar o caminho no local de armazenamento para onde os arquivos serão exportados.
filename.csv
, filename_2.csv
, filename_3.csv
.Formato da API
POST /targetConnections
Solicitação
A solicitação abaixo estabelece uma conexão de destino com Adobe Campaign destinos, para determinar para onde os arquivos exportados chegarão em seu local de armazenamento. Dependendo do local de armazenamento para o qual você deseja exportar arquivos, mantenha a especificação params
apropriada e exclua as outras.
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 as solicitações de exemplo abaixo para configurar um local de armazenamento para outros destinos de armazenamento na nuvem em lote e de marketing por email compatíveis.
A solicitação abaixo estabelece uma conexão de destino com Amazon S3 destinos, para determinar para onde os arquivos exportados chegarão em seu local de armazenamento.
code language-shell |
---|
|
A solicitação abaixo estabelece uma conexão de destino com Azure Blob destinos, para determinar para onde os arquivos exportados chegarão em seu local de armazenamento.
code language-shell |
---|
|
A solicitação abaixo estabelece uma conexão de destino com Oracle Eloqua destinos, para determinar para onde os arquivos exportados chegarão em seu local de armazenamento. Dependendo do local de armazenamento para o qual você deseja exportar arquivos, mantenha a especificação params
apropriada e exclua as outras.
code language-shell |
---|
|
A solicitação abaixo estabelece uma conexão de destino com Oracle Responsys destinos, para determinar para onde os arquivos exportados chegarão em seu local de armazenamento. Dependendo do local de armazenamento para o qual você deseja exportar arquivos, mantenha a especificação params
apropriada e exclua as outras.
code language-shell |
---|
|
A solicitação abaixo estabelece uma conexão de destino com Salesforce Marketing Cloud destinos, para determinar para onde os arquivos exportados chegarão em seu local de armazenamento. Dependendo do local de armazenamento para o qual você deseja exportar arquivos, mantenha a especificação params
apropriada e exclua as outras.
code language-shell |
---|
|
A solicitação abaixo estabelece uma conexão de destino com destinos SFTP para determinar onde os arquivos exportados chegarão em seu local de armazenamento.
code language-shell |
---|
|
name
description
baseConnectionId
connectionSpec.id
params
Para descobrir os parâmetros necessários para o seu destino, execute uma chamada para o ponto de extremidade de especificações de conexão, fornecendo a especificação de conexão do seu destino desejado. Procure o parâmetro
targetSpec.spec.required
na resposta.params.mode
targetSpec.spec.properties.mode.enum
na resposta e selecione o modo desejado.params.bucketName
params.path
params.format
CSV
é o único tipo de exportação de arquivo com suporte.Resposta
Uma resposta bem-sucedida retorna o identificador exclusivo (id
) da conexão de destino recém-criada ao destino em lote. Armazene esse valor conforme necessário nas etapas posteriores.
{
"id": "12ab90c7-519c-4291-bd20-d64186b62da8"
}
Criar um fluxo de dados create-dataflow
da visão geral das etapas de destino
Usando a especificação de fluxo, a conexão de origem e as IDs de conexão de destino obtidas nas etapas anteriores, agora é possível criar um fluxo de dados entre os dados do Experience Platform e o destino para o qual você exportará os arquivos de dados. Pense nessa etapa como a construção do pipeline pelo qual os dados fluirão posteriormente entre Experience Platform e o destino desejado.
Para criar um fluxo de dados, execute uma solicitação POST, como mostrado abaixo, enquanto fornece os valores mencionados abaixo na carga.
Formato da API
POST /flows
Solicitação
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
, conforme mostrado na documentação de referência da API de especificações do fluxo. Na resposta, procure upsTo
e copie a ID correspondente do destino do lote ao qual você deseja se conectar. Por exemplo, para o Adobe Campaign, procure upsToCampaign
e copie o parâmetro id
.sourceConnectionIds
targetConnectionIds
transformations
Para sua referência, a tabela abaixo contém as IDs de especificação de fluxo para destinos em lote usados com frequência:
71471eba-b620-49e4-90fd-23f1fa0174d8
51d675ce-e270-408d-91fc-22717bdf2148
493b2bd6-26e4-4167-ab3b-5e910bba44f0
Resposta
Uma resposta bem-sucedida retorna a ID (id
) do fluxo de dados recém-criado e um etag
. Anote os dois valores, pois eles serão necessários na próxima etapa, para ativar públicos e exportar arquivos de dados.
{
"id": "8256cfb4-17e6-432c-a469-6aedafb16cd5",
"etag": "8256cfb4-17e6-432c-a469-6aedafb16cd5"
}
Ativar dados para o novo destino activate-data
Após criar todas as conexões e o fluxo de dados, agora é possível ativar os dados do perfil na plataforma de destino. Nesta etapa, você seleciona quais públicos-alvo e atributos de perfil serão exportados para o destino.
Você também pode determinar o formato de nomenclatura dos arquivos exportados e quais atributos devem ser usados como chaves de desduplicação ou atributos obrigatórios. Nesta etapa, você também pode determinar o agendamento para enviar dados ao destino.
Para ativar públicos para o novo destino, você deve executar uma operação PATCH JSON, semelhante ao exemplo abaixo. Você pode ativar vários públicos-alvo e atributos de perfil em uma chamada. Para saber mais sobre o PATCH JSON, consulte a especificação RFC.
Formato da API
PATCH /flows
Solicitação
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}
Obtenha o {ETAG}
da resposta da etapa anterior, Criar um fluxo de dados. O formato de resposta na etapa anterior tem aspas em escape. Você deve usar os valores sem escape no cabeçalho da solicitação. Veja o exemplo abaixo:
- Exemplo de resposta:
"etag":""7400453a-0000-1a00-0000-62b1c7a90000""
- Valor a ser usado em sua solicitação:
"etag": "7400453a-0000-1a00-0000-62b1c7a90000"
O valor da marca é atualizado com cada atualização bem-sucedida de um fluxo de dados.
{SEGMENT_ID}
{PROFILE_ATTRIBUTE}
"person.lastName"
op
add
, replace
e remove
. Para adicionar uma audiência a um fluxo de dados, use a operação add
.path
value
id
name
filenameTemplate
Esse campo determina o formato do nome do arquivo dos arquivos exportados para o seu destino.
As seguintes opções estão disponíveis:
%DESTINATION_NAME%
: Obrigatório. Os arquivos exportados contêm o nome de destino.%SEGMENT_ID%
: Obrigatório. Os arquivos exportados contêm a ID do público-alvo exportado.%SEGMENT_NAME%
: Opcional. Os arquivos exportados contêm o nome do público exportado.DATETIME(YYYYMMdd_HHmmss)
ou%TIMESTAMP%
: Opcional. Selecione uma dessas duas opções para que seus arquivos incluam a hora em que são gerados pelo Experience Platform.custom-text
: Opcional. Substitua esse espaço reservado por qualquer texto personalizado que queira anexar ao final dos nomes de arquivo.
Para obter mais informações sobre como configurar nomes de arquivos, consulte a seção configurar nomes de arquivos no tutorial de ativação de destinos em lote.
exportMode
"DAILY_FULL_EXPORT"
ou "FIRST_FULL_THEN_INCREMENTAL"
. Para obter mais informações sobre as duas opções, consulte exportar arquivos completos e exportar arquivos incrementais no tutorial de ativação de destinos em lote.startDate
frequency
Obrigatório.
- Para o modo de exportação
"DAILY_FULL_EXPORT"
, você pode selecionarONCE
ouDAILY
. - Para o modo de exportação
"FIRST_FULL_THEN_INCREMENTAL"
, você pode selecionar"DAILY"
,"EVERY_3_HOURS"
,"EVERY_6_HOURS"
,"EVERY_8_HOURS"
,"EVERY_12_HOURS"
.
triggerType
Somente para destinos em lote. Este campo é necessário somente ao selecionar o modo "DAILY_FULL_EXPORT"
no seletor frequency
.
Obrigatório.
- Selecione
"AFTER_SEGMENT_EVAL"
para que o trabalho de ativação seja executado imediatamente após a conclusão diária do trabalho de segmentação em lote da Platform. Isso garante que, quando o trabalho de ativação for executado, os perfis mais atualizados sejam exportados para o seu destino. - Selecione
"SCHEDULED"
para que o trabalho de ativação seja executado em um horário fixado. Isso garante que os dados do perfil de Experience Platform sejam exportados todos os dias à mesma hora, mas os perfis exportados podem não ser os mais atualizados, dependendo se o trabalho de segmentação em lote foi concluído antes do início do trabalho de ativação. Ao selecionar essa opção, você também deve adicionar umstartTime
para indicar em que horário em UTC as exportações diárias devem ocorrer.
endDate
Não aplicável ao selecionar
"exportMode":"DAILY_FULL_EXPORT"
e "frequency":"ONCE"
.Define a data em que os membros do público-alvo param de ser exportados para o destino.
startTime
Obrigatório. Selecione a hora em que os arquivos que contêm membros do público-alvo devem ser gerados e exportados para o seu destino.
Resposta
Procure uma resposta 202 Accepted. Nenhum corpo de resposta é retornado. Para validar se a solicitação estava correta, consulte a próxima etapa, Validar o fluxo de dados.
Validar o fluxo de dados validate-dataflow
Como etapa final do tutorial, você deve validar se os públicos-alvo e os atributos de perfil foram realmente mapeados corretamente para o fluxo de dados.
Para validar isso, execute a seguinte solicitação GET:
Formato da API
GET /flows
Solicitação
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}
: Usar o fluxo de dados da etapa anterior.{ETAG}
: Usar a marca da etapa anterior.
Resposta
A resposta retornada deve incluir no parâmetro transformations
os públicos-alvo e atributos de perfil enviados na etapa anterior. Um exemplo de parâmetro transformations
na resposta pode ser semelhante ao mostrado abaixo:
"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"
}
}
]
}
}
}
]
Manipulação de erros de API api-error-handling
Os endpoints de API neste tutorial seguem os princípios gerais de mensagem de erro da API Experience Platform. Consulte códigos de status da API e erros no cabeçalho da solicitação no guia de solução de problemas da Platform para obter mais informações sobre como interpretar respostas de erro.
Próximas etapas next-steps
Ao seguir este tutorial, você conectou com sucesso o Platform a um dos seus destinos de marketing por email baseados em arquivos e configurou um fluxo de dados para o respectivo destino para exportar arquivos de dados. Os dados de saída agora podem ser usados no destino para campanhas por email, publicidade direcionada e muitos outros casos de uso. Consulte as seguintes páginas para obter mais detalhes, como editar fluxos de dados existentes usando a API do Serviço de fluxo: