REST API를 사용한 메시지 전송
두 가지 Braze 엔드포인트를 사용하여 백엔드에서 실시간으로 메시지를 보낼 수 있습니다. 각각 요청 형식이 다릅니다. 하나는 요청에 전체 메시지 내용을 포함해야 하며, 다른 하나는 Campaign ID를 요구하고 대시보드에서 정의된 콘텐츠를 전송합니다.
이 접근 방식은 API가 지원하는 모든 메시징 채널(WhatsApp, 이메일, SMS, 푸시, Content Cards, 웹훅 등)에서 작동합니다.
보내는 두 가지 방법
/messages/send |
/campaigns/trigger/send |
|
|---|---|---|
| Campaign ID | 선택 사항. 대시보드 Campaign 추적 없이 발송하려면 생략하거나, 대시보드에서 추적하려면 API Campaign ID와 각 메시지에 message_variation_id를 함께 제공합니다. |
필수. |
| 메시지 내용 | 요청에 messages 오브젝트를 포함해야 합니다(예: messages.whats_app, messages.email). |
허용되지 않음. 메시지 내용은 Braze 대시보드의 Campaign에서 정의됩니다. |
| 사용 사례 | API 요청에 완전히 명시된 내용으로 메시지를 전송합니다. | API를 통해 사전 구축된 Campaign(대시보드 내 콘텐츠)을 특정 수신자에게 트리거합니다. |
전체 요청 및 응답 세부 정보는 즉시 메시지 보내기(API 전용) 및 API 트리거 전달을 사용한 Campaign 보내기 엔드포인트 참조 문서를 확인하세요.
옵션 1: 요청에 메시지 내용을 포함하여 전송(/messages/send)
API 요청에서 전체 메시지 내용을 지정하려는 경우 이 엔드포인트를 사용합니다. messages 오브젝트(예: messages.whats_app, messages.email 또는 messages.sms)를 반드시 포함해야 합니다. Campaign 추적 없이 발송하려면 campaign_id를 생략하거나, 대시보드에서 발송 내역을 추적하려면 각 메시지에 API Campaign ID와 message_variation_id를 포함하세요(자세한 내용은 엔드포인트 참조 문서를 확인하세요).
필수: messages.send 권한이 있는 API 키.

external_user_ids에 포함된 각 수신자는 Braze에 이미 존재해야 합니다. 발송과 함께 사용자를 생성하려면 먼저 /users/track를 사용하거나, 옵션 2(API 트리거 Campaign)를 대신 사용하세요.
예시: WhatsApp 템플릿 메시지
1
2
3
POST YOUR_REST_ENDPOINT/messages/send
Content-Type: application/json
Authorization: Bearer YOUR_REST_API_KEY
1
2
3
4
5
6
7
8
9
10
11
12
13
14
{
"external_user_ids": ["user123"],
"messages": {
"whats_app": {
"app_id": "YOUR_APP_ID",
"subscription_group_id": "YOUR_WHATSAPP_SUBSCRIPTION_GROUP_ID",
"message_type": "template_message",
"message": {
"template_name": "new_message_received",
"template_language_code": "en_US"
}
}
}
}
전체 WhatsApp 오브젝트 사양은 WhatsApp 오브젝트를 참조하세요.

/messages/send 엔드포인트는 TEXT 또는 IMAGE 헤더가 포함된 WhatsApp 템플릿만 지원합니다. DOCUMENT, VIDEO 또는 기타 미디어 헤더 유형의 경우 API 트리거 Campaign 엔드포인트 또는 Braze 대시보드를 대신 사용하세요.
예시: 이메일
1
2
3
4
5
6
7
8
9
10
11
{
"external_user_ids": ["user123"],
"messages": {
"email": {
"app_id": "YOUR_APP_ID",
"subject": "Your order has shipped",
"from": "[email protected]",
"body": "<p>Your order #12345 is on its way.</p>"
}
}
}
다른 채널에 대해서는 메시징 오브젝트를 참조하세요.
옵션 2: 대시보드의 콘텐츠로 Campaign 트리거(/campaigns/trigger/send)
Braze 대시보드에서 메시지 콘텐츠가 구축된 경우(API 트리거 Campaign) 이 엔드포인트를 사용합니다. 필수 항목인 campaign_id와 수신자를 전송하며, messages 오브젝트는 전송하지 않습니다.
필수: campaigns.trigger.send 권한이 있는 API 키.
1단계: API 트리거 Campaign 생성
- Braze 대시보드에서 메시징 > Campaigns로 이동합니다.
- 캠페인 생성을 선택한 후, API-Triggered Campaign(“API Campaign”이 아님)을 선택합니다.
- 메시지 채널(WhatsApp, 이메일, SMS 등)을 추가하고 대시보드에서 메시지 내용을 구축합니다.
- Campaign ID를 기록합니다(여러 메시지 배리언트를 사용하는 경우 Send ID도 함께 기록). API 요청에서 이 값들을 사용하게 됩니다.
API 트리거 Campaign 구축에 대한 자세한 내용은 API 트리거 전달을 참조하세요.
2단계: API를 통해 Campaign 트리거
campaign_id와 recipients(또는 broadcast/audience)를 포함하여 /campaigns/trigger/send로 POST 요청을 전송합니다. messages 오브젝트는 포함하지 마세요—콘텐츠는 Campaign에서 제공됩니다.
1
2
3
POST YOUR_REST_ENDPOINT/campaigns/trigger/send
Content-Type: application/json
Authorization: Bearer YOUR_REST_API_KEY
1
2
3
4
5
6
7
8
{
"campaign_id": "YOUR_CAMPAIGN_ID",
"recipients": [
{
"external_user_id": "user123"
}
]
}
전체 요청 본문(trigger_properties, send_to_existing_only, attributes 등 포함)은 API 트리거 전달을 사용한 Campaign 보내기 엔드포인트 참조 문서를 확인하세요.
통합 확인
- 위의 옵션 중 하나를 사용하여 본인의 사용자 ID를 수신자로 지정하여 요청을 보냅니다.
- 메시지가 전달되었는지 확인합니다.
- 옵션 2를 사용하는 경우, Braze 대시보드에서 Campaign을 확인하여 발송이 기록되었는지 확인합니다.