Relaties in de Reactor-API
Bronnen in de Reactor-API zijn vaak verwant aan elkaar. Dit document biedt een overzicht van hoe de bronrelaties worden vastgelegd in de API en de relatievereisten van elk type bron.
Afhankelijk van het soort middel in kwestie, worden sommige verhoudingen vereist. Een vereiste relatie houdt in dat de bovenliggende bron niet kan bestaan zonder de relatie. Alle andere relaties zijn optioneel.
Ongeacht of ze verplicht of optioneel zijn, worden relaties automatisch door het systeem tot stand gebracht wanneer relevante bronnen worden gemaakt, of ze moeten handmatig worden gemaakt. In het geval van het manueel creëren van verhoudingen, zijn er twee mogelijke methodes afhankelijk van de betrokken bron:
- Maken op basis van lading
- creeert door URL(voor slechts bibliotheken)
Verwijs naar de sectie over relatievereistenvoor een lijst van de compatibele verhoudingen voor elk middeltype, en de methodes die worden vereist om die verhoudingen te vestigen waar toepasselijk.
Een relatie maken op basis van een payload payload
Sommige verhoudingen moeten manueel worden gevestigd wanneer u aanvankelijk een middel creeert. Hiervoor moet u een relationship
-object opgeven in de payload van de aanvraag wanneer u de bovenliggende bron maakt. Voorbeelden van deze relaties zijn:
- Creërend een gegevenselementmet de vereiste uitbreidingen
- Creërend een milieumet de vereiste gastheerverhouding
API formaat
POST /properties/{PROPERTY_ID}/{RESOURCE_TYPE}
{PROPERTY_ID}
{RESOURCE_TYPE}
Verzoek
Met de volgende aanvraag wordt een nieuwe rule_component
gemaakt die relaties tot stand brengt met rules
en een 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
- en rules
-relaties tot stand gebracht, die specifiek zijn voor rule_components
. Voor meer informatie over compatibele relatietypen voor verschillende middelen, zie de sectie over relatievereisten door middel.data
relationship
-object wordt opgegeven, moet een data
-eigenschap bevatten, die verwijst naar de id
en type
van de bron waarmee een relatie wordt ingesteld. U kunt een relatie maken met meerdere bronnen van hetzelfde type door de eigenschap data
op te maken als een array van objecten, waarbij elk object de id
en type
van een toepasselijke bron bevat.id
id
moet vergezeld gaan van een eigenschap type
sibling die het type van de bron in kwestie aangeeft.type
id
veld. Tot de toegestane waarden behoren data_elements
, rules
, extensions
en environments
.Een relatie via URL maken url
In tegenstelling tot andere bronnen maken bibliotheken relaties tot stand via hun eigen toegewijde /relationship
eindpunten. Voorbeelden zijn:
API formaat
POST /properties/{PROPERTY_ID}/libraries/{LIBRARY_ID}/relationships/{RESOURCE_TYPE}
{PROPERTY_ID}
{LIBRARY_ID}
{RESOURCE_TYPE}
environment
, data_elements
, extensions
en rules
.Verzoek
In het volgende verzoek wordt het eindpunt /relationships/environment
voor een bibliotheek gebruikt om een relatie met een omgeving te maken.
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
en type
van de doelbron voor de relatie. Wanneer u een relatie maakt met meerdere bronnen van hetzelfde type (zoals extensions
en rules
), moet de eigenschap data
worden opgemaakt als een array van objecten, waarbij elk object de id
en type
van een toepasselijke bron bevat.id
id
moet vergezeld gaan van een eigenschap type
sibling die het type van de bron in kwestie aangeeft.type
id
veld. Tot de toegestane waarden behoren data_elements
, rules
, extensions
en environments
.Vereisten inzake relatie per bron requirements
De volgende lijsten schetsen de beschikbare verhoudingen voor elk middeltype, al dan niet die verhoudingen worden vereist, en de toegelaten methode om de verhouding manueel tot stand te brengen waar toepasselijk.
Controlegebeurtenissen
property
entity
Builds
data_elements
extensions
rules
environment
library
property
Callbacks
property
Bedrijven
properties
Gegevenselementen
libraries
revisions
notes
property
origin
extension
updated_with_extension
updated_with_extension_package
Omgevingen
library
builds
host
property
Extensies
libraries
revisions
notes
property
origin
extension_package
updated_with_extension_package
Gastheren
property
Bibliotheken
builds
environment
data_elements
extensions
rules
notes
upstream_library
property
last_build
Notities
resource
Properties
company
callbacks
environments
libraries
data_elements
extensions
extensions
Regelcomponenten
updated_with_extensions_package
updated_with_extension
extension
notes
origin
property
rules
revisions
Regels
libraries
revisions
notes
property
origin
rule_components
Geheimen
property
environment