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 relatievereisten voor 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 gegevenselement met de vereiste uitbreidingen
- Creërend een milieu met 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"
}
}'
relationshipsextension - 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 .datarelationship -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.idid moet vergezeld gaan van een eigenschap type sibling die het type van de bron in kwestie aangeeft.typeid 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",
}
}'
dataid 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.idid moet vergezeld gaan van een eigenschap type sibling die het type van de bron in kwestie aangeeft.typeid 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
propertyentityBuilds
data_elementsextensionsrulesenvironmentlibrarypropertyCallbacks
propertyBedrijven
propertiesGegevenselementen
librariesrevisionsnotespropertyoriginextensionupdated_with_extensionupdated_with_extension_packageOmgevingen
librarybuildshostpropertyExtensies
librariesrevisionsnotespropertyoriginextension_packageupdated_with_extension_packageGastheren
propertyBibliotheken
buildsenvironmentdata_elementsextensionsrulesnotesupstream_librarypropertylast_buildNotities
resourceProperties
companycallbacksenvironmentslibrariesdata_elementsextensionsextensionsRegelcomponenten
updated_with_extensions_packageupdated_with_extensionextensionnotesoriginpropertyrulesrevisionsRegels
librariesrevisionsnotespropertyoriginrule_componentsGeheimen
propertyenvironment