Relationer i reaktors-API
Resurserna i Reaktors API är ofta relaterade till varandra. Det här dokumentet innehåller en översikt över hur resursrelationer är upprättade i API:t och relationskraven för varje resurstyp.
Beroende på vilken typ av resurs det är fråga om krävs vissa relationer. En obligatorisk relation innebär att den överordnade resursen inte kan finnas utan relationen. Alla andra relationer är valfria.
Oberoende av om de är obligatoriska eller valfria etableras relationer antingen automatiskt av systemet när relevanta resurser skapas, eller också måste de skapas manuellt. Om du skapar relationer manuellt finns det två möjliga metoder beroende på den aktuella resursen:
- Skapa med nyttolast
- Skapa med URL (endast för bibliotek)
I avsnittet relationskrav finns en lista över kompatibla relationer för varje resurstyp och de metoder som krävs för att upprätta dessa relationer där det är tillämpligt.
Skapa en relation med nyttolast payload
Vissa relationer måste upprättas manuellt när du skapar en resurs. För att uppnå detta måste du tillhandahålla ett relationship-objekt i nyttolasten för begäran när du först skapar den överordnade resursen. Exempel på sådana relationer är:
- Skapar ett dataelement med de tillägg som krävs
- Skapar en miljö med den värdrelation som krävs
API-format
POST /properties/{PROPERTY_ID}/{RESOURCE_TYPE}
{PROPERTY_ID}{RESOURCE_TYPE}Begäran
Följande begäran skapar en ny rule_component som upprättar relationer med rules och en extension.
curl -X POST \
https://reactor.adobe.io/properties/PRf606dbddfbdc44f580fc6f342b5ff9be/rule_components \
-H 'Authorization: Bearer [TOKEN]' \
-H 'x-api-key: [KEY]' \
-H 'x-gw-ims-org-id: [ORG_ID]' \
-H 'Accept: application/vnd.api+json;revision=1' \
-H 'Content-Type: application/vnd.api+json' \
-d '{
"data": {
"attributes": {
"delegate_descriptor_id": "kessel-test::events::click",
"name": "My Example Click Event",
"settings": "{\"elementSelector\":\".accordion\",\"bubbleFireIfChildFired\":true}"
},
"relationships": {
"extension": {
"data": {
"id": "EXa2865f4d14204fa094f247406424371b",
"type": "extensions"
}
},
"rules": {
"data": [
{
"id": "RLd53598e3f1884e63bbc8e9c95e463dcf",
"type": "rules"
}
]
}
},
"type": "rule_components"
}
}'
relationshipsextension- och rules-relationer, som är specifika för rule_components. Mer information om kompatibla relationstyper för olika resurser finns i avsnittet relationskrav efter resurs.datarelationship måste innehålla en data-egenskap som refererar till id och type för den resurs som en relation etableras med. Du kan skapa en relation med flera resurser av samma typ genom att formatera egenskapen data som en objektmatris, där varje objekt innehåller id och type för en tillämplig resurs.idid måste åtföljas av en jämställd type-egenskap som anger resurstypen i fråga.typeid-fält. Godkända värden är data_elements, rules, extensions och environments.Skapa en relation utifrån URL url
Till skillnad från andra resurser upprättar bibliotek relationer via sina egna dedikerade /relationship-slutpunkter. Exempel:
API-format
POST /properties/{PROPERTY_ID}/libraries/{LIBRARY_ID}/relationships/{RESOURCE_TYPE}
{PROPERTY_ID}{LIBRARY_ID}{RESOURCE_TYPE}environment, data_elements, extensions och rules.Begäran
Följande begäran använder /relationships/environment-slutpunkten för ett bibliotek för att skapa en relation med en miljö.
curl -X POST \
https://reactor.adobe.io/properties/PRf606dbddfbdc44f580fc6f342b5ff9be/libraries/LB10c1fd171cd347f19fcb8659a8d679ef/relationships/environment \
-H 'Authorization: Bearer [TOKEN]' \
-H 'x-api-key: [KEY]' \
-H 'x-gw-ims-org-id: [ORG_ID]' \
-H 'Accept: application/vnd.api+json;revision=1' \
-H 'Content-Type: application/vnd.api+json' \
-d '{
"data": {
"id": "ENf395a477d2b24ad696d65b901055b9dc",
"type": "environments",
}
}'
dataid och type för målresursen för relationen. Om du skapar en relation med flera resurser av samma typ (till exempel extensions och rules) måste egenskapen data formateras som en objektmatris, där varje objekt innehåller id och type för en tillämplig resurs.idid måste åtföljas av en jämställd type-egenskap som anger resurstypen i fråga.typeid-fält. Godkända värden är data_elements, rules, extensions och environments.Relationskrav per resurs requirements
I följande tabeller beskrivs de tillgängliga relationerna för varje resurstyp, oavsett om dessa relationer är nödvändiga eller inte, och den metod som accepteras för att manuellt skapa relationen där det är tillämpligt.
Granskningshändelser
propertyentityBygger
data_elementsextensionsrulesenvironmentlibrarypropertyÅteranrop
propertyFöretag
propertiesDataelement
librariesrevisionsnotespropertyoriginextensionupdated_with_extensionupdated_with_extension_packageMiljöer
librarybuildshostpropertyTillägg
librariesrevisionsnotespropertyoriginextension_packageupdated_with_extension_packageVärdar
propertyBibliotek
buildsenvironmentdata_elementsextensionsrulesnotesupstream_librarypropertylast_buildAnteckningar
resourceEgenskaper
companycallbacksenvironmentslibrariesdata_elementsextensionsextensionsRegelkomponenter
updated_with_extensions_packageupdated_with_extensionextensionnotesoriginpropertyrulesrevisionsRegler
librariesrevisionsnotespropertyoriginrule_componentsHemligheter
propertyenvironment