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 gäller 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 efter URL (endast för bibliotek)
Se avsnittet om relationskrav en lista över kompatibla relationer för varje resurstyp och de metoder som krävs för att upprätta dessa relationer, där så ä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 ange en relationship
-objektet i nyttolasten för begäran när du först skapar den överordnade resursen. Exempel på sådana relationer är:
- Skapa ett dataelement med de tillägg som krävs
- Skapa 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
, upprätta relationer med rules
och 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"
}
}'
relationships
extension
och rules
det upprättas relationer som särskilt rule_components
. Mer information om kompatibla relationstyper för olika resurser finns i avsnittet om relationskrav per resurs.data
relationship
objektet måste innehålla data
-egenskap, som refererar till id
och type
för den resurs som en relation upprättas med. Du kan skapa en relation med flera resurser av samma typ genom att formatera data
som en array med objekt, där varje objekt innehåller id
och type
för en tillämplig resurs.id
id
måste åtföljas av ett syskon type
egenskap, som anger resurstypen i fråga.type
id
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 genom sina egna /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
slutpunkt 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",
}
}'
data
id
och type
av målresursen för relationen. Om du skapar en relation med flera resurser av samma typ (till exempel extensions
och rules
), data
-egenskapen måste formateras som en array med objekt, där varje objekt innehåller id
och type
för en tillämplig resurs.id
id
måste åtföljas av ett syskon type
egenskap, som anger resurstypen i fråga.type
id
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
property
entity
Bygger
data_elements
extensions
rules
environment
library
property
Återanrop
property
Företag
properties
Dataelement
libraries
revisions
notes
property
origin
extension
updated_with_extension
updated_with_extension_package
Miljöer
library
builds
host
property
Tillägg
libraries
revisions
notes
property
origin
extension_package
updated_with_extension_package
Värdar
property
Bibliotek
builds
environment
data_elements
extensions
rules
notes
upstream_library
property
last_build
Anteckningar
resource
Egenskaper
company
callbacks
environments
libraries
data_elements
extensions
extensions
Regelkomponenter
updated_with_extensions_package
updated_with_extension
extension
notes
origin
property
rules
revisions
Regler
libraries
revisions
notes
property
origin
rule_components
Hemligheter
property
environment