[Beta]{class="badge informative"}
Crie uma conexão de origem e um fluxo de dados para SAP Commerce usando a API de Serviço de Fluxo
O tutorial a seguir orienta você pelas etapas para criar uma conexão de origem SAP Commerce e um fluxo de dados para trazer contatos de SAP Cobrança de assinatura e dados do cliente para a Adobe Experience Platform usando a Flow Service API.
Introdução
Este guia requer entendimento prático dos seguintes componentes do Experience Platform:
- Fontes: o Experience Platform permite que os dados sejam assimilados de várias fontes e, ao mesmo tempo, fornece a capacidade de estruturar, rotular e aprimorar os dados recebidos usando os serviços da plataforma.
- Sandboxes: o Experience Platform fornece sandboxes virtuais que particionam uma única instância da 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ê precisará saber para se conectar com êxito ao SAP Commerce usando a API Flow Service.
Coletar credenciais necessárias
Para conectar SAP Commerce ao Experience Platform, você deve fornecer valores para as seguintes propriedades de conexão:
clientId
clientId
da chave de serviço.clientSecret
clientSecret
da chave de serviço.tokenEndpoint
url
da chave de serviço será semelhante a https://subscriptionbilling.authentication.eu10.hana.ondemand.com
.region
url
e tem um valor semelhante a eu10
ou us10
. Por exemplo, se o url
for https://subscriptionbilling.authentication.eu10.hana.ondemand.com
, então você precisará de eu10
.Para obter mais informações sobre essas credenciais, consulte a SAP Commerce documentação.
Conectar SAP Commerce à Plataforma usando a API Flow Service
A seguir estão descritas as etapas que você precisa realizar para autenticar sua origem do SAP Commerce, criar uma conexão de origem e criar um fluxo de dados para trazer seus dados de contas e contatos para o Experience Platform.
Criar uma conexão básica base-connection
Uma conexão base retém informações entre sua origem e a Platform, incluindo as credenciais de autenticação da origem, o estado atual da conexão e sua ID de conexão base exclusiva. A ID de conexão básica permite explorar e navegar pelos arquivos de dentro da origem e identificar os itens específicos que deseja assimilar, incluindo informações sobre os tipos de dados e formatos.
Para criar uma ID de conexão base, faça uma solicitação POST para o ponto de extremidade /connections
enquanto fornece suas credenciais de autenticação SAP Commerce como parte do corpo da solicitação.
Formato da API
POST /connections
Solicitação
A solicitação a seguir cria uma conexão base para SAP Commerce:
curl -X POST \
'https://platform.adobe.io/data/foundation/flowservice/connections' \
-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": "SAP Commerce base connection",
"description": "Authenticated base connection for SAP Commerce",
"connectionSpec": {
"id": "d8ee38de-7ae9-4058-9610-c79ce75f8e92",
"version": "1.0"
},
"auth": {
"specName": "OAuth2 Client Credential",
"params": {
"region": "{REGION}",
"clientId": "{CLIENT_ID}",
"clientSecret": "{CLIENT_SECRET}"
"tokenEndpoint": "{TOKEN_ENDPOINT}"
}
}
}'
name
description
connectionSpec.id
auth.specName
auth.params.region
url
e tem um valor semelhante a eu10
ou us10
. Por exemplo, se o url
for https://subscriptionbilling.authentication.eu10.hana.ondemand.com
, você precisará de eu10
.auth.params.clientId
clientId
da chave de serviço.auth.params.clientSecret
clientSecret
da chave de serviço.auth.params.tokenEndpoint
url
da chave de serviço será semelhante a https://subscriptionbilling.authentication.eu10.hana.ondemand.com
.Resposta
Uma resposta bem-sucedida retorna a conexão base recém-criada, incluindo seu identificador de conexão exclusivo (id
). Essa ID é necessária para explorar a estrutura de arquivos e o conteúdo da fonte na próxima etapa.
{
"id": "5f6d6022-3f64-400c-ba01-d4010de2d8ff",
"etag": "\"f8018de1-0000-0200-0000-6482d7210000\""
}
Explorar sua fonte explore
Depois de ter a ID de conexão básica, você pode explorar o conteúdo e a estrutura dos dados de origem executando uma solicitação GET para o ponto de extremidade /connections
enquanto fornece a ID de conexão básica como um parâmetro de consulta.
Formato da API
GET /connections/{BASE_CONNECTION_ID}/explore?objectType=rest&object={OBJECT}&fileType={FILE_TYPE}&preview={PREVIEW}&sourceParams={SOURCE_PARAMS}
Ao executar solicitações do GET para explorar a estrutura e o conteúdo do arquivo de origem, você deve incluir os parâmetros de consulta listados na tabela abaixo:
{BASE_CONNECTION_ID}
objectType=rest
rest
.{OBJECT}
json
.fileType=json
json
é o único tipo de arquivo com suporte.{PREVIEW}
{SOURCE_PARAMS}
Define parâmetros para o arquivo de origem que você deseja trazer para a Platform. Para recuperar o tipo de formato aceito para {SOURCE_PARAMS}
, você deve codificar a cadeia inteira em base64.
SAP Commerce dá suporte a várias APIs. Dependendo do tipo de objeto que você estiver utilizando, passe uma das opções abaixo:
customers
contacts
A origem SAP Commerce dá suporte a várias APIs. Dependendo do tipo de objeto que você está usando, a solicitação a ser enviada é como a seguir:
accordion | ||
---|---|---|
Solicitação | ||
Para a API de clientes SAP Commerce, o valor de
|
accordion | ||
---|---|---|
Resposta | ||
Uma resposta bem-sucedida retorna uma estrutura JSON como a seguinte:
|
accordion | ||
---|---|---|
Solicitação | ||
Para a API de Contatos SAP Commerce, o valor de
|
accordion | ||
---|---|---|
Resposta | ||
Uma resposta bem-sucedida retorna uma estrutura JSON como a seguinte:
|
Criar uma conexão de origem source-connection
Você pode criar uma conexão de origem fazendo uma solicitação POST para o ponto de extremidade /sourceConnections
da API Flow Service. Uma conexão de origem consiste em uma ID de conexão, um caminho para o arquivo de dados de origem e uma ID de especificação de conexão.
Formato da API
POST /sourceConnections
Dependendo do tipo de objeto que você estiver utilizando, selecione uma das guias abaixo:
accordion | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Solicitação | ||||||||||||||||||||
A solicitação a seguir cria uma conexão de origem para dados de clientes SAP Commerce:
|
accordion | ||
---|---|---|
Resposta | ||
Uma resposta bem-sucedida retorna o identificador exclusivo (
|
accordion | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Solicitação | ||||||||||||||||||||
A solicitação a seguir cria uma conexão de origem para dados de contatos de SAP Commerce:
|
accordion | ||
---|---|---|
Resposta | ||
Uma resposta bem-sucedida retorna o identificador exclusivo (
|
Criar um esquema XDM de destino target-schema
Para que os dados de origem sejam usados na Platform, um esquema de destino deve ser criado para estruturar os dados de origem de acordo com suas necessidades. O esquema de destino é usado para criar um conjunto de dados da Platform no qual os dados de origem estão contidos.
Um esquema XDM de destino pode ser criado executando uma solicitação POST para a API do Registro de Esquema.
Para obter etapas detalhadas sobre como criar um esquema XDM de destino, consulte o tutorial sobre criação de um esquema usando a API.
Criar um conjunto de dados de destino target-dataset
Um conjunto de dados de destino pode ser criado por meio de uma solicitação POST para a API de Serviço de Catálogo, fornecendo a ID do esquema de destino na carga.
Para obter etapas detalhadas sobre como criar um conjunto de dados de destino, consulte o tutorial sobre criação de um conjunto de dados usando a API.
Criar uma conexão de destino target-connection
Uma conexão de destino representa a conexão com o destino em que os dados assimilados devem ser armazenados. Para criar uma conexão de destino, você deve fornecer a ID de especificação da conexão fixa que corresponde ao data lake. Esta ID é: c604ff05-7f1a-43c0-8e18-33bf874cb11c
.
Agora você tem os identificadores exclusivos, um esquema de destino, um conjunto de dados de destino e a ID de especificação da conexão para o data lake. Usando esses identificadores, você pode criar uma conexão de destino usando a API Flow Service para especificar o conjunto de dados que conterá os dados de origem de entrada.
Formato da API
POST /targetConnections
Solicitação
A solicitação a seguir cria uma conexão de destino para SAP Commerce:
curl -X POST \
'https://platform.adobe.io/data/foundation/flowservice/targetConnections' \
-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": "SAP Commerce Target Connection Generic Rest",
"description": "SAP Commerce Target Connection Generic Rest",
"connectionSpec": {
"id": "c604ff05-7f1a-43c0-8e18-33bf874cb11c",
"version": "1.0"
},
"data": {
"format": "parquet_xdm",
"schema": {
"id": "https://ns.adobe.com/{TENANT_ID}/schemas/325fd5394ba421246b05c0a3c2cd5efeec2131058a63d473",
"version": "1.2"
}
},
"params": {
"dataSetId": "645923cd7aeeea1c06c5e92e"
}
}'
name
description
connectionSpec.id
6b137bf6-d2a0-48c8-914b-d50f4942eb85
.data.format
params.dataSetId
Resposta
Uma resposta bem-sucedida retorna o identificador exclusivo (id
) da nova conexão de destino. Essa ID é necessária nas etapas posteriores.
{
"id": "5b72a4b6-2fb8-4ca7-8ad8-4114a3063c5c",
"etag": "\"db00c6dc-0000-0200-0000-6482d8280000\""
}
Criar um mapeamento mapping
Para que os dados de origem sejam assimilados em um conjunto de dados de destino, eles devem primeiro ser mapeados para o esquema de destino ao qual o conjunto de dados de destino adere. Isso é feito executando uma solicitação POST para Data Prep API com mapeamentos de dados definidos na carga da solicitação.
Formato da API
POST /conversion/mappingSets
accordion | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Solicitação | ||||||||||||||
A solicitação a seguir cria um mapeamento para os dados da API do cliente SAP Commerce
|
accordion | ||
---|---|---|
Resposta | ||
Uma resposta bem-sucedida retorna detalhes do mapeamento recém-criado, incluindo seu identificador exclusivo (
|
accordion | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Solicitação | ||||||||||||||
A solicitação a seguir cria um mapeamento para os dados da API de Contatos SAP Commerce
|
accordion | ||
---|---|---|
Resposta | ||
Uma resposta bem-sucedida retorna detalhes do mapeamento recém-criado, incluindo seu identificador exclusivo (
|
Criar um fluxo flow
A última etapa para trazer dados de SAP Commerce para a Platform é criar um fluxo de dados. Até agora, você tem os seguintes valores necessários preparados:
Um fluxo de dados é responsável por agendar e coletar dados de uma origem. Você pode criar um fluxo de dados executando uma solicitação POST enquanto fornece os valores mencionados anteriormente na carga.
Formato da API
POST /flows
Solicitação
curl -X POST \
'https://platform.adobe.io/data/foundation/flowservice/flows' \
-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": "SAP Commerce Connector Description Flow Generic Rest",
"description": "SAP Commerce Connector Description Flow Generic Rest",
"flowSpec": {
"id": "6499120c-0b15-42dc-936e-847ea3c24d72",
"version": "1.0"
},
"sourceConnectionIds": [
"2ef2e831-f4f1-4363-a0f7-08b4ea347164"
],
"targetConnectionIds": [
"5b72a4b6-2fb8-4ca7-8ad8-4114a3063c5c"
],
"transformations": [
{
"name": "Mapping",
"params": {
"mappingId": "ddf0592bcc9d4ac391803f15f2429f87",
"mappingVersion": "0"
}
}
],
"scheduleParams": {
"startTime": "1625040887",
"frequency": "once",
}
}'
name
description
flowSpec.id
6499120c-0b15-42dc-936e-847ea3c24d72
.flowSpec.version
1.0
.sourceConnectionIds
targetConnectionIds
transformations
transformations.name
transformations.params.mappingId
transformations.params.mappingVersion
0
.scheduleParams.startTime
scheduleParams.frequency
scheduleParams.interval
Resposta
Uma resposta bem-sucedida retorna a ID (id
) do fluxo de dados recém-criado. Você pode usar essa ID para monitorar, atualizar ou excluir seu fluxo de dados.
{
"id": "fcd16140-81b4-422a-8f9a-eaa92796c4f4",
"etag": "\"9200a171-0000-0200-0000-6368c1da0000\""
}
Apêndice
A seção a seguir fornece informações sobre as etapas que podem ser seguidas para monitorar, atualizar e excluir o fluxo de dados.
Monitorar seu fluxo de dados
Depois que o fluxo de dados for criado, você poderá monitorar os dados que estão sendo assimilados por meio dele para ver informações sobre execuções de fluxo, status de conclusão e erros. Para obter exemplos completos de API, leia o guia em monitorando seus fluxos de dados de fontes usando a API.
Atualizar seu fluxo de dados
Atualize os detalhes do seu fluxo de dados, como seu nome e descrição, bem como seu agendamento de execução e conjuntos de mapeamento associados fazendo uma solicitação PATCH para o ponto de extremidade /flows
da API Flow Service, ao mesmo tempo em que fornece a ID do seu fluxo de dados. Ao fazer uma solicitação PATCH, você deve fornecer o etag
exclusivo do fluxo de dados no cabeçalho If-Match
. Para obter exemplos completos de API, leia o guia em atualizando fluxos de dados de fontes usando a API.
Atualizar sua conta
Atualize o nome, a descrição e as credenciais da conta de origem executando uma solicitação PATCH para a API Flow Service e fornecendo a ID da conexão base como um parâmetro de consulta. Ao fazer uma solicitação PATCH, você deve fornecer o etag
exclusivo da sua conta de origem no cabeçalho If-Match
. Para obter exemplos completos de API, leia o guia em atualizando a conta de origem usando a API.
Excluir seu fluxo de dados
Exclua seu fluxo de dados executando uma solicitação DELETE para a API Flow Service enquanto fornece a ID do fluxo de dados que você deseja excluir como parte do parâmetro de consulta. Para obter exemplos completos de API, leia o guia em excluindo seus fluxos de dados usando a API.
Excluir sua conta
Exclua sua conta executando uma solicitação DELETE para a API Flow Service enquanto fornece a ID de conexão básica da conta que você deseja excluir. Para obter exemplos completos de API, leia o guia em excluindo sua conta de origem usando a API.