Crear una configuración de servidor de destino

La creación de un servidor de destino es el primer paso para crear su propio destino con Destination SDK. El servidor de destino incluye opciones de configuración para server y creación de plantillas especificaciones, el formato del mensaje, y el formato de archivo opciones (para destinos basados en archivos).

Esta página ejemplifica la solicitud de API y la carga útil que puede utilizar para crear su propio servidor de destino mediante /authoring/destination-servers Extremo de API.

Para obtener una descripción detallada de las capacidades que puede configurar a través de este extremo, lea los siguientes artículos:

IMPORTANT
Todos los nombres y valores de parámetro admitidos por el Destination SDK son distingue mayúsculas de minúsculas. Para evitar errores de distinción entre mayúsculas y minúsculas, utilice los nombres y valores de los parámetros exactamente como se muestra en la documentación.

Introducción a las operaciones de API del servidor de destino get-started

Antes de continuar, consulte la guía de introducción para obtener información importante que necesita conocer para realizar llamadas correctamente a la API, incluido cómo obtener el permiso de creación de destino requerido y los encabezados necesarios.

Crear una configuración de servidor de destino create

Puede crear una nueva configuración de servidor de destino realizando una POST solicitud a la /authoring/destination-servers punto final.

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

Formato de API

POST /authoring/destination-servers

Según el tipo de destino que cree, debe configurar un tipo ligeramente diferente de servidor de destino.

Crear servidores de destino de esquema estático static-destination-servers

Consulte en las pestañas siguientes ejemplos de servidores de destino para destinos que utilizan esquemas estáticos.

Las siguientes cargas útiles de ejemplo incluyen todos los parámetros admitidos por cada tipo de servidor de destino. No es necesario incluir todos los parámetros en la solicitud. La carga útil se puede personalizar según sus necesidades.

Seleccione cada pestaña a continuación para ver las solicitudes de API correspondientes.

Tiempo real (streaming)

Creación de un servidor de destino en tiempo real (flujo continuo)

Debe crear un servidor de destino en tiempo real (flujo) similar al que se muestra a continuación cuando configura una integración basada en API en tiempo real (flujo).

accordion
Solicitud
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 Descripción
name Cadena Requerido. Representa un nombre descriptivo del servidor, visible solo para el Adobe. Este nombre no es visible para socios o clientes. Ejemplo Moviestar destination server.
destinationServerType Cadena Requerido. Configure como. URL_BASED para destinos en tiempo real (streaming).
urlBasedDestination.url.templatingStrategy Cadena

Requerido.

  • Uso PEBBLE_V1 si Adobe necesita transformar la dirección URL en value Campo inferior. Utilice esta opción si tiene un punto final como https://api.moviestar.com/data/{{customerData.region}}/items, donde la variable region Las partes pueden diferir entre los clientes. En este caso, también debe configurar region as a campo de datos del cliente en el [configuración de destino] (…/destination-configuration/create-destination-configuration.md.
  • Uso NONE si no se necesita ninguna transformación en el lado del Adobe, por ejemplo, si tiene un punto final como: https://api.moviestar.com/data/items.
urlBasedDestination.url.value Cadena Requerido. Rellene la dirección del extremo de API al que el Experience Platform debe conectarse.
httpTemplate.httpMethod Cadena Requerido. El método que utilizará el Adobe en las llamadas a su servidor. Las opciones son GET, PUT, POST, DELETE, PATCH.
httpTemplate.requestBody.templatingStrategy Cadena Requerido. En su lugar, utilice PEBBLE_V1.
httpTemplate.requestBody.value Cadena

Requerido. Esta cadena es la versión con caracteres de escape que transforma los datos de los clientes de Platform al formato que espera el servicio.

httpTemplate.contentType Cadena Requerido. El tipo de contenido que acepta el servidor. Este valor es muy probable application/json.
accordion
Respuesta
Una respuesta correcta devuelve el estado HTTP 200 con detalles de la configuración del servidor de destino recién creada.
Amazon S3

Creación de un servidor de destino de Amazon S3

Debe crear un Amazon S3 servidor de destino similar al que se muestra a continuación cuando se configura un Amazon S3 destino.

