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:
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.
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.
Puede crear una nueva configuración de servidor de destino realizando una POST
solicitud a la /authoring/destination-servers
punto final.
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.
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.
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).
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"
}
}
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.
|
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 . |
Una respuesta correcta devuelve el estado HTTP 200 con detalles de la configuración del servidor de destino recién creada.
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.
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": ""
}
}
}
}
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. |
Una respuesta correcta devuelve el estado HTTP 200 con detalles de la configuración del servidor de destino recién creada.
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.
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": ""
}
}
}
}
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:
|
fileConfigurations |
N/A | Consulte configuración de formato de archivo para obtener información detallada sobre cómo establecer esta configuración. |
Una respuesta correcta devuelve el estado HTTP 200 con detalles de la configuración del servidor de destino recién creada.
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.
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": ""
}
}
}
}
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. |
Una respuesta correcta devuelve el estado HTTP 200 con detalles de la configuración del servidor de destino recién creada.
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.
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": ""
}
}
}
}
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. |
Una respuesta correcta devuelve el estado HTTP 200 con detalles de la configuración del servidor de destino recién creada.
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.
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": ""
}
}
}
}
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. |
Una respuesta correcta devuelve el estado HTTP 200 con detalles de la configuración del servidor de destino recién creada.
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.
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": ""
}
}
}
}
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. |
Una respuesta correcta devuelve el estado HTTP 200 con detalles de la configuración del servidor de destino recién creada.
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.
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.
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"
}
]
}
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.
|
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.
|
Una respuesta correcta devuelve el estado HTTP 200 con detalles de la configuración del servidor de destino recién creada.
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.
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: