Creare una configurazione del server di destinazione

La creazione di un server di destinazione è il primo passo per la creazione di una destinazione personalizzata con Destination SDK. Il server di destinazione include opzioni di configurazione per server e modello specifiche, formato del messaggioe formattazione file (per destinazioni basate su file).

Questa pagina esemplifica la richiesta API e il payload che è possibile utilizzare per creare il server di destinazione utilizzando /authoring/destination-servers Endpoint API

Per una descrizione dettagliata delle funzionalità che puoi configurare tramite questo endpoint, leggi i seguenti articoli:

IMPORTANTE

Tutti i nomi e i valori dei parametri supportati da Destination SDK sono distinzione maiuscole/minuscole. Per evitare errori di distinzione tra maiuscole e minuscole, utilizza i nomi e i valori dei parametri esattamente come mostrato nella documentazione.

Guida introduttiva alle operazioni API del server di destinazione

Prima di continuare, controlla guida introduttiva per informazioni importanti che è necessario conoscere per effettuare correttamente chiamate all’API, tra cui come ottenere l’autorizzazione di authoring della destinazione richiesta e le intestazioni richieste.

Creare una configurazione del server di destinazione

È possibile creare una nuova configurazione del server di destinazione effettuando una POST richiesta al /authoring/destination-servers endpoint.

SUGGERIMENTO

Endpoint API: platform.adobe.io/data/core/activation/authoring/destination-servers

Formato API

POST /authoring/destination-servers

A seconda del tipo di destinazione creato, è necessario configurare un tipo leggermente diverso di server di destinazione. Vedi nelle schede seguenti esempi di server di destinazione per ogni tipo di destinazione supportato in Destination SDK.

I payload di esempio seguenti includono tutti i parametri supportati da ciascun tipo di server di destinazione. Non è necessario includere tutti i parametri nella richiesta. Il payload è personalizzabile in base alle tue esigenze.

Seleziona ciascuna scheda di seguito per visualizzare le richieste API corrispondenti.

Creare un server di destinazione in tempo reale (streaming)

Quando configuri un’integrazione basata su API in tempo reale (streaming), devi creare un server di destinazione in tempo reale (streaming) simile a quello mostrato di seguito.

 Richiesta
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"
   }
}
Parametro Tipo Descrizione
name Stringa Obbligatorio. Rappresenta un nome descrittivo del server, visibile solo agli Adobi. Questo nome non è visibile ai partner o ai clienti. Esempio Moviestar destination server.
destinationServerType Stringa Obbligatorio. Imposta su URL_BASED per destinazioni in tempo reale (streaming).
urlBasedDestination.url.templatingStrategy Stringa Obbligatorio.
  • Utilizzare PEBBLE_V1 se Adobe deve trasformare l’URL in value di seguito. Utilizza questa opzione se disponi di un endpoint come https://api.moviestar.com/data/{{customerData.region}}/items, in cui region parte può variare tra i clienti. In questo caso è necessario configurare anche region as a campo dati cliente nel [configurazione di destinazione] (…/destination-configuration/create-destination-configuration.md.
  • Utilizzare NONE se non è necessaria alcuna trasformazione sul lato Adobe, ad esempio se si dispone di un endpoint come: https://api.moviestar.com/data/items.
urlBasedDestination.url.value Stringa Obbligatorio. Inserisci l’indirizzo dell’endpoint API a cui l’Experience Platform deve connettersi.
httpTemplate.httpMethod Stringa Obbligatorio. Il metodo che Adobe utilizzerà nelle chiamate al server. Le opzioni sono GET, PUT, POST, DELETE, PATCH.
httpTemplate.requestBody.templatingStrategy Stringa Obbligatorio. Seleziona PEBBLE_V1.
httpTemplate.requestBody.value Stringa Obbligatorio. Questa stringa è la versione con escape di carattere che trasforma i dati dei clienti di Platform nel formato previsto dal servizio.
httpTemplate.contentType Stringa Obbligatorio. Il tipo di contenuto accettato dal server. Questo valore è molto probabile application/json.
 Risposta

In caso di esito positivo, la risposta restituisce lo stato HTTP 200 con i dettagli della configurazione del server di destinazione appena creata.

Creare un server di destinazione Amazon S3

Devi creare un’ Amazon S3 server di destinazione simile a quello mostrato di seguito quando si configura un server basato su file Amazon S3 destinazione.

 Richiesta
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": ""
            }
        }
    }
}
Parametro Tipo Descrizione
name Stringa Nome della connessione di destinazione.
destinationServerType Stringa Imposta questo valore in base alla piattaforma di destinazione. Per Amazon S3, imposta su FILE_BASED_S3.
fileBasedS3Destination.bucket.templatingStrategy Stringa Obbligatorio. Seleziona PEBBLE_V1.
fileBasedS3Destination.bucket.value Stringa Il nome del Amazon S3 bucket da utilizzare per questa destinazione.
fileBasedS3Destination.path.templatingStrategy Stringa Obbligatorio. Seleziona PEBBLE_V1.
fileBasedS3Destination.path.value Stringa Percorso della cartella di destinazione che ospiterà i file esportati.
fileConfigurations N/D Consulta configurazione formattazione file per informazioni dettagliate su come configurare queste impostazioni.
 Risposta

