Een bronverbinding en gegevensstroom maken voor SugarCRM Accounts & Contacts de Flow Service API gebruiken
De volgende zelfstudie begeleidt u door de stappen om een SugarCRM Accounts & Contacts bronverbinding en een gegevensstroom maken om SugarCRM accounts en contactpersonen aan Adobe Experience Platform met behulp van de Flow Service API.
Aan de slag
Deze handleiding vereist een goed begrip van de volgende onderdelen van het Experience Platform:
- Bronnen: Met Experience Platform kunnen gegevens uit verschillende bronnen worden ingepakt en kunt u inkomende gegevens structureren, labelen en verbeteren met behulp van de platformservices.
- Sandboxen: Experience Platform biedt virtuele sandboxen die één platforminstantie in afzonderlijke virtuele omgevingen verdelen om toepassingen voor digitale ervaringen te ontwikkelen en te ontwikkelen.
De volgende secties bevatten aanvullende informatie die u nodig hebt om verbinding te kunnen maken met SugarCRM met de Flow Service API.
Vereiste referenties verzamelen
Om verbinding te maken SugarCRM Accounts & Contacts aan Platform, moet u waarden voor de volgende verbindingseigenschappen verstrekken:
host
developer.salesfusion.com
username
abc.def@example.com@sugarmarketdemo000.com
password
123456789
Verbinden SugarCRM Accounts & Contacts naar Platform met de Flow Service API
Hieronder worden de stappen beschreven die u moet uitvoeren om uw SugarCRM bron, creeer een bronverbinding, en creeer een gegevensstroom om uw rekeningen en contactgegevens aan Experience Platform te brengen.
Een basisverbinding maken base-connection
Een basisverbinding behoudt informatie tussen uw bron en Platform, met inbegrip van de de authentificatiegeloofsbrieven van uw bron, de huidige staat van de verbinding, en uw unieke identiteitskaart van de basisverbinding. Met de ID van de basisverbinding kunt u bestanden verkennen en door bestanden navigeren vanuit uw bron en kunt u de specifieke items identificeren die u wilt opnemen, inclusief informatie over hun gegevenstypen en indelingen.
Om een identiteitskaart van de basisverbinding te creëren, doe een verzoek van de POST aan /connections
als u uw SugarCRM Accounts & Contacts verificatiegegevens als onderdeel van de aanvraaginstantie.
API-indeling
POST /connections
Verzoek
Met de volgende aanvraag wordt een basisverbinding gemaakt voor SugarCRM Accounts & Contacts:
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": "SugarCRM Accounts & Contacts base connection",
"description": "Create a live inbound connection to your SugarCRM Accounts & Contacts instance, to ingest both historic and scheduled data into Experience Platform",
"connectionSpec": {
"id": "59a4b493-a615-40f9-bd38-f823d0909a2b",
"version": "1.0"
},
"auth": {
"specName": "OAuth2 Refresh Code",
"params": {
"host": "developer.salesfusion.com",
"username": "{SUGARCRM_DEVELOPER_ACCOUNT_USERNAME}",
"password": "{SUGARCRM_DEVELOPER_ACCOUNT_PASSWORD}"
}
}
}'
name
description
connectionSpec.id
auth.specName
auth.params.host
auth.params.username
auth.params.password
Antwoord
Een geslaagde reactie retourneert de nieuwe basisverbinding, inclusief de unieke verbindingsidentificatie (id
). Deze id is vereist om de bestandsstructuur en inhoud van uw bron in de volgende stap te verkennen.
{
"id": "f5421911-6f6c-41c7-aafa-5d9d2ce51535",
"etag": "\"4d08164f-0000-0200-0000-6368b7bf0000\""
}
Ontdek uw bron explore
Met de id van de basisverbinding die u in de vorige stap hebt gegenereerd, kunt u bestanden en mappen verkennen door GET-aanvragen uit te voeren.
Gebruik de volgende vraag om de weg van het dossier te vinden u in Platform wilt brengen:
API-indeling
GET /connections/{BASE_CONNECTION_ID}/explore?objectType=rest&object={OBJECT}&fileType={FILE_TYPE}&preview={PREVIEW}&sourceParams={SOURCE_PARAMS}
Wanneer het uitvoeren van GET verzoeken om de het dossierstructuur en inhoud van uw bron te onderzoeken, moet u de vraagparameters omvatten die in de lijst hieronder vermeld zijn:
{BASE_CONNECTION_ID}
objectType=rest
rest
.{OBJECT}
json
.fileType=json
json
is het enige ondersteunde bestandstype.{PREVIEW}
{SOURCE_PARAMS}
Bepaalt parameters voor het brondossier u aan Platform wilt brengen. Het geaccepteerde indelingstype ophalen voor {SOURCE_PARAMS}
, moet u het volledige koord in base64 coderen.
SugarCRM Accounts & Contacts ondersteunt meerdere API's. Afhankelijk van het objecttype dat u gebruikt, geeft u een van de volgende waarden door:
accounts
: Bedrijven met wie uw organisatie een relatie heeft.contacts
: Individuele personen met wie uw organisatie een vaste relatie heeft.
De SugarCRM Accounts & Contacts ondersteunt meerdere API's. Afhankelijk van het objecttype dat u gebruikt voor het verzenden van de aanvraag, ziet u als volgt:
Verzoek
Voor SugarCRM Accounts-API de waarde voor {SOURCE_PARAMS}
wordt doorgegeven als {"object_type":"accounts"}
. Wanneer gecodeerd in base64, komt deze overeen met eyJvYmplY3RfdHlwZSI6ImFjY291bnRzIn0=
zoals hieronder weergegeven.
code language-shell |
---|
|
Voor SugarCRM Contacteert API de waarde voor {SOURCE_PARAMS}
wordt doorgegeven als {"object_type":"contacts"}
. Wanneer gecodeerd in base64 staat deze gelijk aan eyJvYmplY3RfdHlwZSI6ImNvbnRhY3RzIn0=
zoals hieronder weergegeven.
code language-shell |
---|
|
Antwoord
En afhankelijk van welk objecttype u de ontvangen reactie leveraging is de volgende tabel:
Een geslaagde reactie retourneert een structuur zoals hieronder.
code language-json |
---|
|
Een geslaagde reactie retourneert een structuur zoals hieronder.
code language-json |
---|
|
Een bronverbinding maken source-connection
U kunt een bronverbinding tot stand brengen door een verzoek van de POST aan Flow Service API. Een bronverbinding bestaat uit een verbinding-id, een pad naar het brongegevensbestand en een verbindingsspecificatie-id.
API-indeling
POST /sourceConnections
Verzoek
Met de volgende aanvraag wordt een bronverbinding gemaakt voor SugarCRM Accounts & Contacts:
Afhankelijk van het objecttype dat u gebruikt, selecteert u een van de volgende tabbladen:
Voor SugarCRM Accounts-API object_type
eigenschapswaarde moet accounts
.
code language-shell |
---|
|
Voor SugarCRM Contactpersoon API object_type
eigenschapswaarde moet contacts
.
code language-shell |
---|
|
name
description
baseConnectionId
connectionSpec.id
data.format
json
.object_type
SugarCRM Accounts & Contacts ondersteunt meerdere API's. Afhankelijk van het objecttype dat u gebruikt, geeft u een van de volgende waarden door:
accounts
: Bedrijven met wie uw organisatie een relatie heeft.contacts
: Individuele personen met wie uw organisatie een vaste relatie heeft.
path
object_type
.Antwoord
Een geslaagde reactie retourneert de unieke id (id
) van de nieuwe bronverbinding. Deze id is in een latere stap vereist om een gegevensstroom te maken.
{
"id": "8f1fc72a-f562-4a1d-8597-85b5ca1b1cd3",
"etag": "\"ed05f1e1-0000-0200-0000-6368b8710000\""
}
Een doel-XDM-schema maken target-schema
Om de brongegevens in Platform te gebruiken, moet een doelschema worden gecreeerd om de brongegevens volgens uw behoeften te structureren. Het doelschema wordt dan gebruikt om een dataset van het Platform tot stand te brengen waarin de brongegevens bevat zijn.
Een doelXDM schema kan tot stand worden gebracht door een POST verzoek aan te voeren Schema-register-API.
Voor gedetailleerde stappen op hoe te om een doelXDM schema tot stand te brengen, zie de zelfstudie op een schema maken met de API.
Een doelgegevensset maken target-dataset
Een doeldataset kan tot stand worden gebracht door een verzoek van de POST aan Catalogusservice-API, op voorwaarde dat de id van het doelschema zich binnen de payload bevindt.
Voor gedetailleerde stappen op hoe te om een doeldataset tot stand te brengen, zie het leerprogramma op een gegevensset maken met de API.
Een doelverbinding maken target-connection
Een doelverbinding vertegenwoordigt de verbinding met de bestemming waar de ingesloten gegevens moeten worden opgeslagen. Om een doelverbinding tot stand te brengen, moet u vaste identiteitskaart van de verbindingsspecificatie verstrekken die aan het gegevens meer beantwoordt. Deze id is: c604ff05-7f1a-43c0-8e18-33bf874cb11c
.
U hebt nu de unieke herkenningstekens een doelschema een doeldataset en identiteitskaart van de verbindingsspecificatie aan het gegevensmeer. Met deze id's kunt u een doelverbinding maken met de Flow Service API om de dataset te specificeren die de binnenkomende brongegevens zal bevatten.
API-indeling
POST /targetConnections
Verzoek
Met de volgende aanvraag wordt een doelverbinding gemaakt voor SugarCRM Accounts & Contacts:
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": "SugarCRM Target Connection Generic Rest",
"description": "SugarCRM Target Connection Generic Rest",
"connectionSpec": {
"id": "63d2b27b-69a5-45c9-a7fe-78148a25de3c",
"version": "1.0"
},
"data": {
"format": "parquet_xdm",
"schema": {
"id": "https://ns.adobe.com/{TENANT_ID}/schemas/b156e6f818f923e048199173c45e55e20fd2487f5eb03d22",
"version": "1.22"
}
},
"params": {
"dataSetId": "6365389d1d37d01c077a81da"
}
}'
name
description
connectionSpec.id
6b137bf6-d2a0-48c8-914b-d50f4942eb85
.data.format
params.dataSetId
Antwoord
Een geslaagde reactie retourneert de unieke id van de nieuwe doelverbinding (id
). Deze id is vereist in latere stappen.
{
"id": "6b137bf6-d2a0-48c8-914b-d50f4942eb85",
"etag": "\"8405a268-0000-0200-0000-6368b8c30000\""
}
Een toewijzing maken mapping
Opdat de brongegevens in een doeldataset moeten worden opgenomen, moet het eerst aan het doelschema worden in kaart gebracht dat de doeldataset zich aan houdt. Dit wordt bereikt door een verzoek van de POST uit te voeren aan Data Prep API met gegevenstoewijzingen die zijn gedefinieerd in de payload van het verzoek.
API-indeling
POST /conversion/mappingSets
Verzoek
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": "results.account",
"destination": "_extconndev.account"
},
{
"sourceType": "ATTRIBUTE",
"source": "results.account_id",
"destination": "_extconndev.account_id"
},
{
"sourceType": "ATTRIBUTE",
"source": "results.acount_name",
"destination": "_extconndev.account_name"
},
{
"sourceType": "ATTRIBUTE",
"source": "results.account_score",
"destination": "_extconndev.account_score"
},
{
"sourceType": "ATTRIBUTE",
"source": "results.billing_city",
"destination": "_extconndev.billing_city"
},
{
"sourceType": "ATTRIBUTE",
"source": "results.contacts",
"destination": "_extconndev.contacts"
},
{
"sourceType": "ATTRIBUTE",
"source": "results.created_by",
"destination": "_extconndev.created_by"
},
{
"sourceType": "ATTRIBUTE",
"source": "results.created_by_id",
"destination": "_extconndev.created_by_id"
},
{
"sourceType": "ATTRIBUTE",
"source": "results.created_date",
"destination": "_extconndev.created_date"
},
{
"sourceType": "ATTRIBUTE",
"source": "results.custom_score_field",
"destination": "_extconndev.custom_score_field"
},
{
"sourceType": "ATTRIBUTE",
"source": "results.key_account",
"destination": "_extconndev.key_account"
},
{
"sourceType": "ATTRIBUTE",
"source": "results.owner",
"destination": "_extconndev.owner"
},
{
"sourceType": "ATTRIBUTE",
"source": "results.owner_id",
"destination": "_extconndev.owner_id"
},
{
"sourceType": "ATTRIBUTE",
"source": "results.phone",
"destination": "_extconndev.phone_no"
},
{
"sourceType": "ATTRIBUTE",
"source": "results.updated_by",
"destination": "_extconndev.updated_by"
},
{
"sourceType": "ATTRIBUTE",
"source": "results.updated_by_id",
"destination": "_extconndev.updated_by_id"
},
{
"sourceType": "ATTRIBUTE",
"source": "results.updated_date",
"destination": "_extconndev.updated_date"
}
]
}'
outputSchema.schemaRef.id
mappings.sourceType
mappings.source
mappings.destination
Antwoord
Een geslaagde reactie retourneert details van de nieuwe toewijzing inclusief de unieke id (id
). Deze waarde is in een latere stap vereist om een gegevensstroom te maken.
{
"id": "059c69f7207b4d7e9b48c47e2fd966a6",
"version": 0,
"createdDate": 1597784069368,
"modifiedDate": 1597784069368,
"createdBy": "{CREATED_BY}",
"modifiedBy": "{MODIFIED_BY}"
}
Een flow maken flow
De laatste stap op weg naar het verzamelen van gegevens van SugarCRM Accounts & Contacts aan Platform moet een gegevensstroom creëren. Momenteel zijn de volgende vereiste waarden voorbereid:
Een dataflow is verantwoordelijk voor het plannen en verzamelen van gegevens uit een bron. U kunt een gegevensstroom tot stand brengen door een verzoek van de POST uit te voeren terwijl het verstrekken van de eerder vermelde waarden binnen de lading.
Als u een opname wilt plannen, moet u eerst de begintijdwaarde instellen op Tijd in seconden. Vervolgens moet u de frequentiewaarde instellen op een van hour
of day
. De intervalwaarde geeft de periode tussen twee opeenvolgende indelingen aan. Interval moet worden ingesteld als 1
of 24
afhankelijk van scheduleParams.frequency
selectie van hour
of day
.
API-indeling
POST /flows
Verzoek
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": "SugarCRM Connector Description Flow Generic Rest",
"description": "SugarCRM Connector Description Flow Generic Rest",
"flowSpec": {
"id": "6499120c-0b15-42dc-936e-847ea3c24d72",
"version": "1.0"
},
"sourceConnectionIds": [
"8f1fc72a-f562-4a1d-8597-85b5ca1b1cd3"
],
"targetConnectionIds": [
"6b137bf6-d2a0-48c8-914b-d50f4942eb85"
],
"transformations": [
{
"name": "Mapping",
"params": {
"mappingId": "059c69f7207b4d7e9b48c47e2fd966a6",
"mappingVersion": "0"
}
}
],
"scheduleParams": {
"startTime": "1625040887",
"frequency": "hour",
"interval": 1
}
}'
name
description
flowSpec.id
6499120c-0b15-42dc-936e-847ea3c24d72
.flowSpec.version
1.0
.sourceConnectionIds
targetConnectionIds
transformations
transformations.name
transformations.params.mappingId
transformations.params.mappingVersion
0
.scheduleParams.startTime
scheduleParams.frequency
hour
of day
.scheduleParams.interval
1
of 24
afhankelijk van scheduleParams.frequency
selectie van hour
of day
.Antwoord
Een geslaagde reactie retourneert de id (id
) van de nieuwe gegevensstroom. Met deze id kunt u uw gegevensstroom controleren, bijwerken of verwijderen.
{
"id": "fcd16140-81b4-422a-8f9a-eaa92796c4f4",
"etag": "\"9200a171-0000-0200-0000-6368c1da0000\""
}
Bijlage
In de volgende sectie vindt u informatie over de stappen die u kunt uitvoeren om uw gegevensstroom te controleren, bij te werken en te verwijderen.
Uw gegevensstroom controleren
Zodra uw gegevensstroom is gecreeerd, kunt u de gegevens controleren die door het worden opgenomen om informatie over stroomlooppas, voltooiingsstatus, en fouten te zien. Lees de handleiding voor volledige API-voorbeelden op de gegevensstroom van uw bronnen controleren met behulp van de API.
Uw gegevensstroom bijwerken
Werk de details van uw dataflow, zoals zijn naam en beschrijving, evenals zijn looppas programma en bijbehorende kaartreeksen bij door een verzoek van de PATCH aan het /flows
eindpunt van Flow Service API, terwijl het verstrekken van identiteitskaart van uw gegevensstroom. Wanneer u een PATCH-verzoek indient, moet u de unieke gegevens van uw gegevensstroom opgeven etag
in de If-Match
header. Lees de handleiding voor volledige API-voorbeelden op bronnen bijwerken met behulp van de API
Uw account bijwerken
Werk de naam, beschrijving en referenties van uw bronaccount bij door een PATCH-verzoek uit te voeren naar de Flow Service API terwijl het verstrekken van uw identiteitskaart van de basisverbinding als vraagparameter. Wanneer u een PATCH-aanvraag indient, moet u de unieke bronaccount opgeven etag
in de If-Match
header. Lees de handleiding voor volledige API-voorbeelden op het bijwerken van uw bronrekening gebruikend API.
Uw gegevensstroom verwijderen
Verwijder de gegevensstroom door een DELETE-aanvraag uit te voeren naar de Flow Service API terwijl het verstrekken van identiteitskaart van dataflow wilt u als deel van de vraagparameter schrappen. Lees de handleiding voor volledige API-voorbeelden op verwijderen, gegevensstromen met behulp van de API.
Uw account verwijderen
Uw account verwijderen door een DELETE-verzoek uit te voeren aan de Flow Service API terwijl het verstrekken van de identiteitskaart van de basisverbinding van de rekening u wilt schrappen. Lees de handleiding voor volledige API-voorbeelden op verwijderen van uw bronaccount met behulp van de API.