Reactor API의 관계

Reactor API의 리소스는 서로 관련되어 있습니다. 이 문서에서는 API에서 리소스 관계가 설정되는 방식과 각 리소스 유형의 관계 요구 사항에 대한 개요를 제공합니다.

해당 리소스의 유형에 따라 일부 관계가 필요합니다. 필수 관계는 상위 리소스가 관계 없이 존재할 수 없음을 의미합니다. 다른 모든 관계는 선택 사항입니다.

필수 또는 선택 사항인지에 관계없이, 관련 리소스를 만들 때 시스템에서 관계를 자동으로 설정하거나 수동으로 만들어야 합니다. 관계를 수동으로 만드는 경우, 해당 리소스에 따라 가능한 두 가지 방법이 있습니다.

각 리소스 유형에 대한 호환 관계 목록 및 해당하는 경우 이러한 관계를 설정하는 데 필요한 방법은 관계 요구 사항의 섹션을 참조하십시오.

페이로드별 관계 만들기

처음 리소스를 만들 때 일부 관계를 수동으로 설정해야 합니다. 이를 수행하려면 먼저 상위 리소스를 만들 때 요청 페이로드에서 relationship 개체를 제공해야 합니다. 이러한 관계의 예는 다음과 같습니다.

API 형식

POST /properties/{PROPERTY_ID}/{RESOURCE_TYPE}
매개 변수 설명
{PROPERTY_ID} 리소스가 속한 속성의 ID입니다.
{RESOURCE_TYPE} 만들 리소스 유형입니다.

요청

다음 요청은 rulesextension와의 관계를 설정하는 새 rule_component을 만듭니다.

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 페이로드별로 관계를 만들 때 제공해야 하는 개체입니다. 이 개체의 각 키는 특정 관계 유형을 나타냅니다. 위의 예에서 extensionrules 관계는 특히 rule_components에 대해 설정됩니다. 다른 리소스의 호환 관계 유형에 대한 자세한 내용은 리소스에 의한 관계 요구 사항 섹션을 참조하십시오.
data relationship 개체 아래에 제공된 각 관계 유형에는 관계가 설정되는 리소스의 idtype을 참조하는 data 속성이 포함되어야 합니다. 해당 리소스의 idtype를 포함하는 각 개체를 사용하여 data 속성을 객체 배열로 지정하여 같은 유형의 여러 리소스와 관계를 만들 수 있습니다.
id 리소스의 고유 ID입니다. 각 id에는 해당 리소스의 유형을 나타내는 동위 type 속성이 포함되어야 합니다.
type 동위 id 필드에서 참조하는 리소스 유형입니다. 허용되는 값에는 data_elements, rules, extensionsenvironments이 포함됩니다.

URL별 관계 만들기

다른 리소스와 달리 라이브러리는 자체 전용 /relationship 종단점을 통해 관계를 설정합니다. 해당 예는 다음과 같습니다.

API 형식

POST /properties/{PROPERTY_ID}/libraries/{LIBRARY_ID}/relationships/{RESOURCE_TYPE}
매개 변수 설명
{PROPERTY_ID} 라이브러리가 속한 속성의 ID입니다.
{LIBRARY_ID} 관계를 만들 라이브러리의 ID입니다.
{RESOURCE_TYPE} 관계가 타깃팅하는 리소스의 유형입니다. 사용 가능한 값에는 environment, data_elements, extensionsrules이 포함됩니다.

요청

다음 요청은 라이브러리에 대해 /relationships/environment 종단점을 사용하여 환경과의 관계를 만듭니다.

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 관계에 대한 대상 리소스의 idtype을 참조하는 개체입니다. 동일한 유형의 여러 리소스(예: extensionsrules)와 관계를 만드는 경우, data 속성은 각 객체가 적용 가능한 리소스의 idtype를 포함하는 객체 배열로서 형식을 지정해야 합니다.
id 리소스의 고유 ID입니다. 각 id에는 해당 리소스의 유형을 나타내는 동위 type 속성이 포함되어야 합니다.
type 동위 id 필드에서 참조하는 리소스 유형입니다. 허용되는 값에는 data_elements, rules, extensionsenvironments이 포함됩니다.

리소스별 관계 요구 사항

다음 표에서는 각 리소스 유형에 대해 사용 가능한 관계, 해당 관계가 필요한지 여부 및 해당하는 경우 관계를 수동으로 생성하는 허용 방법에 대해 설명합니다.

노트

관계가 페이로드 또는 URL에 의해 만들어져서 나열되지 않으면 시스템에 의해 자동으로 할당됩니다.

감사 이벤트

관계 필수 여부 페이로드별로 만들기 URL별 만들기
property
entity

빌드

관계 필수 여부 페이로드별로 만들기 URL별 만들기
data_elements
extensions
rules
environment
library
property

콜백

관계 필수 여부 페이로드별로 만들기 URL별 만들기
property

회사

관계 필수 여부 페이로드별로 만들기 URL별 만들기
properties

데이터 요소

관계 필수 여부 페이로드별로 만들기 URL별 만들기
libraries
revisions
notes
property
origin
extension
updated_with_extension
updated_with_extension_package

환경

관계 필수 여부 페이로드별로 만들기 URL별 만들기
library
builds
host
property

확장

관계 필수 여부 페이로드별로 만들기 URL별 만들기
libraries
revisions
notes
property
origin
extension_package
updated_with_extension_package

호스트

관계 필수 여부 페이로드별로 만들기 URL별 만들기
property

라이브러리

관계 필수 여부 페이로드별로 만들기 URL별 만들기
builds
environment
data_elements
extensions
rules
notes
upstream_library
property
last_build

참고

관계 필수 여부 페이로드별로 만들기 URL별 만들기
resource

속성

관계 필수 여부 페이로드별로 만들기 URL별 만들기
company
callbacks
environments
libraries
data_elements
extensions
extensions

규칙 구성 요소

관계 필수 여부 페이로드별로 만들기 URL별 만들기
updated_with_extensions_package
updated_with_extension
extension
notes
origin
property
rules
revisions

규칙

관계 필수 여부 페이로드별로 만들기 URL별 만들기
libraries
revisions
notes
property
origin
rule_components

이 페이지에서는