Criar uma configuração do servidor de destino

A criação de um servidor de destino é a primeira etapa na criação de seu próprio destino com o Destination SDK. O servidor de destino inclui opções de configuração para o server e modelos especificações, a variável formato da mensagem, e o formatação de arquivo (para destinos baseados em arquivo).

Esta página exemplifica a solicitação de API e a carga que você pode usar para criar seu próprio servidor de destino usando o /authoring/destination-servers Endpoint da API.

Para obter uma descrição detalhada dos recursos que você pode configurar por meio desse endpoint, leia os seguintes artigos:

IMPORTANT
Todos os nomes e valores de parâmetros compatíveis com o Destination SDK são diferencia maiúsculas de minúsculas. Para evitar erros de diferenciação entre maiúsculas e minúsculas, use os nomes e valores dos parâmetros exatamente como mostrado na documentação.

Introdução às operações de API do servidor de destino get-started

Antes de continuar, reveja o guia de introdução para obter informações importantes que você precisa saber para fazer chamadas com êxito para a API, incluindo como obter a permissão de criação de destino e os cabeçalhos necessários.

Criar uma configuração do servidor de destino create

Você pode criar uma nova configuração do servidor de destino fazendo uma POST solicitação à /authoring/destination-servers terminal.

TIP
Ponto de acesso da API: platform.adobe.io/data/core/activation/authoring/destination-servers

Formato da API

POST /authoring/destination-servers

Dependendo do tipo de destino criado, é necessário configurar um tipo de servidor de destino ligeiramente diferente.

Criar servidores de destino de esquema estáticos static-destination-servers

Consulte nas guias abaixo exemplos de servidores de destino para destinos que usam esquemas estáticos.

As cargas de exemplo abaixo incluem todos os parâmetros compatíveis com cada tipo de servidor de destino. Não é necessário incluir todos os parâmetros em sua solicitação. A carga é personalizável com base nas suas necessidades.

Selecione cada guia abaixo para exibir as solicitações de API correspondentes.

Tempo real (transmissão)

Criar um servidor de destino (transmissão) em tempo real

Você precisa criar um servidor de destino em tempo real (transmissão) semelhante ao mostrado abaixo ao configurar uma integração baseada em API em tempo real (transmissão).

accordion
Solicitação
code language-shell
curl -X POST https://platform.adobe.io/data/core/activation/authoring/destination-servers \
 -H 'Authorization: Bearer {ACCESS_TOKEN}' \
 -H 'Content-Type: application/json' \
 -H 'x-gw-ims-org-id: {ORG_ID}' \
 -H 'x-api-key: {API_KEY}' \
 -H 'x-sandbox-name: {SANDBOX_NAME}' \
 -d '
{
   "name":"Moviestar destination server",
   "destinationServerType":"URL_BASED",
   "urlBasedDestination":{
      "url":{
         "templatingStrategy":"PEBBLE_V1",
         "value":"https://api.moviestar.com/data/{{customerData.region}}/items"
      }
   },
   "httpTemplate":{
      "httpMethod":"POST",
      "requestBody":{
         "templatingStrategy":"PEBBLE_V1",
         "value":"{ \"attributes\": [ {% for ns in [\"external_id\", \"yourdestination_id\"] %} {% if input.profile.identityMap[ns] is not empty and first_namespace_encountered %} , {% endif %} {% set first_namespace_encountered = true %} {% for identity in input.profile.identityMap[ns]%} { \"{{ ns }}\": \"{{ identity.id }}\" {% if input.profile.segmentMembership.ups is not empty %} , \"AEPSegments\": { \"add\": [ {% for segment in input.profile.segmentMembership.ups %} {% if segment.value.status == \"realized\" or segment.value.status == \"existing\" %} {% if added_segment_found %} , {% endif %} {% set added_segment_found = true %} \"{{ destination.segmentAliases[segment.key] }}\" {% endif %} {% endfor %} ], \"remove\": [ {% for segment in input.profile.segmentMembership.ups %} {% if segment.value.status == \"exited\" %} {% if removed_segment_found %} , {% endif %} {% set removed_segment_found = true %} \"{{ destination.segmentAliases[segment.key] }}\" {% endif %} {% endfor %} ] } {% set removed_segment_found = false %} {% set added_segment_found = false %} {% endif %} {% if input.profile.attributes is not empty %} , {% endif %} {% for attribute in input.profile.attributes %} \"{{ attribute.key }}\": {% if attribute.value is empty %} null {% else %} \"{{ attribute.value.value }}\" {% endif %} {% if not loop.last%} , {% endif %} {% endfor %} } {% if not loop.last %} , {% endif %} {% endfor %} {% endfor %} ] }"
      },
      "contentType":"application/json"
   }
}
table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 6-row-3 7-row-3 8-row-3 layout-auto
Parâmetro Tipo Descrição
name String Obrigatório. Representa um nome amigável do servidor, visível somente para o Adobe. Este nome não está visível para parceiros ou clientes. Exemplo Moviestar destination server.
destinationServerType String Obrigatório. Defina como URL_BASED para destinos em tempo real (transmissão).
urlBasedDestination.url.templatingStrategy String

