Il SAP Commerce sorgente in versione beta. Consulta la panoramica sulle origini per ulteriori informazioni sull’utilizzo di fonti etichettate beta.
Il seguente tutorial illustra i passaggi necessari per creare un SAP Commerce connessione sorgente e un flusso di dati da portare SAP Fatturazione abbonamento contatti e dati dei clienti a Adobe Experience Platform utilizzando Flow Service API.
Questa guida richiede una buona conoscenza dei seguenti componenti di Experience Platform:
Le sezioni seguenti forniscono informazioni aggiuntive che è necessario conoscere per connettersi correttamente a SAP Commerce utilizzando Flow Service API.
Per connettersi SAP Commerce ad Experience Platform, è necessario fornire valori per le seguenti proprietà di connessione:
Credenziali | Descrizione |
---|---|
clientId |
Il valore di clientId dalla chiave del servizio. |
clientSecret |
Il valore di clientSecret dalla chiave del servizio. |
tokenEndpoint |
Il valore di url dalla chiave del servizio, sarà simile a https://subscriptionbilling.authentication.eu10.hana.ondemand.com . |
region |
La posizione del centro dati. La regione è presente nel url e ha un valore simile a eu10 o us10 . Ad esempio, se url è https://subscriptionbilling.authentication.eu10.hana.ondemand.com , quindi sarà necessario eu10 . |
Per ulteriori informazioni su queste credenziali, fare riferimento a SAP Commerce documentazione.
Di seguito sono descritti i passaggi da eseguire per autenticare il SAP Commerce origine, creare una connessione di origine e creare un flusso di dati per portare in Experience Platform i dati degli account e dei contatti.
Una connessione di base mantiene le informazioni tra l’origine e Platform, incluse le credenziali di autenticazione dell’origine, lo stato corrente della connessione e l’ID univoco della connessione di base. L’ID della connessione di base consente di esplorare e navigare tra i file dall’interno dell’origine e identificare gli elementi specifici che desideri acquisire, comprese le informazioni relative ai tipi di dati e ai formati.
Per creare un ID di connessione di base, effettua una richiesta POST al /connections
endpoint durante la fornitura del SAP Commerce credenziali di autenticazione come parte del corpo della richiesta.
Formato API
POST /connections
Richiesta
La richiesta seguente crea una connessione di base per SAP Commerce:
curl -X POST \
'https://platform.adobe.io/data/foundation/flowservice/connections' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-H 'Content-Type: application/json' \
-d '{
"name": "SAP Commerce base connection",
"description": "Authenticated base connection for SAP Commerce",
"connectionSpec": {
"id": "d8ee38de-7ae9-4058-9610-c79ce75f8e92",
"version": "1.0"
},
"auth": {
"specName": "OAuth2 Client Credential",
"params": {
"region": "{REGION}",
"clientId": "{CLIENT_ID}",
"clientSecret": "{CLIENT_SECRET}"
"tokenEndpoint": "{TOKEN_ENDPOINT}"
}
}
}'
Proprietà | Descrizione |
---|---|
name |
Nome della connessione di base. Verificare che il nome della connessione di base sia descrittivo, in quanto è possibile utilizzarlo per cercare informazioni sulla connessione di base. |
description |
Valore facoltativo che è possibile includere per fornire ulteriori informazioni sulla connessione di base. |
connectionSpec.id |
ID della specifica di connessione dell'origine. Questo ID può essere recuperato dopo che l'origine è stata registrata e approvata tramite Flow Service API. |
auth.specName |
Tipo di autenticazione utilizzato per autenticare l’origine in Platform. |
auth.params.region |
La posizione del centro dati. La regione è presente nel url e ha un valore simile a eu10 o us10 . Ad esempio, se url è https://subscriptionbilling.authentication.eu10.hana.ondemand.com avrà bisogno di eu10 . |
auth.params.clientId |
Il valore di clientId dalla chiave del servizio. |
auth.params.clientSecret |
Il valore di clientSecret dalla chiave del servizio. |
auth.params.tokenEndpoint |
Il valore di url dalla chiave del servizio, sarà simile a https://subscriptionbilling.authentication.eu10.hana.ondemand.com . |
Risposta
In caso di esito positivo, la risposta restituisce la connessione di base appena creata, incluso il relativo identificatore univoco di connessione (id
). Questo ID è necessario per esplorare la struttura e il contenuto del file sorgente nel passaggio successivo.
{
"id": "5f6d6022-3f64-400c-ba01-d4010de2d8ff",
"etag": "\"f8018de1-0000-0200-0000-6482d7210000\""
}
Una volta ottenuto l’ID di connessione di base, ora puoi esplorare il contenuto e la struttura dei dati sorgente eseguendo una richiesta di GET a /connections
mentre fornisci l’ID connessione di base come parametro di query.
Formato API
GET /connections/{BASE_CONNECTION_ID}/explore?objectType=rest&object={OBJECT}&fileType={FILE_TYPE}&preview={PREVIEW}&sourceParams={SOURCE_PARAMS}
Quando si eseguono richieste di GET per esplorare la struttura e il contenuto dei file dell’origine, è necessario includere i parametri di query elencati nella tabella seguente:
Parametro | Descrizione |
---|---|
{BASE_CONNECTION_ID} |
ID della connessione di base generato nel passaggio precedente. |
objectType=rest |
Tipo di oggetto che si desidera esplorare. Attualmente, questo valore è sempre impostato su rest . |
{OBJECT} |
Questo parametro è necessario solo quando si visualizza una directory specifica. Il relativo valore rappresenta il percorso della directory che desideri esplorare. Per questa origine il valore sarebbe json . |
fileType=json |
Il tipo di file che desideri portare su Platform. Attualmente, json è l’unico tipo di file supportato. |
{PREVIEW} |
Valore booleano che definisce se il contenuto della connessione supporta l’anteprima. |
{SOURCE_PARAMS} |
Definisce i parametri per il file sorgente da portare a Platform. Per recuperare il formato accettato per {SOURCE_PARAMS} , è necessario codificare l'intera stringa in base64. SAP Commerce supporta più API. A seconda del tipo di oggetto utilizzato, passare una delle seguenti operazioni:
|
Il SAP Commerce La sorgente supporta più API. Di seguito è riportato un esempio di oggetto a seconda del tipo di oggetto che si sta sfruttando per la richiesta da inviare:
Alcuni record di risposta sono stati troncati per consentire una migliore presentazione.
Per SAP Commerce Il valore di API cliente per {SOURCE_PARAMS}
viene passato come {"object_type":"customers"}
. Quando codificato in base64, equivale a eyJvYmplY3RfdHlwZSI6ImN1c3RvbWVycyJ9
come mostrato di seguito.
curl -X GET \
'https://platform.adobe.io/data/foundation/flowservice/connections/f5421911-6f6c-41c7-aafa-5d9d2ce51535/explore?objectType=rest&object=json&fileType=json&preview=true&sourceParams=eyJvYmplY3RfdHlwZSI6ImN1c3RvbWVycyJ9' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
In caso di esito positivo, la risposta restituisce una struttura JSON come segue:
{
"format": "hierarchical",
"schema": {
"type": "object",
"properties": {
"personalInfo": {
"type": "object",
"properties": {
"firstName": {
"type": "string"
},
"lastName": {
"type": "string"
}
}
},
"addresses": {
"type": "array",
"items": {
"type": "object",
"properties": {
"country": {
"type": "string"
},
"isDefault": {
"type": "boolean"
},
"phone": {
"type": "string"
},
"city": {
"type": "string"
},
"street": {
"type": "string"
},
"postalCode": {
"type": "string"
},
"addressUUID": {
"type": "string"
},
"houseNumber": {
"type": "string"
},
"additionalAddressInfo": {
"type": "string"
},
"state": {
"type": "string"
},
"email": {
"type": "string"
}
}
}
},
"customerNumber": {
"type": "string"
},
"corporateInfo": {
"type": "object",
"properties": {}
},
"customReferences": {
"type": "array",
"items": {
"type": "object",
"properties": {}
}
},
"externalObjectReferences": {
"type": "array",
"items": {
"type": "object",
"properties": {
"externalSystemId": {
"type": "string"
},
"externalId": {
"type": "string"
},
"externalIdTypeCode": {
"type": "string"
}
}
}
},
"createdAt": {
"type": "string"
},
"customerType": {
"type": "string"
},
"markets": {
"type": "array",
"items": {
"type": "object",
"properties": {
"country": {
"type": "string"
},
"salesArea": {
"type": "object",
"properties": {
"division": {
"type": "string"
},
"distributionChannel": {
"type": "string"
},
"salesOrganization": {
"type": "string"
}
}
},
"priceType": {
"type": "string"
},
"active": {
"type": "boolean"
},
"currency": {
"type": "string"
},
"marketId": {
"type": "string"
}
}
}
},
"createdBy": {
"type": "string"
},
"changedBy": {
"type": "string"
},
"changedAt": {
"type": "string"
},
"defaultAddress": {
"type": "object",
"properties": {
"country": {
"type": "string"
},
"isDefault": {
"type": "boolean"
},
"phone": {
"type": "string"
},
"city": {
"type": "string"
},
"street": {
"type": "string"
},
"postalCode": {
"type": "string"
},
"addressUUID": {
"type": "string"
},
"houseNumber": {
"type": "string"
},
"additionalAddressInfo": {
"type": "string"
},
"state": {
"type": "string"
},
"email": {
"type": "string"
}
}
}
}
},
"data": [
{
"personalInfo": {
"firstName": "Test 1",
"lastName": "User 1"
},
"addresses": [
{
"email": "user1@test.com",
"phone": "123456890",
"houseNumber": "123",
"city": "New Orleans",
"state": "LA",
"postalCode": "700089",
"country": "US",
"addressUUID": "ff871221-ab48-435c-b1f5-903db1c3cea2",
"isDefault": true
}
],
"customerNumber": "2863620303",
"externalObjectReferences": [
{
"externalSystemId": "t090000",
"externalId": "1324566",
"externalIdTypeCode": "201"
}
],
"createdAt": "2023-05-31T06:39:28.499Z",
"customerType": "INDIVIDUAL",
"markets": [
{
"marketId": "US",
"active": true,
"currency": "USD",
"country": "US",
"salesArea": {
"salesOrganization": "SE10",
"distributionChannel": "00",
"division": "00"
},
"priceType": "Net"
}
],
"createdBy": "sb-subscription-billing!b123456|revenue-cloud!b1234",
"changedBy": "sb-subscription-billing!b123456|revenue-cloud!b1234",
"changedAt": "2023-05-31T06:39:28.499Z",
"defaultAddress": {
"email": "user1@test.com",
"phone": "123456890",
"houseNumber": "123",
"city": "New Orleans",
"state": "LA",
"postalCode": "700089",
"country": "US",
"addressUUID": "ff871221-ab48-435c-b1f5-903db1c3cea2",
"isDefault": true
}
},
{
"personalInfo": {
"firstName": "Test 2",
"lastName": "User 2"
},
"addresses": [
{
"email": "user2@test.com",
"phone": "1234567899",
"houseNumber": "876",
"city": "New Orleans",
"state": "LA",
"postalCode": "700089",
"country": "US",
"addressUUID": "1cd039aa-5b86-4e46-8e37-9ef263332c6b",
"isDefault": true
}
],
"customerNumber": "6776445404",
"externalObjectReferences": [
{
"externalSystemId": "t089999",
"externalId": "1324565",
"externalIdTypeCode": "201"
}
],
"createdAt": "2023-05-31T06:39:28.142Z",
"customerType": "INDIVIDUAL",
"markets": [
{
"marketId": "US",
"active": true,
"currency": "USD",
"country": "US",
"salesArea": {
"salesOrganization": "SE10",
"distributionChannel": "00",
"division": "00"
},
"priceType": "Net"
}
],
"createdBy": "sb-subscription-billing!b123456|revenue-cloud!b12345",
"changedBy": "sb-subscription-billing!b123456|revenue-cloud!b12345",
"changedAt": "2023-05-31T06:39:28.142Z",
"defaultAddress": {
"email": "user2@test.com",
"phone": "1234567899",
"houseNumber": "876",
"city": "New Orleans",
"state": "LA",
"postalCode": "700089",
"country": "US",
"addressUUID": "1cd039aa-5b86-4e46-8e37-9ef263332c6b",
"isDefault": true
}
}
]
}
Per SAP Commerce API dei contatti il valore per {SOURCE_PARAMS}
viene passato come {"object_type":"contacts"}
. Quando codificato in base64, equivale a eyJvYmplY3RfdHlwZSI6ImNvbnRhY3RzIn0=
come mostrato di seguito.
curl -X GET \
'https://platform.adobe.io/data/foundation/flowservice/connections/f5421911-6f6c-41c7-aafa-5d9d2ce51535/explore?objectType=rest&object=json&fileType=json&preview=true&sourceParams=eyJvYmplY3RfdHlwZSI6ImNvbnRhY3RzIn0=' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
In caso di esito positivo, la risposta restituisce una struttura JSON come segue:
{
"format": "hierarchical",
"schema": {
"type": "object",
"properties": {
"externalObjectReferences": {
"type": "array",
"items": {
"type": "object",
"properties": {}
}
},
"personalInfo": {
"type": "object",
"properties": {
"firstName": {
"type": "string"
},
"lastName": {
"type": "string"
}
}
},
"createdAt": {
"type": "string"
},
"createdBy": {
"type": "string"
},
"changedBy": {
"type": "string"
},
"contactNumber": {
"type": "string"
},
"changedAt": {
"type": "string"
}
}
},
"data": [
{
"personalInfo": {
"firstName": "Test 1",
"lastName": "User 1"
},
"createdAt": "2023-05-31T13:33:52.689Z",
"createdBy": "sb-subscription-billing!b123456|revenue-cloud!b1234",
"changedBy": "sb-subscription-billing!b123456|revenue-cloud!b1234",
"contactNumber": "4365374130",
"changedAt": "2023-05-31T13:33:52.689Z"
},
{
"personalInfo": {
"firstName": "Test 2",
"lastName": "User 2"
},
"createdAt": "2023-05-31T13:33:52.37Z",
"createdBy": "sb-subscription-billing!b123456|revenue-cloud!b1234",
"changedBy": "sb-subscription-billing!b123456|revenue-cloud!b1234",
"contactNumber": "4075431868",
"changedAt": "2023-05-31T13:33:52.37Z"
}
]
}
Puoi creare una connessione sorgente effettuando una richiesta POST al /sourceConnections
endpoint del Flow Service API. Una connessione di origine è costituita da un ID di connessione, un percorso del file di dati di origine e un ID della specifica di connessione.
Formato API
POST /sourceConnections
A seconda del tipo di oggetto utilizzato, seleziona una delle schede seguenti:
La richiesta seguente crea una connessione sorgente per SAP Commerce dati dei clienti:
curl -X POST \
'https://platform.adobe.io/data/foundation/flowservice/sourceConnections' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-H 'Content-Type: application/json' \
-d '{
"name": "SAP Commerce Source Connection",
"description": "SAP Commerce Source Connection",
"baseConnectionId": "f5421911-6f6c-41c7-aafa-5d9d2ce51535",
"connectionSpec": {
"id": "63d2b27b-69a5-45c9-a7fe-78148a25de3c",
"version": "1.0"
},
"data": {
"format": "json"
},
"params": {
"object_type": "customers"
}
}'
Proprietà | Descrizione |
---|---|
name |
Nome della connessione di origine. Assicurati che il nome della connessione sorgente sia descrittivo, in quanto può essere utilizzato per cercare informazioni sulla connessione sorgente. |
description |
Valore facoltativo che è possibile includere per fornire ulteriori informazioni sulla connessione di origine. |
baseConnectionId |
ID connessione di base di SAP Commerce. Questo ID è stato generato in un passaggio precedente. |
connectionSpec.id |
ID della specifica di connessione corrispondente all'origine. |
data.format |
Il formato del SAP Commerce i dati che desideri acquisire. Attualmente, l’unico formato di dati supportato è json . |
object_type |
SAP Commerce supporta più API. Per l’API dei clienti, la object_type il parametro deve essere impostato su customers . |
path |
Avrà lo stesso valore selezionato per object_type . |
In caso di esito positivo, la risposta restituisce l’identificatore univoco (id
) della connessione sorgente appena creata. Questo ID è necessario in un passaggio successivo per creare un flusso di dati.
{
"id": "8f1fc72a-f562-4a1d-8597-85b5ca1b1cd3",
"etag": "\"ed05f1e1-0000-0200-0000-6368b8710000\""
}
La richiesta seguente crea una connessione sorgente per SAP Commerce dati contatti:
curl -X POST \
'https://platform.adobe.io/data/foundation/flowservice/sourceConnections' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-H 'Content-Type: application/json' \
-d '{
"name": "SAP Commerce Source Connection",
"description": "SAP Commerce Source Connection",
"baseConnectionId": "f5421911-6f6c-41c7-aafa-5d9d2ce51535",
"connectionSpec": {
"id": "63d2b27b-69a5-45c9-a7fe-78148a25de3c",
"version": "1.0"
},
"data": {
"format": "json"
},
"params": {
"object_type": "contacts"
}
}'
Proprietà | Descrizione |
---|---|
name |
Nome della connessione di origine. Assicurati che il nome della connessione sorgente sia descrittivo, in quanto può essere utilizzato per cercare informazioni sulla connessione sorgente. |
description |
Valore facoltativo che è possibile includere per fornire ulteriori informazioni sulla connessione di origine. |
baseConnectionId |
ID connessione di base di SAP Commerce. Questo ID è stato generato in un passaggio precedente. |
connectionSpec.id |
ID della specifica di connessione corrispondente all'origine. |
data.format |
Il formato del SAP Commerce i dati che desideri acquisire. Attualmente, l’unico formato di dati supportato è json . |
object_type |
SAP Commerce supporta più API. Per l'API dei contatti, il object_type il parametro deve essere impostato su contacts . |
path |
Avrà lo stesso valore selezionato per object_type . |
In caso di esito positivo, la risposta restituisce l’identificatore univoco (id
) della connessione sorgente appena creata. Questo ID è necessario in un passaggio successivo per creare un flusso di dati.
{
"id": "8f1fc72a-f562-4a1d-8597-85b5ca1b1cd3",
"etag": "\"ed05f1e1-0000-0200-0000-6368b8710000\""
}
Per utilizzare i dati sorgente in Platform, è necessario creare uno schema di destinazione che strutturi i dati sorgente in base alle tue esigenze. Lo schema di destinazione viene quindi utilizzato per creare un set di dati di Platform in cui sono contenuti i dati di origine.
È possibile creare uno schema XDM di destinazione eseguendo una richiesta POST al API del registro dello schema.
Per i passaggi dettagliati su come creare uno schema XDM di destinazione, consulta l’esercitazione su creazione di uno schema tramite l’API.
È possibile creare un set di dati di destinazione eseguendo una richiesta POST al API Catalog Service, che fornisce l’ID dello schema di destinazione all’interno del payload.
Per i passaggi dettagliati su come creare un set di dati di destinazione, consulta l’esercitazione su creazione di un set di dati tramite l’API.
Una connessione di destinazione rappresenta la connessione alla destinazione in cui devono essere memorizzati i dati acquisiti. Per creare una connessione di destinazione, devi fornire l’ID della specifica di connessione fissa che corrisponde al data lake. Questo ID è: c604ff05-7f1a-43c0-8e18-33bf874cb11c
.
Ora disponi degli identificatori univoci, di uno schema di destinazione, di un set di dati di destinazione e dell’ID della specifica di connessione al data lake. Utilizzando questi identificatori, puoi creare una connessione di destinazione utilizzando Flow Service API per specificare il set di dati che conterrà i dati di origine in entrata.
Formato API
POST /targetConnections
Richiesta
La richiesta seguente crea una connessione di destinazione per SAP Commerce:
curl -X POST \
'https://platform.adobe.io/data/foundation/flowservice/targetConnections' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-H 'Content-Type: application/json' \
-d '{
"name": "SAP Commerce Target Connection Generic Rest",
"description": "SAP Commerce Target Connection Generic Rest",
"connectionSpec": {
"id": "c604ff05-7f1a-43c0-8e18-33bf874cb11c",
"version": "1.0"
},
"data": {
"format": "parquet_xdm",
"schema": {
"id": "https://ns.adobe.com/{TENANT_ID}/schemas/325fd5394ba421246b05c0a3c2cd5efeec2131058a63d473",
"version": "1.2"
}
},
"params": {
"dataSetId": "645923cd7aeeea1c06c5e92e"
}
}'
Proprietà | Descrizione |
---|---|
name |
Nome della connessione di destinazione. Assicurati che il nome della connessione di destinazione sia descrittivo, in quanto può essere utilizzato per cercare informazioni sulla connessione di destinazione. |
description |
Valore facoltativo che è possibile includere per fornire ulteriori informazioni sulla connessione di destinazione. |
connectionSpec.id |
ID della specifica di connessione corrispondente al data lake. Questo ID fisso è: 6b137bf6-d2a0-48c8-914b-d50f4942eb85 . |
data.format |
Il formato del SAP Commerce i dati che desideri acquisire. |
params.dataSetId |
ID del set di dati di destinazione recuperato in un passaggio precedente. |
Risposta
In caso di esito positivo, la risposta restituisce l’identificatore univoco della nuova connessione di destinazione (id
). Questo ID è richiesto nei passaggi successivi.
{
"id": "5b72a4b6-2fb8-4ca7-8ad8-4114a3063c5c",
"etag": "\"db00c6dc-0000-0200-0000-6482d8280000\""
}
Per poter acquisire i dati di origine in un set di dati di destinazione, è necessario prima mapparli sullo schema di destinazione a cui il set di dati di destinazione aderisce. Ciò si ottiene eseguendo una richiesta POST a Data Prep API con mappature di dati definite nel payload della richiesta.
Formato API
POST /conversion/mappingSets
La richiesta seguente crea una mappatura per SAP Commerce Dati API dei clienti
curl -X POST \
'https://platform.adobe.io/data/foundation/conversion/mappingSets' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-H 'Content-Type: application/json' \
-d '{
"outputSchema": {
"schemaRef": {
"id": "https://ns.adobe.com/{TENANT_ID}/schemas/b156e6f818f923e048199173c45e55e20fd2487f5eb03d22",
"contentType": "application/vnd.adobe.xed-full+json;version=1"
}
},
"mappings": [
{
"sourceType": "ATTRIBUTE",
"source": "customerNumber",
"destination": "_extconndev.customerNumber"
},
{
"sourceType": "ATTRIBUTE",
"source": "customerType",
"destination": "_extconndev.customerType"
},
{
"sourceType": "ATTRIBUTE",
"source": "changedAt",
"destination": "_extconndev.changedAt"
},
{
"sourceType": "ATTRIBUTE",
"source": "addresses[*].email",
"destination": "_extconndev.addresses[*].email"
},
{
"sourceType": "ATTRIBUTE",
"source": "addresses[*].city",
"destination": "_extconndev.addresses[*].city"
},
{
"sourceType": "ATTRIBUTE",
"source": "addresses[*].addressUUID",
"destination": "_extconndev.addresses[*].addressUUID"
},
{
"sourceType": "ATTRIBUTE",
"source": "externalObjectReferences[*].externalSystemId",
"destination": "_extconndev.externalObjectReferences[*].externalSystemId"
},
{
"sourceType": "ATTRIBUTE",
"source": "externalObjectReferences[*].externalId",
"destination": "_extconndev.externalObjectReferences[*].externalId"
},
{
"sourceType": "ATTRIBUTE",
"source": "externalObjectReferences[*].externalIdTypeCode",
"destination": "_extconndev.externalObjectReferences[*].externalIdTypeCode"
},
{
"sourceType": "ATTRIBUTE",
"source": "customReferences[*].id",
"destination": "_extconndev.customReferences[*].id"
},
{
"sourceType": "ATTRIBUTE",
"source": "customReferences[*].typeCode",
"destination": "_extconndev.customReferences[*].typeCode"
}
],
"outputSchema": {
"schemaRef": {
"id": "https://ns.adobe.com/{TENANT_ID}/schemas/325fd5394ba421246b05c0a3c2cd5efeec2131058a63d473",
"contentType": "application/vnd.adobe.xed-full+json;version=1"
}
}
}'
Proprietà | Descrizione |
---|---|
outputSchema.schemaRef.id |
ID del schema XDM di destinazione generato in un passaggio precedente. |
mappings.sourceType |
Tipo di attributo di origine di cui viene eseguito il mapping. |
mappings.source |
L’attributo di origine che deve essere mappato su un percorso XDM di destinazione. |
mappings.destination |
Percorso XDM di destinazione in cui viene eseguito il mapping dell’attributo di origine. |
In caso di esito positivo, la risposta restituisce i dettagli della mappatura appena creata, compreso l’identificatore univoco (id
). Questo valore è necessario in un passaggio successivo per creare un flusso di dati.
{
"id": "ddf0592bcc9d4ac391803f15f2429f87",
"version": 0,
"createdDate": 1597784069368,
"modifiedDate": 1597784069368,
"createdBy": "{CREATED_BY}",
"modifiedBy": "{MODIFIED_BY}"
}
La richiesta seguente crea una mappatura per SAP Commerce Dati API dei contatti
curl -X POST \
'https://platform.adobe.io/data/foundation/conversion/mappingSets' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-H 'Content-Type: application/json' \
-d '{
"outputSchema": {
"schemaRef": {
"id": "https://ns.adobe.com/{TENANT_ID}/schemas/b156e6f818f923e048199173c45e55e20fd2487f5eb03d22",
"contentType": "application/vnd.adobe.xed-full+json;version=1"
}
},
"mappings": [
{
"sourceType": "ATTRIBUTE",
"source": "contactNumber",
"destination": "_extconndev.contactNumber"
},
{
"sourceType": "ATTRIBUTE",
"source": "createdAt",
"destination": "_extconndev.createdAt"
},
{
"sourceType": "ATTRIBUTE",
"source": "changedAt",
"destination": "_extconndev.changedAt"
},
{
"sourceType": "ATTRIBUTE",
"source": "personalInfo.lastName",
"destination": "_extconndev.personalInfo.lastName"
},
{
"sourceType": "ATTRIBUTE",
"source": "personalInfo.firstName",
"destination": "_extconndev.personalInfo.firstName"
},
{
"sourceType": "ATTRIBUTE",
"source": "externalObjectRefereneces[*].externalSystemId",
"destination": "_extconndev.externalObjectReferences[*].externalSystemId"
},
{
"sourceType": "ATTRIBUTE",
"source": "externalObjectReferences[*].externalId",
"destination": "_extconndev.externalObjectReferences[*].externalId"
},
{
"sourceType": "ATTRIBUTE",
"source": "externalObjectReferences[*].externalIdTypeCode",
"destination": "_extconndev.externalObjectReferences[*].externalIdTypeCode"
}
],
"outputSchema": {
"schemaRef": {
"id": "https://ns.adobe.com/extconndev/schemas/325fd5394ba421246b05c0a3c2cd5efeec2131058a63d473",
"contentType": "application/vnd.adobe.xed-full+json;version=1"
}
}
}'
Proprietà | Descrizione |
---|---|
outputSchema.schemaRef.id |
ID del schema XDM di destinazione generato in un passaggio precedente. |
mappings.sourceType |
Tipo di attributo di origine di cui viene eseguito il mapping. |
mappings.source |
L’attributo di origine che deve essere mappato su un percorso XDM di destinazione. |
mappings.destination |
Percorso XDM di destinazione in cui viene eseguito il mapping dell’attributo di origine. |
In caso di esito positivo, la risposta restituisce i dettagli della mappatura appena creata, compreso l’identificatore univoco (id
). Questo valore è necessario in un passaggio successivo per creare un flusso di dati.
{
"id": "ddf0592bcc9d4ac391803f15f2429f87",
"version": 0,
"createdDate": 1597784069368,
"modifiedDate": 1597784069368,
"createdBy": "{CREATED_BY}",
"modifiedBy": "{MODIFIED_BY}"
}
L’ultimo passaggio per importare dati da SAP Commerce In Platform è necessario creare un flusso di dati. A questo punto sono stati preparati i seguenti valori obbligatori:
Un flusso di dati è responsabile della pianificazione e della raccolta di dati da un’origine. Puoi creare un flusso di dati eseguendo una richiesta POST e fornendo i valori precedentemente menzionati all’interno del payload.
Formato API
POST /flows
Richiesta
curl -X POST \
'https://platform.adobe.io/data/foundation/flowservice/flows' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-H 'Content-Type: application/json' \
-d '{
"name": "SAP Commerce Connector Description Flow Generic Rest",
"description": "SAP Commerce Connector Description Flow Generic Rest",
"flowSpec": {
"id": "6499120c-0b15-42dc-936e-847ea3c24d72",
"version": "1.0"
},
"sourceConnectionIds": [
"2ef2e831-f4f1-4363-a0f7-08b4ea347164"
],
"targetConnectionIds": [
"5b72a4b6-2fb8-4ca7-8ad8-4114a3063c5c"
],
"transformations": [
{
"name": "Mapping",
"params": {
"mappingId": "ddf0592bcc9d4ac391803f15f2429f87",
"mappingVersion": "0"
}
}
],
"scheduleParams": {
"startTime": "1625040887",
"frequency": "once",
}
}'
Proprietà | Descrizione |
---|---|
name |
Nome del flusso di dati. Assicurati che il nome del flusso di dati sia descrittivo, in quanto può essere utilizzato per cercare informazioni sul flusso di dati. |
description |
Valore facoltativo che puoi includere per fornire ulteriori informazioni sul flusso di dati. |
flowSpec.id |
ID della specifica di flusso necessario per creare un flusso di dati. Questo ID fisso è: 6499120c-0b15-42dc-936e-847ea3c24d72 . |
flowSpec.version |
Versione corrispondente dell'ID della specifica di flusso. Questo valore viene impostato automaticamente su 1.0 . |
sourceConnectionIds |
Il ID connessione sorgente generato in un passaggio precedente. |
targetConnectionIds |
Il ID connessione di destinazione generato in un passaggio precedente. |
transformations |
Questa proprietà contiene le varie trasformazioni che devono essere applicate ai dati. Questa proprietà è necessaria per portare dati non conformi a XDM su Platform. |
transformations.name |
Nome assegnato alla trasformazione. |
transformations.params.mappingId |
Il ID mappatura generato in un passaggio precedente. |
transformations.params.mappingVersion |
Versione corrispondente dell'ID di mappatura. Questo valore viene impostato automaticamente su 0 . |
scheduleParams.startTime |
Questa proprietà contiene informazioni sulla pianificazione dell’acquisizione del flusso di dati. |
scheduleParams.frequency |
La frequenza con cui il flusso di dati raccoglierà i dati. |
scheduleParams.interval |
L’intervallo indica il periodo tra due esecuzioni consecutive del flusso. Il valore dell'intervallo deve essere un numero intero diverso da zero. |
Risposta
In caso di esito positivo, la risposta restituisce l’ID (id
) del flusso di dati appena creato. Puoi usare questo ID per monitorare, aggiornare o eliminare il flusso di dati.
{
"id": "fcd16140-81b4-422a-8f9a-eaa92796c4f4",
"etag": "\"9200a171-0000-0200-0000-6368c1da0000\""
}
La sezione seguente fornisce informazioni sui passaggi possibili per monitorare, aggiornare ed eliminare il flusso di dati.
Una volta creato il flusso di dati, puoi monitorare i dati che vengono acquisiti tramite di esso per visualizzare informazioni sulle esecuzioni del flusso, sullo stato di completamento e sugli errori. Per esempi API completi, consulta la guida su monitoraggio dei flussi di dati di origine tramite l’API.
Aggiorna i dettagli del flusso di dati, ad esempio il nome e la descrizione, nonché la pianificazione di esecuzione e i set di mappatura associati, effettuando una richiesta PATCH al /flows
endpoint di Flow Service e fornire l’ID del flusso di dati. Quando effettui una richiesta PATCH, devi fornire il codice univoco del flusso di dati etag
nel If-Match
intestazione. Per esempi API completi, consulta la guida su aggiornamento dei flussi di dati di origine tramite l’API.
Aggiorna il nome, la descrizione e le credenziali dell’account di origine eseguendo una richiesta PATCH al Flow Service fornendo l’ID connessione di base come parametro di query. Quando effettui una richiesta PATCH, devi fornire il codice univoco dell’account sorgente etag
nel If-Match
intestazione. Per esempi API completi, consulta la guida su aggiornamento dell’account sorgente tramite l’API.
Elimina il flusso di dati eseguendo una richiesta DELETE al Flow Service fornendo l’ID del flusso di dati che desideri eliminare come parte del parametro di query. Per esempi API completi, consulta la guida su eliminazione dei flussi di dati tramite API.
Elimina l’account eseguendo una richiesta DELETE al Flow Service fornendo l’ID della connessione di base dell’account da eliminare. Per esempi API completi, consulta la guida su eliminazione dell’account sorgente tramite l’API.