accordion
Solicitud
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 Descripción
name Cadena Nombre de la conexión de destino.
destinationServerType Cadena Establezca este valor según la plataforma de destino. Para Amazon S3, establezca esto como FILE_BASED_S3.
fileBasedS3Destination.bucket.templatingStrategy Cadena Requerido. En su lugar, utilice PEBBLE_V1.
fileBasedS3Destination.bucket.value Cadena El nombre del Amazon S3 contenedor que utilizará este destino.
fileBasedS3Destination.path.templatingStrategy Cadena Requerido. En su lugar, utilice PEBBLE_V1.
fileBasedS3Destination.path.value Cadena Ruta a la carpeta de destino que alojará los archivos exportados.
fileConfigurations N/A Consulte configuración de formato de archivo para obtener información detallada sobre cómo establecer esta configuración.
accordion
Respuesta
Una respuesta correcta devuelve el estado HTTP 200 con detalles de la configuración del servidor de destino recién creada.
SFTP

Crear un SFTP servidor de destino

Debe crear un SFTP servidor de destino similar al que se muestra a continuación cuando se configura un SFTP destino.

accordion
Solicitud
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 Descripción
name Cadena Nombre de la conexión de destino.
destinationServerType Cadena Establezca este valor según la plataforma de destino. Para SFTP destinos, establezca esto en FILE_BASED_SFTP.
fileBasedSFTPDestination.rootDirectory.templatingStrategy Cadena Requerido. En su lugar, utilice PEBBLE_V1.
fileBasedSFTPDestination.rootDirectory.value Cadena El directorio raíz del almacenamiento de destino.
fileBasedSFTPDestination.hostName.templatingStrategy Cadena Requerido. En su lugar, utilice PEBBLE_V1.
fileBasedSFTPDestination.hostName.value Cadena El nombre de host del almacenamiento de destino.
port Número entero El puerto del servidor de archivos SFTP.
encryptionMode Cadena

Indica si se debe utilizar el cifrado de archivos. Valores compatibles:

  • PGP
  • Ninguna
fileConfigurations N/A Consulte configuración de formato de archivo para obtener información detallada sobre cómo establecer esta configuración.
accordion
Respuesta
Una respuesta correcta devuelve el estado HTTP 200 con detalles de la configuración del servidor de destino recién creada.
Azure Data Lake Storage

Crear un Azure Data Lake Storage servidor de destino

Debe crear un Azure Data Lake Storage servidor de destino similar al que se muestra a continuación cuando se configura un Azure Data Lake Storage destino.

accordion
Solicitud
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 Descripción
name Cadena Nombre de la conexión de destino.
destinationServerType Cadena Establezca este valor según la plataforma de destino. Para Azure Data Lake Storage destinos, establezca esto en FILE_BASED_ADLS_GEN2.
fileBasedAdlsGen2Destination.path.templatingStrategy Cadena Requerido. En su lugar, utilice PEBBLE_V1.
fileBasedAdlsGen2Destination.path.value Cadena Ruta a la carpeta de destino que alojará los archivos exportados.
fileConfigurations N/A Consulte configuración de formato de archivo para obtener información detallada sobre cómo establecer esta configuración.
accordion
Respuesta
Una respuesta correcta devuelve el estado HTTP 200 con detalles de la configuración del servidor de destino recién creada.
Almacenamiento de Azure Blob

Crear un Azure Blob Storage servidor de destino

Debe crear un Azure Blob Storage servidor de destino similar al que se muestra a continuación cuando se configura un Azure Blob Storage destino.

accordion
Solicitud
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 Descripción
name Cadena Nombre de la conexión de destino.
destinationServerType Cadena Establezca este valor según la plataforma de destino. Para Azure Blob Storage destinos, establezca esto en FILE_BASED_AZURE_BLOB.
fileBasedAzureBlobDestination.path.templatingStrategy Cadena Requerido. En su lugar, utilice PEBBLE_V1.
fileBasedAzureBlobDestination.path.value Cadena Ruta a la carpeta de destino que alojará los archivos exportados.
fileBasedAzureBlobDestination.container.templatingStrategy Cadena Requerido. En su lugar, utilice PEBBLE_V1.
fileBasedAzureBlobDestination.container.value Cadena El nombre del Azure Blob Storage contenedor que utilizará este destino.
fileConfigurations N/A Consulte configuración de formato de archivo para obtener información detallada sobre cómo establecer esta configuración.
accordion
Respuesta
Una respuesta correcta devuelve el estado HTTP 200 con detalles de la configuración del servidor de destino recién creada.
Zona de aterrizaje de datos (DLZ)