Obrigatório.

  • Uso PEBBLE_V1 se o Adobe precisar transformar o URL no value abaixo. Use esta opção se você tiver um terminal como https://api.moviestar.com/data/{{customerData.region}}/items, em que o region pode diferir entre os clientes. Nesse caso, também é necessário configurar region as a campo de dados do cliente no [configuração de destino]…/destination-configuration/create-destination-configuration.md.
  • Uso NONE se nenhuma transformação for necessária no lado do Adobe, por exemplo, se você tiver um terminal como: https://api.moviestar.com/data/items.
urlBasedDestination.url.value String Obrigatório. Preencha o endereço do endpoint da API ao qual o Experience Platform deve se conectar.
httpTemplate.httpMethod String Obrigatório. O método que o Adobe usará nas chamadas para o servidor. As opções são GET, PUT, POST, DELETE, PATCH.
httpTemplate.requestBody.templatingStrategy String Obrigatório. Use PEBBLE_V1.
httpTemplate.requestBody.value String

Obrigatório. Essa string é a versão com escape de caracteres que transforma os dados de clientes da Platform no formato esperado pelo seu serviço.

httpTemplate.contentType String Obrigatório. O tipo de conteúdo que seu servidor aceita. Este valor é mais provável application/json.
accordion
Resposta
Uma resposta bem-sucedida retorna o status HTTP 200 com detalhes da configuração do servidor de destino recém-criado.
Amazon S3

Criar um servidor de destino do Amazon S3

É necessário criar um Amazon S3 servidor de destino semelhante ao mostrado abaixo ao configurar um servidor baseado em Amazon S3 destino.

accordion
Solicitação
code language-shell
curl -X POST https://platform.adobe.io/data/core/activation/authoring/destination-servers \
 -H 'Authorization: Bearer {ACCESS_TOKEN}' \
 -H 'Content-Type: application/json' \
 -H 'x-gw-ims-org-id: {ORG_ID}' \
 -H 'x-api-key: {API_KEY}' \
 -H 'x-sandbox-name: {SANDBOX_NAME}' \
 -d '
{
    "name": "S3 destination",
    "destinationServerType": "FILE_BASED_S3",
    "fileBasedS3Destination": {
        "bucket": {
            "templatingStrategy": "PEBBLE_V1",
            "value": "{{customerData.bucket}}"
        },
        "path": {
            "templatingStrategy": "PEBBLE_V1",
            "value": "{{customerData.path}}"
        }
    },
    "fileConfigurations": {
        "compression": {
            "templatingStrategy": "PEBBLE_V1",
            "value": "{{customerData.compression}}"
        },
        "fileType": {
            "templatingStrategy": "PEBBLE_V1",
            "value": "{{customerData.fileType}}"
        },
        "csvOptions": {
            "quote": {
                "templatingStrategy": "NONE",
                "value": "\""
            },
            "quoteAll": {
                "templatingStrategy": "NONE",
                "value": "false"
            },
            "escape": {
                "templatingStrategy": "NONE",
                "value": "\\"
            },
            "escapeQuotes": {
                "templatingStrategy": "NONE",
                "value": "true"
            },
            "header": {
                "templatingStrategy": "NONE",
                "value": "true"
            },
            "ignoreLeadingWhiteSpace": {
                "templatingStrategy": "NONE",
                "value": "true"
            },
            "ignoreTrailingWhiteSpace": {
                "templatingStrategy": "NONE",
                "value": "true"
            },
            "nullValue": {
                "templatingStrategy": "NONE",
                "value": ""
            },
            "dateFormat": {
                "templatingStrategy": "NONE",
                "value": "yyyy-MM-dd"
            },
            "timestampFormat": {
                "templatingStrategy": "NONE",
                "value": "yyyy-MM-dd'T':mm:ss[.SSS][XXX]"
            },
            "charToEscapeQuoteEscaping": {
                "templatingStrategy": "NONE",
                "value": "\\"
            },
            "emptyValue": {
                "templatingStrategy": "NONE",
                "value": ""
            }
        }
    }
}
table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 6-row-3 7-row-3 layout-auto
Parâmetro Tipo Descrição
name String O nome da conexão de destino.
destinationServerType String Defina esse valor de acordo com sua plataforma de destino. Para Amazon S3, defina como FILE_BASED_S3.
fileBasedS3Destination.bucket.templatingStrategy String Obrigatório. Use PEBBLE_V1.
fileBasedS3Destination.bucket.value String O nome do Amazon S3 bucket a ser usado por esse destino.
fileBasedS3Destination.path.templatingStrategy String Obrigatório. Use PEBBLE_V1.
fileBasedS3Destination.path.value String O caminho para a pasta de destino que hospedará os arquivos exportados.
fileConfigurations N/D Consulte configuração da formatação de arquivo para obter informações detalhadas sobre como definir essas configurações.
accordion
Resposta
Uma resposta bem-sucedida retorna o status HTTP 200 com detalhes da configuração do servidor de destino recém-criado.
SFTP