In caso di esito positivo, la risposta restituisce lo stato HTTP 200 con i dettagli della configurazione del server di destinazione appena creata.

Creare un SFTP server di destinazione

Devi creare un’ SFTP server di destinazione simile a quello mostrato di seguito quando si configura un server basato su file SFTP destinazione.

 Richiesta
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": ""
            }
        }
    }
}
Parametro Tipo Descrizione
name Stringa Nome della connessione di destinazione.
destinationServerType Stringa Imposta questo valore in base alla piattaforma di destinazione. Per SFTP destinazioni, impostalo su FILE_BASED_SFTP.
fileBasedSftpDestination.rootDirectory.templatingStrategy Stringa Obbligatorio. Seleziona PEBBLE_V1.
fileBasedSftpDestination.rootDirectory.value Stringa La directory radice dell'archiviazione di destinazione.
fileBasedSftpDestination.hostName.templatingStrategy Stringa Obbligatorio. Seleziona PEBBLE_V1.
fileBasedSftpDestination.hostName.value Stringa Nome host dell'archiviazione di destinazione.
port Intero Porta del file server SFTP.
encryptionMode Stringa Indica se utilizzare la crittografia file. Valori supportati:
  • PGP
  • Nessuna
fileConfigurations N/D Consulta configurazione formattazione file per informazioni dettagliate su come configurare queste impostazioni.
 Risposta

In caso di esito positivo, la risposta restituisce lo stato HTTP 200 con i dettagli della configurazione del server di destinazione appena creata.

Creare un Azure Data Lake Storage server di destinazione

Devi creare un’ Azure Data Lake Storage server di destinazione simile a quello mostrato di seguito quando si configura un server basato su file Azure Data Lake Storage destinazione.

 Richiesta
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": ""
            }
        }
    }
}
Parametro Tipo Descrizione
name Stringa Nome della connessione di destinazione.
destinationServerType Stringa Imposta questo valore in base alla piattaforma di destinazione. Per Azure Data Lake Storage destinazioni, impostalo su FILE_BASED_ADLS_GEN2.
fileBasedAdlsGen2Destination.path.templatingStrategy Stringa Obbligatorio. Seleziona PEBBLE_V1.
fileBasedAdlsGen2Destination.path.value Stringa Percorso della cartella di destinazione che ospiterà i file esportati.
fileConfigurations N/D Consulta configurazione formattazione file per informazioni dettagliate su come configurare queste impostazioni.
 Risposta

In caso di esito positivo, la risposta restituisce lo stato HTTP 200 con i dettagli della configurazione del server di destinazione appena creata.

Creare un Azure Blob Storage server di destinazione

Devi creare un’ Azure Blob Storage server di destinazione simile a quello mostrato di seguito quando si configura un server basato su file Azure Blob Storage destinazione.

 Richiesta
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": ""
            }
        }
    }
}
Parametro Tipo Descrizione
name Stringa Nome della connessione di destinazione.
destinationServerType Stringa Imposta questo valore in base alla piattaforma di destinazione. Per Azure Blob Storage destinazioni, impostalo su FILE_BASED_AZURE_BLOB.
fileBasedAzureBlobDestination.path.templatingStrategy Stringa Obbligatorio. Seleziona PEBBLE_V1.
fileBasedAzureBlobDestination.path.value Stringa Percorso della cartella di destinazione che ospiterà i file esportati.
fileBasedAzureBlobDestination.container.templatingStrategy Stringa Obbligatorio. Seleziona PEBBLE_V1.
fileBasedAzureBlobDestination.container.value Stringa Il nome del Azure Blob Storage contenitore utilizzato da questa destinazione.
fileConfigurations N/D Consulta configurazione formattazione file per informazioni dettagliate su come configurare queste impostazioni.
 Risposta

In caso di esito positivo, la risposta restituisce lo stato HTTP 200 con i dettagli della configurazione del server di destinazione appena creata.

Creare un Data Landing Zone (DLZ) server di destinazione