Crear un Data Landing Zone (DLZ) servidor de destino

Debe crear un Data Landing Zone (DLZ) servidor de destino similar al que se muestra a continuación cuando se configura un Data Landing Zone (DLZ) destino.

accordion
Solicitud
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 Descripción
name Cadena Nombre de la conexión de destino.
destinationServerType Cadena Establezca este valor según la plataforma de destino. Para Data Landing Zone destinos, establezca esto en FILE_BASED_DLZ.
fileBasedDlzDestination.path.templatingStrategy Cadena Requerido. En su lugar, utilice PEBBLE_V1.
fileBasedDlzDestination.path.value Cadena Ruta a la carpeta de destino que alojará los archivos exportados.
fileConfigurations N/A Consulte configuración de formato de archivo para obtener información detallada sobre cómo establecer esta configuración.
accordion
Respuesta
Una respuesta correcta devuelve el estado HTTP 200 con detalles de la configuración del servidor de destino recién creada.
Almacenamiento de Google Cloud

Crear un Google Cloud Storage servidor de destino

Debe crear un Google Cloud Storage servidor de destino similar al que se muestra a continuación cuando se configura un Google Cloud Storage destino.

accordion
Solicitud
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 Descripción
name Cadena Nombre de la conexión de destino.
destinationServerType Cadena Establezca este valor según la plataforma de destino. Para Google Cloud Storage destinos, establezca esto en FILE_BASED_GOOGLE_CLOUD.
fileBasedGoogleCloudStorageDestination.bucket.templatingStrategy Cadena Requerido. En su lugar, utilice PEBBLE_V1.
fileBasedGoogleCloudStorageDestination.bucket.value Cadena El nombre del Google Cloud Storage contenedor que utilizará este destino.
fileBasedGoogleCloudStorageDestination.path.templatingStrategy Cadena Requerido. En su lugar, utilice PEBBLE_V1.
fileBasedGoogleCloudStorageDestination.path.value Cadena Ruta a la carpeta de destino que alojará los archivos exportados.
fileConfigurations N/A Consulte configuración de formato de archivo para obtener información detallada sobre cómo establecer esta configuración.
accordion
Respuesta
Una respuesta correcta devuelve el estado HTTP 200 con detalles de la configuración del servidor de destino recién creada.

Crear servidores de destino de esquema dinámico dynamic-schema-servers

Los esquemas dinámicos le permiten recuperar dinámicamente los atributos de destino admitidos y generar esquemas basados en su propia API. Debe configurar un servidor de destino para esquemas dinámicos antes de poder configurar el esquema.

Consulte en la pestaña siguiente un ejemplo de un servidor de destino para destinos que utilizan esquemas dinámicos.

La carga útil de ejemplo siguiente incluye todos los parámetros necesarios para un servidor de esquema dinámico.

Servidor de esquema dinámico

Creación de un servidor de esquema dinámico

Debe crear un servidor de esquema dinámico similar al que se muestra a continuación cuando configura un destino que recupera su esquema de perfil desde su propio extremo de API. A diferencia de un esquema estático, un esquema dinámico no utiliza un profileFields matriz. En su lugar, los esquemas dinámicos utilizan un servidor de esquema dinámico que se conecta a su propia API desde donde recupera la configuración de esquema.

accordion
Solicitud
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 Descripción
name Cadena Requerido. Representa un nombre descriptivo del servidor de esquema dinámico, visible solo para el Adobe.
destinationServerType Cadena Requerido. Configure como. URL_BASED para servidores de esquema dinámico.
urlBasedDestination.url.templatingStrategy Cadena

