오브젝트 관계 생성
/custom_objects/objects/{type_name}/{external_id}/object_relationships
이 엔드포인트를 사용하여 두 커스텀 오브젝트 간에 단방향 관계 엣지를 생성합니다.

커스텀 오브젝트는 현재 얼리 액세스 중입니다. 커스텀 오브젝트 API 키 권한이 설정 > API 키에 표시되려면 워크스페이스가 활성화되어 있어야 합니다.
전제 조건
이 엔드포인트를 사용하려면 custom_objects.object_relationships.create 권한이 있는 API 키가 필요합니다.
사용량 제한
이 엔드포인트는 커스텀 오브젝트 쓰기 버킷에 포함되며, 기본값은 분당 50건의 요청으로 제한됩니다.
경로 매개변수
다음 표에는 /custom_objects/objects/{type_name}/{external_id}/object_relationships 엔드포인트의 경로 매개변수가 나열 및 설명되어 있습니다.
| 매개변수 | 필수 | 데이터 유형 | 설명 |
|---|---|---|---|
type_name |
필수 | 문자열 | URL 오브젝트 유형 |
external_id |
필수 | 문자열 | URL 오브젝트 식별자 |
요청 매개변수
다음 표에는 /custom_objects/objects/{type_name}/{external_id}/object_relationships 엔드포인트의 JSON 요청 본문 매개변수가 나열 및 설명되어 있습니다.
| 매개변수 | 필수 | 데이터 유형 | 설명 |
|---|---|---|---|
rel_kind |
필수 | 문자열 | 관계 유형 |
related_type_name |
필수 | 문자열 | 관련 오브젝트 유형 |
related_external_id |
필수 | 문자열 | 관련 오브젝트 식별자 |
anchor |
선택 사항 | 문자열 | source(기본값) 또는 target |
attributes |
선택 사항 | 오브젝트 | 관계 속성 |
요청 예시
이 섹션에는 샘플 JSON 페이로드와 샘플 cURL 요청이 포함되어 있습니다.
샘플 요청 페이로드
1
2
3
4
5
6
7
{
"rel_kind": "subaccount",
"related_type_name": "account",
"related_external_id": "acct-456",
"anchor": "source",
"attributes": {}
}
샘플 cURL 요청
이 예시에서는 acct-123을 subaccount으로 acct-456에 연결하며, acct-123이 관계의 소스가 됩니다.
1
2
3
4
5
6
7
8
9
10
curl --location --request POST 'https://rest.iad-01.braze.com/custom_objects/objects/account/acct-123/object_relationships' \
--header 'Authorization: Bearer YOUR_REST_API_KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
"rel_kind": "subaccount",
"related_type_name": "account",
"related_external_id": "acct-456",
"anchor": "source",
"attributes": {}
}'
응답
이 섹션에는 성공 응답 예시와 응답 필드가 포함되어 있습니다.
성공 응답 예시
상태 코드 201은 다음과 같은 응답 본문을 반환할 수 있습니다.
1
2
3
4
5
6
7
8
9
10
11
{
"object_relationship": {
"rel_kind": "subaccount",
"to_custom_object": {
"type_name": "account",
"external_id": "acct-456",
"attributes": { "name": "Child Account" }
},
"attributes": {}
}
}
응답 매개변수
다음 표에는 성공 응답의 필드가 나열 및 설명되어 있습니다.
| 매개변수 | 필수 | 데이터 유형 | 설명 |
|---|---|---|---|
object_relationship |
필수 | 오브젝트 | 생성된 관계 레코드 |
object_relationship.rel_kind |
필수 | 문자열 | 관계 유형 값 |
object_relationship.to_custom_object |
조건부 | 오브젝트 | anchor=source일 때 관련 오브젝트 |
object_relationship.from_custom_object |
조건부 | 오브젝트 | anchor=target일 때 관련 오브젝트 |
object_relationship.to_custom_object.type_name |
조건부 | 문자열 | 관련 오브젝트 유형 이름 |
object_relationship.to_custom_object.external_id |
조건부 | 문자열 | 관련 오브젝트 외부 ID |
object_relationship.to_custom_object.attributes |
조건부 | 오브젝트 | 관련 오브젝트 속성 |
object_relationship.from_custom_object.type_name |
조건부 | 문자열 | 관련 오브젝트 유형 이름 |
object_relationship.from_custom_object.external_id |
조건부 | 문자열 | 관련 오브젝트 외부 ID |
object_relationship.from_custom_object.attributes |
조건부 | 오브젝트 | 관련 오브젝트 속성 |
object_relationship.attributes |
필수 | 오브젝트 | 관계 속성 |
오류
다음 표에는 이 엔드포인트의 일반적인 오류와 해결 방법이 나열되어 있습니다.
| 상태 | 원인 | 안내 |
|---|---|---|
400 |
알 수 없는 rel_kind, 유효하지 않은 anchor, 관계 유형에 대한 유효하지 않은 관련 유형, 또는 스키마 위반 |
rel_kind가 유형 쌍에 유효한지 확인하고, 유효한 anchor를 사용하며, attributes가 관계 스키마와 일치하는지 확인합니다. |
404 |
URL 오브젝트, 관련 오브젝트, URL 유형 또는 관련 유형을 찾을 수 없음 | 두 오브젝트와 두 유형 이름 모두 워크스페이스에 존재하는지 확인합니다. |
409 |
중복 엣지(duplicate-object-relationship) |
PUT을 사용하여 기존 관계를 교체하거나, 다시 생성하기 전에 삭제합니다. |
422 |
오브젝트당 관계 제한 초과(custom-object-relationship-limit-exceeded) |
해당 오브젝트의 관계 수를 줄이거나, 워크스페이스 제한에 대해 Braze 지원팀에 문의합니다. |
401 |
REST API 키가 누락되었거나 유효하지 않음 | Authorization 헤더에서 Bearer YOUR_REST_API_KEY를 사용하고 있는지, 키가 활성 상태인지 확인합니다. |
403 |
API 키에 권한이 없거나 허용 목록에 의해 요청이 차단됨 | 키에 custom_objects.object_relationships.create 권한이 있는지, 허용 목록이 구성된 경우 소스 IP가 키 허용 목록에 포함되어 있는지 확인합니다. |
429 |
사용량 제한 초과 | X-RateLimit-Reset 이후에 재시도하고 요청 빈도를 줄입니다. |