요금 제한
브레이즈 API 인프라는 고객 기반의 대량 데이터를 처리하도록 설계되었습니다. 이를 위해 우리는 작업 공간별로 API 속도 제한을 시행합니다.
요금 제한은 API가 주어진 시간 동안 수신할 수 있는 요청의 수입니다. 대규모 시스템에서 발생하는 부하 기반 서비스 거부 사고의 대부분은 악의적인 공격이 아닌 소프트웨어 또는 구성 오류로 인해 의도하지 않게 발생합니다. 요금 제한은 이러한 오류가 고객의 Braze API 리소스를 빼앗지 않도록 확인합니다. 지정된 시간 프레임 내에 너무 많은 요청이 전송되면, 429
의 상태 코드와 함께 오류 응답이 표시될 수 있으며, 이는 속도 제한이 초과되었음을 나타냅니다.
API 사용량에 따라 API 속도 제한이 변경될 수 있습니다. 손상이나 오용을 방지하기 위해 API 호출 시 합리적인 제한을 두는 것이 좋습니다.
요청 유형별 속도 제한
다음 표는 다양한 요청 유형에 대한 기본 API 속도 제한을 나열합니다. 이러한 기본 한도는 요청에 따라 늘릴 수 있습니다. 자세한 내용은 고객 성공 관리자에게 문의하세요.
이 표에 나열되지 않은 요청은 시간당 250,000 요청의 총 기본값 비율 제한을 공유합니다.
API 요청 일괄 처리
Braze API는 일괄 처리를 지원하도록 구축되었습니다. 배치 처리를 통해 Braze는 단일 API 호출에서 가능한 한 많은 데이터를 수집할 수 있으므로 많은 API 호출을 할 필요가 없습니다. 브레이즈가 데이터를 한 번에 하나씩 처리하는 것보다 배치로 처리하는 것이 더 효율적입니다. 예를 들어, 1,000개의 배치된 API 호출을 처리하는 데는 75,000개의 개별 호출을 처리하는 것보다 적은 리소스가 필요합니다. 배치 처리는 시간당 75,000회 이상의 호출이 필요할 수 있는 모든 애플리케이션에 대해 매우 중요합니다.
REST API 속도 제한 증가가 API 배치 기능을 사용하는 고객의 필요에 따라 고려됩니다.
사용자 추적 요청 배치
각 /users/track
요청은 최대 75개의 이벤트 객체, 75개의 속성 객체 및 75개의 구매 객체를 포함할 수 있습니다. 각 개체(이벤트, 속성 및 구매 배열)는 각각 한 명의 사용자를 업데이트할 수 있습니다. 총 225명의 사용자가 한 번의 호출로 업데이트될 수 있음을 의미합니다. 또한, 단일 고객 프로필은 여러 객체에 의해 업데이트될 수 있습니다.
이 엔드포인트에 대한 요청은 일반적으로 이 순서대로 처리가 시작됩니다:
- 속성
- 이벤트
- 구매
배치 메시징 엔드포인트 요청
단일 요청은 메시징 엔드포인트 중 하나에 도달할 수 있습니다:
- 최대 50개의 특정
external_ids
, 각각 개별 메시지 매개변수를 가지고 있습니다. - Braze 대시보드에서 생성된 크기와 관계없이 세그먼트,
segment_id
에 의해 지정됨. - 요청에서 연결된 오디언스 객체로 정의된 크기의 추가 오디언스 필터와 일치하는 사용자
일괄 요청 예시
다음 예제에서는 external_id
를 사용하여 이메일과 SMS에 대해 하나의 API 호출을 수행합니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
curl --location --request POST 'https://rest.iad-01.braze.com/v2/subscription/status/set' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR-REST-API-KEY' \
--data-raw '{
"subscription_groups":[
{
"subscription_group_id":"subscription_group_identifier",
"subscription_state":"subscribed",
"external_ids":["example-user","example1@email.com"]
},
{
"subscription_group_id":"subscription_group_identifier",
"subscription_state":"subscribed",
"external_ids":["example-user","example1@email.com"]
}
]
}
사용량 제한 모니터링
Braze로 전송된 모든 단일 API 요청은 응답 헤더에 다음 정보를 반환합니다.
헤더 이름 | 설명 |
---|---|
X-RateLimit-Limit |
지정된 간격으로 요청할 수 있는 최대 요청 수(비율 제한)입니다. |
X-RateLimit-Remaining |
현재 속도 제한 창에 남은 요청 수입니다. |
X-RateLimit-Reset |
현재 속도 제한 창이 재설정되는 시간(UTC 에포크 초)입니다. |
이 정보는 Braze 대시보드가 아닌 API 요청의 응답 헤더에 의도적으로 포함됩니다. 이것은 귀하의 시스템이 우리 API와 상호 작용할 때 실시간으로 더 잘 반응할 수 있도록 합니다. 예를 들어, X-RateLimit-Remaining
값이 특정 임계값 이하로 떨어지면 모든 거래 이메일이 발송되도록 보내는 속도를 늦추고 싶을 수 있습니다. 또는, 만약 그것이 0에 도달하면, X-RateLimit-Reset
에 지정된 시간이 경과할 때까지 모든 전송을 일시 중지하고 싶을 수 있습니다.
HTTP 헤더는 모두 소문자로 반환됩니다. 이 행동은 모든 헤더 필드 이름이 소문자여야 한다고 규정한 HTTP/2 프로토콜과 일치합니다. 이것은 HTTP/1.X와 다릅니다. HTTP/1.X에서는 헤더 이름이 대소문자를 구분하지 않았지만 일반적으로 다양한 대문자 형태로 작성되었습니다.
API 한도에 대한 질문이 있는 경우 고객 성공 매니저에게 문의하거나 지원 티켓을 열어주세요.
엔드포인트 간 최적의 지연
연속적인 엔드포인트 호출 사이에 5분의 지연을 두어 오류를 최소화할 것을 권장합니다.
엔드포인트 간의 최적 지연 시간을 이해하는 것은 Braze API에 연속 호출을 할 때 매우 중요합니다. 엔드포인트가 다른 엔드포인트의 성공적인 처리에 의존하는 경우 문제가 발생하며, 너무 빨리 호출되면 오류가 발생할 수 있습니다. 예를 들어 /user/alias/new
엔드포인트를 통해 사용자에게 별칭을 할당하고 해당 별칭을 눌러 /users/track
엔드포인트를 통해 사용자 지정 이벤트를 전송하는 경우 얼마나 기다려야 할까요?
정상적인 조건에서 데이터의 최종 일관성이 발생하는 데 걸리는 시간은 10~100ms(1/10초)입니다. 그러나 일관성이 발생하는 데 더 오랜 시간이 걸리는 경우가 있을 수 있으므로, 오류 확률을 최소화하기 위해 후속 호출 사이에 5분의 지연을 두는 것이 좋습니다.