Criar um SFTP servidor de destino

É necessário criar um SFTP servidor de destino semelhante ao mostrado abaixo ao configurar um servidor baseado em SFTP destino.

accordion
Solicitação
code language-shell
curl -X POST https://platform.adobe.io/data/core/activation/authoring/destination-servers \
 -H 'Authorization: Bearer {ACCESS_TOKEN}' \
 -H 'Content-Type: application/json' \
 -H 'x-gw-ims-org-id: {ORG_ID}' \
 -H 'x-api-key: {API_KEY}' \
 -H 'x-sandbox-name: {SANDBOX_NAME}' \
 -d '
{
   "name":"File-based SFTP destination server",
   "destinationServerType":"FILE_BASED_SFTP",
   "fileBasedSFTPDestination":{
      "rootDirectory":{
         "templatingStrategy":"PEBBLE_V1",
         "value":"{{customerData.rootDirectory}}"
      },
      "port": 22,
      "encryptionMode" : "PGP"
   },
    "fileConfigurations": {
        "compression": {
            "templatingStrategy": "PEBBLE_V1",
            "value": "{{customerData.compression}}"
        },
        "fileType": {
            "templatingStrategy": "PEBBLE_V1",
            "value": "{{customerData.fileType}}"
        },
        "csvOptions": {
            "quote": {
                "templatingStrategy": "NONE",
                "value": "\""
            },
            "quoteAll": {
                "templatingStrategy": "NONE",
                "value": "false"
            },
            "escape": {
                "templatingStrategy": "NONE",
                "value": "\\"
            },
            "escapeQuotes": {
                "templatingStrategy": "NONE",
                "value": "true"
            },
            "header": {
                "templatingStrategy": "NONE",
                "value": "true"
            },
            "ignoreLeadingWhiteSpace": {
                "templatingStrategy": "NONE",
                "value": "true"
            },
            "ignoreTrailingWhiteSpace": {
                "templatingStrategy": "NONE",
                "value": "true"
            },
            "nullValue": {
                "templatingStrategy": "NONE",
                "value": ""
            },
            "dateFormat": {
                "templatingStrategy": "NONE",
                "value": "yyyy-MM-dd"
            },
            "timestampFormat": {
                "templatingStrategy": "NONE",
                "value": "yyyy-MM-dd'T':mm:ss[.SSS][XXX]"
            },
            "charToEscapeQuoteEscaping": {
                "templatingStrategy": "NONE",
                "value": "\\"
            },
            "emptyValue": {
                "templatingStrategy": "NONE",
                "value": ""
            }
        }
    }
}
table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 6-row-3 7-row-3 8-row-3 9-row-3 layout-auto
Parâmetro Tipo Descrição
name String O nome da conexão de destino.
destinationServerType String Defina esse valor de acordo com sua plataforma de destino. Para SFTP destinos, defina como FILE_BASED_SFTP.
fileBasedSFTPDestination.rootDirectory.templatingStrategy String Obrigatório. Use PEBBLE_V1.
fileBasedSFTPDestination.rootDirectory.value String O diretório raiz do armazenamento de destino.
fileBasedSFTPDestination.hostName.templatingStrategy String Obrigatório. Use PEBBLE_V1.
fileBasedSFTPDestination.hostName.value String O nome do host do armazenamento de destino.
port Número inteiro A porta do servidor de arquivos SFTP.
encryptionMode String

Indica se deve ser usada criptografia de arquivo. Valores compatíveis:

  • PGP
  • None
fileConfigurations N/D Consulte configuração da formatação de arquivo para obter informações detalhadas sobre como definir essas configurações.
accordion
Resposta
Uma resposta bem-sucedida retorna o status HTTP 200 com detalhes da configuração do servidor de destino recém-criado.
Armazenamento Azure Data Lake

