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"
}
}'
relationships
extension
- 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.data
relationship
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.id
id
måste åtföljas av en jämställd 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 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",
}
}'
data
id
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.id
id
måste åtföljas av en jämställd 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