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:

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:

API-format

POST /properties/{PROPERTY_ID}/{RESOURCE_TYPE}
Parameter
Beskrivning
{PROPERTY_ID}
ID för egenskapen som resursen tillhör.
{RESOURCE_TYPE}
Den typ av resurs som ska skapas.

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"
        }
      }'
Egenskap
Beskrivning
relationships
Ett objekt som måste anges när relationer skapas med nyttolast. Varje nyckel i det här objektet representerar en specifik relationstyp. I exemplet ovan upprättas 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
Varje relationstyp som anges under objektet 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
Unikt ID för en resurs. Varje id måste åtföljas av en jämställd type-egenskap som anger resurstypen i fråga.
type
Resurstypen som refereras av ett jämställt 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}
Parameter
Beskrivning
{PROPERTY_ID}
ID för egenskapen som biblioteket tillhör.
{LIBRARY_ID}
ID:t för det bibliotek som du vill skapa en relation för.
{RESOURCE_TYPE}
Den typ av resurs som relationen har som mål. Tillgängliga värden är 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",
        }
      }'
Egenskap
Beskrivning
data
Ett objekt som refererar till 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
Unikt ID för en resurs. Varje id måste åtföljas av en jämställd type-egenskap som anger resurstypen i fråga.
type
Resurstypen som refereras av ett jämställt 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.

NOTE
Om en relation inte listas som skapad av nyttolast eller URL tilldelas den automatiskt av systemet.

Granskningshändelser

Relation
Obligatoriskt
Skapa med nyttolast
Skapa efter URL
property
entity

Bygger

Relation
Obligatoriskt
Skapa med nyttolast
Skapa efter URL
data_elements
extensions
rules
environment
library
property

Återanrop

Relation
Obligatoriskt
Skapa med nyttolast
Skapa efter URL
property

Företag

Relation
Obligatoriskt
Skapa med nyttolast
Skapa efter URL
properties

Dataelement

Relation
Obligatoriskt
Skapa med nyttolast
Skapa efter URL
libraries
revisions
notes
property
origin
extension
updated_with_extension
updated_with_extension_package

Miljöer

Relation
Obligatoriskt
Skapa med nyttolast
Skapa efter URL
library
builds
host
property

Tillägg

Relation
Obligatoriskt
Skapa med nyttolast
Skapa efter URL
libraries
revisions
notes
property
origin
extension_package
updated_with_extension_package

Värdar

Relation
Obligatoriskt
Skapa med nyttolast
Skapa efter URL
property

Bibliotek

Relation
Obligatoriskt
Skapa med nyttolast
Skapa efter URL
builds
environment
data_elements
extensions
rules
notes
upstream_library
property
last_build

Anteckningar

Relation
Obligatoriskt
Skapa med nyttolast
Skapa efter URL
resource

Egenskaper

Relation
Obligatoriskt
Skapa med nyttolast
Skapa efter URL
company
callbacks
environments
libraries
data_elements
extensions
extensions

Regelkomponenter

Relation
Obligatoriskt
Skapa med nyttolast
Skapa efter URL
updated_with_extensions_package
updated_with_extension
extension
notes
origin
property
rules
revisions

Regler

Relation
Obligatoriskt
Skapa med nyttolast
Skapa efter URL
libraries
revisions
notes
property
origin
rule_components

Hemligheter

Relation
Obligatoriskt
Skapa med nyttolast
Skapa efter URL
property
environment
recommendation-more-help
12b4e4a9-5028-4d88-8ce6-64a580811743