Criar um Azure Data Lake Storage servidor de destino

É necessário criar um Azure Data Lake Storage servidor de destino semelhante ao mostrado abaixo ao configurar um servidor baseado em Azure Data Lake Storage destino.

accordion
Solicitação
code language-shell
curl -X POST https://platform.adobe.io/data/core/activation/authoring/destination-servers \
 -H 'Authorization: Bearer {ACCESS_TOKEN}' \
 -H 'Content-Type: application/json' \
 -H 'x-gw-ims-org-id: {ORG_ID}' \
 -H 'x-api-key: {API_KEY}' \
 -H 'x-sandbox-name: {SANDBOX_NAME}' \
 -d '
{
   "name":"ADLS destination server",
   "destinationServerType":"FILE_BASED_ADLS_GEN2",
   "fileBasedAdlsGen2Destination":{
      "path":{
         "templatingStrategy":"PEBBLE_V1",
         "value":"{{customerData.path}}"
      }
   },
  "fileConfigurations": {
        "compression": {
            "templatingStrategy": "PEBBLE_V1",
            "value": "{{customerData.compression}}"
        },
        "fileType": {
            "templatingStrategy": "PEBBLE_V1",
            "value": "{{customerData.fileType}}"
        },
        "csvOptions": {
            "quote": {
                "templatingStrategy": "NONE",
                "value": "\""
            },
            "quoteAll": {
                "templatingStrategy": "NONE",
                "value": "false"
            },
            "escape": {
                "templatingStrategy": "NONE",
                "value": "\\"
            },
            "escapeQuotes": {
                "templatingStrategy": "NONE",
                "value": "true"
            },
            "header": {
                "templatingStrategy": "NONE",
                "value": "true"
            },
            "ignoreLeadingWhiteSpace": {
                "templatingStrategy": "NONE",
                "value": "true"
            },
            "ignoreTrailingWhiteSpace": {
                "templatingStrategy": "NONE",
                "value": "true"
            },
            "nullValue": {
                "templatingStrategy": "NONE",
                "value": ""
            },
            "dateFormat": {
                "templatingStrategy": "NONE",
                "value": "yyyy-MM-dd"
            },
            "timestampFormat": {
                "templatingStrategy": "NONE",
                "value": "yyyy-MM-dd'T':mm:ss[.SSS][XXX]"
            },
            "charToEscapeQuoteEscaping": {
                "templatingStrategy": "NONE",
                "value": "\\"
            },
            "emptyValue": {
                "templatingStrategy": "NONE",
                "value": ""
            }
        }
    }
}
table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 layout-auto
Parâmetro Tipo Descrição
name String O nome da conexão de destino.
destinationServerType String Defina esse valor de acordo com sua plataforma de destino. Para Azure Data Lake Storage destinos, defina como FILE_BASED_ADLS_GEN2.
fileBasedAdlsGen2Destination.path.templatingStrategy String Obrigatório. Use PEBBLE_V1.
fileBasedAdlsGen2Destination.path.value String O caminho para a pasta de destino que hospedará os arquivos exportados.
fileConfigurations N/D Consulte configuração da formatação de arquivo para obter informações detalhadas sobre como definir essas configurações.
accordion
Resposta
Uma resposta bem-sucedida retorna o status HTTP 200 com detalhes da configuração do servidor de destino recém-criado.
Armazenamento Azure Blob

Criar um Azure Blob Storage servidor de destino

É necessário criar um Azure Blob Storage servidor de destino semelhante ao mostrado abaixo ao configurar um servidor baseado em Azure Blob Storage destino.

