Canvas 데이터 요약 분석 내보내기
/canvas/data_summary
이 엔드포인트를 사용하여 Canvas의 시계열 데이터 롤업을 내보내고, Canvas 결과의 간결한 요약을 제공합니다.
필수 조건
이 엔드포인트를 사용하려면 canvas.data_summary 권한이 있는 API 키가 필요합니다.
사용량 제한
이 엔드포인트에는 API 사용량 제한에 명시된 대로 기본 Braze 사용량 제한인 시간당 250,000건의 요청이 적용됩니다.
요청 매개변수
| 매개변수 | 필수 | 데이터 유형 | 설명 |
|---|---|---|---|
canvas_id |
필수 | 문자열 | Canvas API 식별자를 참조하세요. |
ending_at |
필수 | 날짜/시간 (ISO-8601 문자열) |
데이터 내보내기의 종료 날짜입니다. 요청 시점으로 기본 설정됩니다. |
starting_at |
선택 사항* | 날짜/시간 (ISO-8601 문자열) |
데이터 내보내기의 시작 날짜입니다. * length 또는 starting_at 중 하나가 필요합니다. |
length |
선택 사항* | 문자열 | 반환된 시리즈에 포함된 ending_at 이전의 최대 일수입니다. 1에서 14 사이여야 합니다(포함). * length 또는 starting_at 중 하나가 필요합니다. |
include_variant_breakdown |
선택 사항 | 부울 | 배리언트 통계를 포함할지 여부입니다(기본값은 false). |
include_step_breakdown |
선택 사항 | 부울 | 단계 통계를 포함할지 여부입니다(기본값은 false). |
include_deleted_step_data |
선택 사항 | 부울 | 삭제된 단계에 대한 단계 통계를 포함할지 여부입니다(기본값은 false). |

Canvas 분석은 Braze에서 회사에 설정된 시간대(대시보드에서 사용하는 시간대와 동일)를 기준으로 일별로 집계됩니다. API는 starting_at과 ending_at을 해당 시간대의 자정으로 정규화합니다. 통계가 대시보드와 일치하도록 타임스탬프가 회사의 시간대에 맞는지 확인하세요. 예를 들어, 회사 시간대가 UTC+2인 경우 타임스탬프는 UTC+2 기준 오전 12시여야 합니다.
요청 예시
1
2
curl --location -g --request GET 'https://rest.iad-01.braze.com/canvas/data_summary?canvas_id={{canvas_id}}&ending_at=2018-05-30T23:59:59-05:00&starting_at=2018-05-28T23:59:59-05:00&length=5&include_variant_breakdown=true&include_step_breakdown=true&include_deleted_step_data=true' \
--header 'Authorization: Bearer YOUR-REST-API-KEY'
응답
전환 이벤트 필드
응답에는 Canvas에 구성된 각 전환 이벤트에 대해 한 쌍의 전환 필드가 포함됩니다. 주요 전환 이벤트는 conversions와 conversions_by_entry_time을 사용합니다. 각 추가 이벤트는 동일한 기본 이름에 숫자 접미사를 사용하며, 두 번째 이벤트는 1부터 시작하여 추가 이벤트마다 1씩 증가합니다.
| Canvas에서의 전환 이벤트 순서 | 전환 필드 | 진입 시간 기준 필드 |
|---|---|---|
| 주요 | conversions |
conversions_by_entry_time |
| 두 번째 | conversions1 |
conversions1_by_entry_time |
| 세 번째 | conversions2 |
conversions2_by_entry_time |
| 네 번째 | conversions3 |
conversions3_by_entry_time |
다섯 번째 이후의 이벤트도 동일한 패턴을 따릅니다(예: conversions4 및 conversions4_by_entry_time). 이러한 필드는 total_stats에 나타나며, 분석 세부 정보를 요청하면 variant_stats와 step_stats에서도 동일한 이름으로 나타납니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
{
"data": {
"name": (string) the Canvas name,
"total_stats": {
"revenue": (float) the number of dollars of revenue (USD),
"entries": (int) the number of entries,
"conversions": (int) the number of conversions for the primary conversion event,
"conversions_by_entry_time": (int) the number of conversions for the primary conversion event by entry time,
"conversions1": (optional, int) the number of conversions for the second conversion event,
"conversions1_by_entry_time": (optional, int) the number of conversions for the second conversion event by entry time,
"conversions2": (optional, int) the number of conversions for the third conversion event,
"conversions2_by_entry_time": (optional, int) the number of conversions for the third conversion event by entry time,
"conversions3": (optional, int) the number of conversions for the fourth conversion event,
"conversions3_by_entry_time": (optional, int) the number of conversions for the fourth conversion event by entry time
},
"variant_stats": (optional) {
"00000000-0000-0000-0000-0000000000000": (string) the API identifier for the variant {
"name": (string) the name of the variant,
"revenue": (float) the number of dollars of revenue (USD),
"conversions": (int) the number of conversions for the primary conversion event,
"conversions_by_entry_time": (optional, int) the number of conversions for the primary conversion event by entry time,
"conversions1": (optional, int) the number of conversions for the second conversion event,
"conversions1_by_entry_time": (optional, int) the number of conversions for the second conversion event by entry time,
"conversions2": (optional, int) the number of conversions for the third conversion event,
"conversions2_by_entry_time": (optional, int) the number of conversions for the third conversion event by entry time,
"conversions3": (optional, int) the number of conversions for the fourth conversion event,
"conversions3_by_entry_time": (optional, int) the number of conversions for the fourth conversion event by entry time,
"entries": (int) the number of entries
},
... (more variants)
},
"step_stats": (optional) {
"00000000-0000-0000-0000-0000000000000": (string) the API identifier for the step {
"name": (string) the name of the step,
"revenue": (float) the number of dollars of revenue (USD),
"conversions": (int) the number of conversions for the primary conversion event,
"conversions_by_entry_time": (int) the number of conversions for the primary conversion event by entry time,
"conversions1": (optional, int) the number of conversions for the second conversion event,
"conversions1_by_entry_time": (optional, int) the number of conversions for the second conversion event by entry time,
"conversions2": (optional, int) the number of conversions for the third conversion event,
"conversions2_by_entry_time": (optional, int) the number of conversions for the third conversion event by entry time,
"conversions3": (optional, int) the number of conversions for the fourth conversion event,
"conversions3_by_entry_time": (optional, int) the number of conversions for the fourth conversion event by entry time,
"messages": {
"android_push": (name of channel) [
{
"sent": (int) the number of sends,
"opens": (int) the number of opens,
"influenced_opens": (int) the total number of opens (includes both direct opens and influenced opens),
"bounces": (int) the number of bounces
... (more stats for channel)
}
],
... (more channels)
}
},
... (more steps)
}
},
"message": (required, string) the status of the export, returns 'success' on successful completion
}

API 응답에서 influenced_opens 필드는 총 열람 수(직접 열람과 영향받은 열람을 모두 포함)를 나타냅니다. Braze 대시보드에서 “영향받은 열람”은 직접 열람을 제외한 영향받은 열람만을 의미합니다. 이는 API의 레거시 명명 규칙 때문입니다.