Devi creare un Data Landing Zone (DLZ) server di destinazione simile a quello mostrato di seguito quando si configura un server basato su file Data Landing Zone (DLZ) destinazione.

 Richiesta
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": ""
            }
        }
    }
}
Parametro Tipo Descrizione
name Stringa Nome della connessione di destinazione.
destinationServerType Stringa Imposta questo valore in base alla piattaforma di destinazione. Per Data Landing Zone destinazioni, impostalo su FILE_BASED_DLZ.
fileBasedDlzDestination.path.templatingStrategy Stringa Obbligatorio. Seleziona PEBBLE_V1.
fileBasedDlzDestination.path.value Stringa Percorso della cartella di destinazione che ospiterà i file esportati.
fileConfigurations N/D Consulta configurazione formattazione file per informazioni dettagliate su come configurare queste impostazioni.
 Risposta

In caso di esito positivo, la risposta restituisce lo stato HTTP 200 con i dettagli della configurazione del server di destinazione appena creata.

Creare un Google Cloud Storage server di destinazione

Devi creare un Google Cloud Storage server di destinazione simile a quello mostrato di seguito quando si configura un server basato su file Google Cloud Storage destinazione.

 Richiesta
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": ""
            }
        }
    }
}
Parametro Tipo Descrizione
name Stringa Nome della connessione di destinazione.
destinationServerType Stringa Imposta questo valore in base alla piattaforma di destinazione. Per Google Cloud Storage destinazioni, impostalo su FILE_BASED_GOOGLE_CLOUD.
fileBasedGoogleCloudStorageDestination.bucket.templatingStrategy Stringa Obbligatorio. Seleziona PEBBLE_V1.
fileBasedGoogleCloudStorageDestination.bucket.value Stringa Il nome del Google Cloud Storage bucket da utilizzare per questa destinazione.
fileBasedGoogleCloudStorageDestination.path.templatingStrategy Stringa Obbligatorio. Seleziona PEBBLE_V1.
fileBasedGoogleCloudStorageDestination.path.value Stringa Percorso della cartella di destinazione che ospiterà i file esportati.
fileConfigurations N/D Consulta configurazione formattazione file per informazioni dettagliate su come configurare queste impostazioni.
 Risposta

In caso di esito positivo, la risposta restituisce lo stato HTTP 200 con i dettagli della configurazione del server di destinazione appena creata.

Creare un server di schema dinamico

Quando configuri una destinazione che recupera lo schema del profilo dal tuo endpoint API, devi creare un server schema dinamico simile a quello mostrato di seguito. A differenza di uno schema statico, uno schema dinamico non utilizza profileFields array. Gli schemi dinamici utilizzano invece un server di schema dinamico che si connette alla tua API da dove recupera la configurazione dello schema.

 Richiesta
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"
      }
   ]
}
Parametro Tipo Descrizione
name Stringa Obbligatorio. Rappresenta un nome descrittivo del server dello schema dinamico, visibile solo agli Adobi.
destinationServerType Stringa Obbligatorio. Imposta su URL_BASED per i server di schema dinamico.
urlBasedDestination.url.templatingStrategy Stringa Obbligatorio.
  • Utilizzare PEBBLE_V1 se Adobe deve trasformare l’URL in value di seguito. Utilizza questa opzione se disponi di un endpoint come: https://api.moviestar.com/data/{{customerData.region}}/items.
  • Utilizzare NONE se non è necessaria alcuna trasformazione sul lato Adobe, ad esempio se si dispone di un endpoint come: https://api.moviestar.com/data/items.
urlBasedDestination.url.value Stringa Obbligatorio. Inserisci l’indirizzo dell’endpoint API a cui Experience Platform deve connettersi e recupera i campi dello schema da compilare come campi di destinazione nel passaggio di mappatura del flusso di lavoro di attivazione.
httpTemplate.httpMethod Stringa Obbligatorio. Il metodo che Adobe utilizzerà nelle chiamate al server. Per i server con schema dinamico, utilizza GET.
responseFields.templatingStrategy Stringa Obbligatorio. Seleziona PEBBLE_V1.
responseFields.value Stringa Obbligatorio. Questa stringa è il modello di trasformazione con escape di carattere che trasforma la risposta ricevuta dall’API partner nello schema partner che verrà visualizzato nell’interfaccia utente di Platform.
 Risposta

In caso di esito positivo, la risposta restituisce lo stato HTTP 200 con i dettagli della configurazione del server di destinazione appena creata.

Gestione degli errori API

Gli endpoint API di Destination SDK seguono i principi generali dei messaggi di errore API di Experience Platform. Fai riferimento a Codici di stato API e errori di intestazione della richiesta nella guida alla risoluzione dei problemi di Platform.

Passaggi successivi

Dopo aver letto questo documento, ora sai come creare un nuovo server di destinazione tramite la Destination SDK /authoring/destination-servers Endpoint API

Per ulteriori informazioni su cosa è possibile fare con questo endpoint, consulta i seguenti articoli:

Per capire dove questo endpoint si inserisce nel processo di authoring della destinazione, vedi i seguenti articoli:

In questa pagina