accordion
Solicitação
code language-shell
curl -X POST https://platform.adobe.io/data/core/activation/authoring/destination-servers \
 -H 'Authorization: Bearer {ACCESS_TOKEN}' \
 -H 'Content-Type: application/json' \
 -H 'x-gw-ims-org-id: {ORG_ID}' \
 -H 'x-api-key: {API_KEY}' \
 -H 'x-sandbox-name: {SANDBOX_NAME}' \
 -d '
{
   "name":"Blob destination server",
   "destinationServerType":"FILE_BASED_AZURE_BLOB",
   "fileBasedAzureBlobDestination":{
      "path":{
         "templatingStrategy":"PEBBLE_V1",
         "value":"{{customerData.path}}"
      },
      "container":{
         "templatingStrategy":"PEBBLE_V1",
         "value":"{{customerData.container}}"
      }
   },
  "fileConfigurations": {
        "compression": {
            "templatingStrategy": "PEBBLE_V1",
            "value": "{{customerData.compression}}"
        },
        "fileType": {
            "templatingStrategy": "PEBBLE_V1",
            "value": "{{customerData.fileType}}"
        },
        "csvOptions": {
            "quote": {
                "templatingStrategy": "NONE",
                "value": "\""
            },
            "quoteAll": {
                "templatingStrategy": "NONE",
                "value": "false"
            },
            "escape": {
                "templatingStrategy": "NONE",
                "value": "\\"
            },
            "escapeQuotes": {
                "templatingStrategy": "NONE",
                "value": "true"
            },
            "header": {
                "templatingStrategy": "NONE",
                "value": "true"
            },
            "ignoreLeadingWhiteSpace": {
                "templatingStrategy": "NONE",
                "value": "true"
            },
            "ignoreTrailingWhiteSpace": {
                "templatingStrategy": "NONE",
                "value": "true"
            },
            "nullValue": {
                "templatingStrategy": "NONE",
                "value": ""
            },
            "dateFormat": {
                "templatingStrategy": "NONE",
                "value": "yyyy-MM-dd"
            },
            "timestampFormat": {
                "templatingStrategy": "NONE",
                "value": "yyyy-MM-dd'T':mm:ss[.SSS][XXX]"
            },
            "charToEscapeQuoteEscaping": {
                "templatingStrategy": "NONE",
                "value": "\\"
            },
            "emptyValue": {
                "templatingStrategy": "NONE",
                "value": ""
            }
        }
    }
}
table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 6-row-3 7-row-3 layout-auto
Parâmetro Tipo Descrição
name String O nome da conexão de destino.
destinationServerType String Defina esse valor de acordo com sua plataforma de destino. Para Azure Blob Storage destinos, defina como FILE_BASED_AZURE_BLOB.
fileBasedAzureBlobDestination.path.templatingStrategy String Obrigatório. Use PEBBLE_V1.
fileBasedAzureBlobDestination.path.value String O caminho para a pasta de destino que hospedará os arquivos exportados.
fileBasedAzureBlobDestination.container.templatingStrategy String Obrigatório. Use PEBBLE_V1.
fileBasedAzureBlobDestination.container.value String O nome do Azure Blob Storage contêiner a ser usado por este destino.
fileConfigurations N/D Consulte configuração da formatação de arquivo para obter informações detalhadas sobre como definir essas configurações.
accordion
Resposta
Uma resposta bem-sucedida retorna o status HTTP 200 com detalhes da configuração do servidor de destino recém-criado.
Zona de aterrissagem de dados (DLZ)

Criar um Data Landing Zone (DLZ) servidor de destino

É necessário criar um Data Landing Zone (DLZ) servidor de destino semelhante ao mostrado abaixo ao configurar um servidor baseado em Data Landing Zone (DLZ) destino.

accordion
Solicitação
code language-shell
curl -X POST https://platform.adobe.io/data/core/activation/authoring/destination-servers \
 -H 'Authorization: Bearer {ACCESS_TOKEN}' \
 -H 'Content-Type: application/json' \
 -H 'x-gw-ims-org-id: {ORG_ID}' \
 -H 'x-api-key: {API_KEY}' \
 -H 'x-sandbox-name: {SANDBOX_NAME}' \
 -d '
{
   "name":"DLZ destination server",
   "destinationServerType":"FILE_BASED_DLZ",
   "fileBasedDlzDestination":{
      "path":{
         "templatingStrategy":"PEBBLE_V1",
         "value":"{{customerData.path}}"
      },
      "useCase": "Your use case"
   },
   "fileConfigurations": {
        "compression": {
            "templatingStrategy": "PEBBLE_V1",
            "value": "{{customerData.compression}}"
        },
        "fileType": {
            "templatingStrategy": "PEBBLE_V1",
            "value": "{{customerData.fileType}}"
        },
        "csvOptions": {
            "quote": {
                "templatingStrategy": "NONE",
                "value": "\""
            },
            "quoteAll": {
                "templatingStrategy": "NONE",
                "value": "false"
            },
            "escape": {
                "templatingStrategy": "NONE",
                "value": "\\"
            },
            "escapeQuotes": {
                "templatingStrategy": "NONE",
                "value": "true"
            },
            "header": {
                "templatingStrategy": "NONE",
                "value": "true"
            },
            "ignoreLeadingWhiteSpace": {
                "templatingStrategy": "NONE",
                "value": "true"
            },
            "ignoreTrailingWhiteSpace": {
                "templatingStrategy": "NONE",
                "value": "true"
            },
            "nullValue": {
                "templatingStrategy": "NONE",
                "value": ""
            },
            "dateFormat": {
                "templatingStrategy": "NONE",
                "value": "yyyy-MM-dd"
            },
            "timestampFormat": {
                "templatingStrategy": "NONE",
                "value": "yyyy-MM-dd'T':mm:ss[.SSS][XXX]"
            },
            "charToEscapeQuoteEscaping": {
                "templatingStrategy": "NONE",
                "value": "\\"
            },
            "emptyValue": {
                "templatingStrategy": "NONE",
                "value": ""
            }
        }
    }
}
table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 layout-auto
Parâmetro Tipo Descrição
name String O nome da conexão de destino.
destinationServerType String Defina esse valor de acordo com sua plataforma de destino. Para Data Landing Zone destinos, defina como FILE_BASED_DLZ.
fileBasedDlzDestination.path.templatingStrategy String Obrigatório. Use PEBBLE_V1.
fileBasedDlzDestination.path.value String O caminho para a pasta de destino que hospedará os arquivos exportados.
fileConfigurations N/D Consulte configuração da formatação de arquivo para obter informações detalhadas sobre como definir essas configurações.
accordion
Resposta
Uma resposta bem-sucedida retorna o status HTTP 200 com detalhes da configuração do servidor de destino recém-criado.
Armazenamento em nuvem Google