Requerido.

  • Uso PEBBLE_V1 si Adobe necesita transformar la dirección URL en value Campo inferior. Utilice esta opción si tiene un punto final como: https://api.moviestar.com/data/{{customerData.region}}/items.
  • Uso NONE si no se necesita ninguna transformación en el lado del Adobe, por ejemplo, si tiene un punto final como: https://api.moviestar.com/data/items.
urlBasedDestination.url.value Cadena Requerido. Rellene la dirección del extremo de la API al que el Experience Platform debe conectarse y recupere los campos de esquema para rellenar como campos de destino en el paso de asignación del flujo de trabajo de activación.
httpTemplate.httpMethod Cadena Requerido. El método que utilizará el Adobe en las llamadas a su servidor. Para servidores de esquema dinámico, utilice GET.
responseFields.templatingStrategy Cadena Requerido. En su lugar, utilice PEBBLE_V1.
responseFields.value Cadena

Requerido. Esta cadena es la plantilla de transformación con caracteres de escape que transforma la respuesta recibida de la API del socio en el esquema del socio que se mostrará en la interfaz de usuario de Platform.

accordion
Respuesta
Una respuesta correcta devuelve el estado HTTP 200 con detalles de la configuración del servidor de destino recién creada.

Crear servidores de destino desplegables dinámicos dynamic-dropdown-servers

Uso desplegables dinámicos para recuperar y rellenar dinámicamente campos de datos de clientes desplegables, basados en su propia API. Por ejemplo, puede recuperar una lista de cuentas de usuario existentes que desee utilizar para una conexión de destino.

Debe configurar un servidor de destino para los desplegables dinámicos antes de poder configurar el campo de datos de cliente desplegables dinámicos.

Consulte en la pestaña siguiente un ejemplo de un servidor de destino utilizado para recuperar dinámicamente los valores que se mostrarán en un selector desplegable, desde una API.

La carga útil de ejemplo siguiente incluye todos los parámetros necesarios para un servidor de esquema dinámico.

Servidor desplegable dinámico

Creación de un servidor desplegable dinámico

Debe crear un servidor desplegable dinámico similar al que se muestra a continuación cuando configura un destino que recupera los valores de un campo de datos de cliente desplegable desde su propio extremo de API.

accordion
Solicitud
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 Descripción
name Cadena Requerido. Representa un nombre descriptivo del servidor desplegable dinámico, visible solo para el Adobe.
destinationServerType Cadena Requerido. Configure como. URL_BASED para servidores desplegables dinámicos.
urlBasedDestination.url.templatingStrategy Cadena

Requerido.

  • Uso PEBBLE_V1 si Adobe necesita transformar la dirección URL en value Campo inferior. Utilice esta opción si tiene un punto final como: https://api.moviestar.com/data/{{customerData.region}}/items.
  • Uso NONE si no se necesita ninguna transformación en el lado del Adobe, por ejemplo, si tiene un punto final como: https://api.moviestar.com/data/items.
urlBasedDestination.url.value Cadena Requerido. Rellene la dirección del extremo de API al que el Experience Platform debe conectarse y recupere los valores desplegables.
httpTemplate.httpMethod Cadena Requerido. El método que utilizará el Adobe en las llamadas a su servidor. Para servidores desplegables dinámicos, utilice GET.
httpTemplate.headers Objeto Optiona.l Incluya los encabezados necesarios para conectarse al servidor desplegable dinámico.
responseFields.templatingStrategy Cadena Requerido. En su lugar, utilice PEBBLE_V1.
responseFields.value Cadena

Requerido. Esta cadena es la plantilla de transformación con caracteres de escape que transforma la respuesta recibida de su API en los valores que se mostrarán en la interfaz de usuario de Platform.

accordion
Respuesta
Una respuesta correcta devuelve el estado HTTP 200 con detalles de la configuración del servidor de destino recién creada.

Administración de errores de API error-handling

Los extremos de la API de Destination SDK siguen los principios generales del mensaje de error de la API de 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.

Pasos siguientes next-steps

Después de leer este documento, ahora sabe cómo crear un nuevo servidor de destino a través del Destination SDK /authoring/destination-servers Extremo de API.

Para obtener más información acerca de lo que puede hacer con este extremo, consulte los siguientes artículos:

Para saber dónde encaja este extremo en el proceso de creación de destinos, consulte los siguientes artículos:

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