Criar um Google Cloud Storage servidor de destino

É necessário criar um Google Cloud Storage servidor de destino semelhante ao mostrado abaixo ao configurar um servidor baseado em Google Cloud Storage destino.

accordion
Solicitação
code language-shell
curl -X POST https://platform.adobe.io/data/core/activation/authoring/destination-servers \
 -H 'Authorization: Bearer {ACCESS_TOKEN}' \
 -H 'Content-Type: application/json' \
 -H 'x-gw-ims-org-id: {ORG_ID}' \
 -H 'x-api-key: {API_KEY}' \
 -H 'x-sandbox-name: {SANDBOX_NAME}' \
 -d '
{
   "name":"Google Cloud Storage Server",
   "destinationServerType":"FILE_BASED_GOOGLE_CLOUD",
   "fileBasedGoogleCloudStorageDestination":{
      "bucket":{
         "templatingStrategy":"PEBBLE_V1",
         "value":"{{customerData.bucket}}"
      },
      "path":{
         "templatingStrategy":"PEBBLE_V1",
         "value":"{{customerData.path}}"
      }
   },
  "fileConfigurations": {
        "compression": {
            "templatingStrategy": "PEBBLE_V1",
            "value": "{{customerData.compression}}"
        },
        "fileType": {
            "templatingStrategy": "PEBBLE_V1",
            "value": "{{customerData.fileType}}"
        },
        "csvOptions": {
            "quote": {
                "templatingStrategy": "NONE",
                "value": "\""
            },
            "quoteAll": {
                "templatingStrategy": "NONE",
                "value": "false"
            },
            "escape": {
                "templatingStrategy": "NONE",
                "value": "\\"
            },
            "escapeQuotes": {
                "templatingStrategy": "NONE",
                "value": "true"
            },
            "header": {
                "templatingStrategy": "NONE",
                "value": "true"
            },
            "ignoreLeadingWhiteSpace": {
                "templatingStrategy": "NONE",
                "value": "true"
            },
            "ignoreTrailingWhiteSpace": {
                "templatingStrategy": "NONE",
                "value": "true"
            },
            "nullValue": {
                "templatingStrategy": "NONE",
                "value": ""
            },
            "dateFormat": {
                "templatingStrategy": "NONE",
                "value": "yyyy-MM-dd"
            },
            "timestampFormat": {
                "templatingStrategy": "NONE",
                "value": "yyyy-MM-dd'T':mm:ss[.SSS][XXX]"
            },
            "charToEscapeQuoteEscaping": {
                "templatingStrategy": "NONE",
                "value": "\\"
            },
            "emptyValue": {
                "templatingStrategy": "NONE",
                "value": ""
            }
        }
    }
}
table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 6-row-3 7-row-3 layout-auto
Parâmetro Tipo Descrição
name String O nome da conexão de destino.
destinationServerType String Defina esse valor de acordo com sua plataforma de destino. Para Google Cloud Storage destinos, defina como FILE_BASED_GOOGLE_CLOUD.
fileBasedGoogleCloudStorageDestination.bucket.templatingStrategy String Obrigatório. Use PEBBLE_V1.
fileBasedGoogleCloudStorageDestination.bucket.value String O nome do Google Cloud Storage bucket a ser usado por esse destino.
fileBasedGoogleCloudStorageDestination.path.templatingStrategy String Obrigatório. Use PEBBLE_V1.
fileBasedGoogleCloudStorageDestination.path.value String O caminho para a pasta de destino que hospedará os arquivos exportados.
fileConfigurations N/D Consulte configuração da formatação de arquivo para obter informações detalhadas sobre como definir essas configurações.
accordion
Resposta
Uma resposta bem-sucedida retorna o status HTTP 200 com detalhes da configuração do servidor de destino recém-criado.

Criar servidores de destino de esquema dinâmico dynamic-schema-servers

Os esquemas dinâmicos permitem recuperar dinamicamente os atributos de destino compatíveis e gerar esquemas com base em sua própria API. Você precisa configurar um servidor de destino para esquemas dinâmicos antes de poder configurar o esquema.

Consulte na guia abaixo um exemplo de servidor de destino para destinos que usam esquemas dinâmicos.

A carga de exemplo abaixo inclui todos os parâmetros necessários para um servidor de esquema dinâmico.

Servidor de esquema dinâmico

Criar um servidor de esquema dinâmico

É necessário criar um servidor de esquema dinâmico semelhante ao mostrado abaixo ao configurar um destino que recupera o esquema de perfil de seu próprio ponto de acesso de API. Ao contrário de um esquema estático, um esquema dinâmico não usa um profileFields matriz. Em vez disso, os esquemas dinâmicos usam um servidor de esquema dinâmico que se conecta à sua própria API de onde recupera a configuração do esquema.

accordion
Solicitação
code language-shell
curl -X POST https://platform.adobe.io/data/core/activation/authoring/destination-servers \
 -H 'Authorization: Bearer {ACCESS_TOKEN}' \
 -H 'Content-Type: application/json' \
 -H 'x-gw-ims-org-id: {ORG_ID}' \
 -H 'x-api-key: {API_KEY}' \
 -H 'x-sandbox-name: {SANDBOX_NAME}' \
 -d '
{
   "name":"Dynamic Schema Server",
   "destinationServerType":"URL_BASED",
   "urlBasedDestination":{
      "url":{
         "templatingStrategy":"PEBBLE_V1",
         "value":"https://YOUR_API_ENDPOINT/"
      }
   },
   "httpTemplate":{
      "httpMethod":"GET"
   },
   "responseFields":[
      {
         "templatingStrategy":"PEBBLE_V1",
         "value":"{\n    \"type\":\"object\",\n    \"title\": \"Contact Schema\",\n    \"properties\": {\n        {% for setDefinition in response.body.items %}\n            \"{{setDefinition.key}}\": {\n                \"title\" : \"{{setDefinition.name.value}}\",\n                \"type\" : \"object\",\n                \"properties\": {\n                    {% for attribute in setDefinition.attributes %}\n                        \"{{attribute.key}}\": {\n                            \"title\" : \"{{attribute.name.value}}\",\n                            \"type\" : \"string\"\n                        }\n                        {% if not loop.last %},{%endif%}\n                    {% endfor %}\n                }\n            }\n            {% if not loop.last %},{%endif%}\n        {% endfor %}\n    }\n}",
         "name":"schema"
      }
   ]
}
table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 6-row-3 7-row-3 layout-auto
Parâmetro Tipo Descrição
name String Obrigatório. Representa um nome amigável do servidor de esquema dinâmico, visível somente para Adobe.
destinationServerType String Obrigatório. Defina como URL_BASED para servidores de esquema dinâmicos.
urlBasedDestination.url.templatingStrategy String

Obrigatório.

  • Uso PEBBLE_V1 se o Adobe precisar transformar o URL no value abaixo. Use essa opção se você tiver um terminal como: https://api.moviestar.com/data/{{customerData.region}}/items.
  • Uso NONE se nenhuma transformação for necessária no lado do Adobe, por exemplo, se você tiver um terminal como: https://api.moviestar.com/data/items.
urlBasedDestination.url.value String Obrigatório. Preencha o endereço do endpoint da API ao qual o Experience Platform deve se conectar e recupere os campos de esquema para preencher como campos de destino na etapa de mapeamento do fluxo de trabalho de ativação.
httpTemplate.httpMethod String Obrigatório. O método que o Adobe usará nas chamadas para o servidor. Para servidores de esquema dinâmicos, use GET.
responseFields.templatingStrategy String Obrigatório. Use PEBBLE_V1.
responseFields.value String

Obrigatório. Essa string é o modelo de transformação com escape de caracteres que transforma a resposta recebida da API do parceiro no esquema do parceiro que será exibido na interface do usuário da Platform.

accordion
Resposta
Uma resposta bem-sucedida retorna o status HTTP 200 com detalhes da configuração do servidor de destino recém-criado.

Criar servidores de destino de lista suspensa dinâmica dynamic-dropdown-servers

Uso menus suspensos dinâmicos para recuperar e preencher dinamicamente campos suspensos de dados do cliente, com base em sua própria API. Por exemplo, você pode recuperar uma lista de contas de usuário existentes que deseja usar para uma conexão de destino.

Você precisa configurar um servidor de destino para menus suspensos dinâmicos antes de poder configurar o campo de dados do cliente da lista suspensa dinâmica.

Consulte na guia abaixo um exemplo de servidor de destino usado para recuperar dinamicamente os valores a serem exibidos em um seletor suspenso, de uma API.

A carga de exemplo abaixo inclui todos os parâmetros necessários para um servidor de esquema dinâmico.

Servidor de lista suspensa dinâmica

Criar um servidor suspenso dinâmico

É necessário criar um servidor suspenso dinâmico semelhante ao mostrado abaixo ao configurar um destino que recupera os valores de um campo suspenso de dados do cliente do seu próprio ponto de acesso de API.

accordion
Solicitação
code language-shell
curl -X POST https://platform.adobe.io/data/core/activation/authoring/destination-servers \
 -H 'Authorization: Bearer {ACCESS_TOKEN}' \
 -H 'Content-Type: application/json' \
 -H 'x-gw-ims-org-id: {ORG_ID}' \
 -H 'x-api-key: {API_KEY}' \
 -H 'x-sandbox-name: {SANDBOX_NAME}' \
 -d '
{
   "name":"Server for dynamic dropdown",
   "destinationServerType":"URL_BASED",
   "urlBasedDestination":{
      "url":{
         "templatingStrategy":"PEBBLE_V1",
         "value":"https://api.moviestar.com/data/{{customerData.users}}/items"
      }
   },
   "httpTemplate":{
      "httpMethod":"GET",
      "headers":[
         {
            "header":"Authorization",
            "value":{
               "templatingStrategy":"PEBBLE_V1",
               "value":"My Bearer Token"
            }
         },
         {
            "header":"x-integration",
            "value":{
               "templatingStrategy":"PEBBLE_V1",
               "value":"{{customerData.integrationId}}"
            }
         },
         {
            "header":"Accept",
            "value":{
               "templatingStrategy":"NONE",
               "value":"application/json"
            }
         }
      ]
   },
   "responseFields":[
      {
         "templatingStrategy":"PEBBLE_V1",
         "value":"{% set list = [] %} {% for record in response.body %} {% set list = list|merge([{'name' : record.name, 'value' : record.id }]) %} {% endfor %}{{ {'list': list} | toJson | raw }}",
         "name":"list"
      }
   ]
}
table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 6-row-3 7-row-3 8-row-3 layout-auto
Parâmetro Tipo Descrição
name String Obrigatório. Representa um nome amigável do servidor suspenso dinâmico, visível somente para Adobe.
destinationServerType String Obrigatório. Defina como URL_BASED para servidores suspensos dinâmicos.
urlBasedDestination.url.templatingStrategy String

Obrigatório.

  • Uso PEBBLE_V1 se o Adobe precisar transformar o URL no value abaixo. Use essa opção se você tiver um terminal como: https://api.moviestar.com/data/{{customerData.region}}/items.
  • Uso NONE se nenhuma transformação for necessária no lado do Adobe, por exemplo, se você tiver um terminal como: https://api.moviestar.com/data/items.
urlBasedDestination.url.value String Obrigatório. Preencha o endereço do endpoint da API ao qual o Experience Platform deve se conectar e recupere os valores da lista suspensa.
httpTemplate.httpMethod String Obrigatório. O método que o Adobe usará nas chamadas para o servidor. Para servidores suspensos dinâmicos, use GET.
httpTemplate.headers Objeto Opcional.l Inclua todos os cabeçalhos necessários para se conectar ao servidor suspenso dinâmico.
responseFields.templatingStrategy String Obrigatório. Use PEBBLE_V1.
responseFields.value String

Obrigatório. Essa string é o template de transformação com escape de caracteres que transforma a resposta recebida da API nos valores que serão exibidos na interface do usuário da Platform.

accordion
Resposta
Uma resposta bem-sucedida retorna o status HTTP 200 com detalhes da configuração do servidor de destino recém-criado.

Manipulação de erros de API error-handling

Os endpoints da API Destination SDK 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.

Próximas etapas next-steps

Depois de ler este documento, você sabe como criar um novo servidor de destino por meio do Destination SDK /authoring/destination-servers Endpoint da API.

Para saber mais sobre o que você pode fazer com esse endpoint, consulte os seguintes artigos:

Para entender onde esse endpoint se encaixa no processo de criação de destino, consulte os seguintes artigos:

recommendation-more-help
7f4d1967-bf93-4dba-9789-bb6b505339d6