(다른 명칭: 정기 알림)
이 문서에서는 사용자에게 마케팅 메시지(다른 명칭: 정기 알림)를 보내기 위한 권한을 요청하는 방법, 요청을 보내기 위한 구체적인 요구 사항 및 제한 사항, 마케팅 메시지 권한 요청을 만들고 보내는 방법을 안내합니다.
Messenger의 마케팅 메시지(다른 명칭: 정기 알림)가 2026년 2월 10일에 사용 중단됩니다.
2025년 9월 1일부터 마케팅 메시지(다른 명칭: 정기 알림)에 다음과 같은 제한이 적용됩니다.
2025년 7월 1일부터 전 세계 파트너는 Messenger API의 새로운 마케팅 메시지와 통합할 수 있습니다. 파트너 및 최종 클라이언트는 2025년에 Messenger API의 새로운 마케팅 메시지 로 마이그레이션해야 합니다.
마케팅 메시지를 사용하면 Facebook 페이지 또는 Instagram 프로페셔널 계정에서 해당 권한을 부여한 사용자에게 표준 메시지 전송 기간 외에 메시지를 전송할 수 있습니다. 마케팅 메시지를 사용하면 여러분 또는 여러분의 비즈니스에 관심이 있는 사용자와의 관계를 구축할 수 있습니다.
마케팅 메시지는 새롭게 선보이는 선택적인 프리미엄 기능으로, 향후 유료로 운영할 계획입니다. 현재는 WhatsApp Business API를 사용하여 메시지를 보내는 비즈니스에 요금을 청구하고 있으며, 가격 모델을 책정하기 위해 고객의 피드백을 경청하고 있습니다. 무료 체험에 변동이 있을 경우 충분한 기간을 두고 고객과 파트너에게 공지하겠습니다.
마케팅 메시지나 기타 Messenger 플랫폼 기능을 사용할 때 해당하는 모든 개발자 정책을 따라야 합니다.
표준 메시지 전송 기간 내에서만 사용자에게 마케팅 메시지에 옵트 인할 것을 요청할 수 있습니다. 사용자가 마케팅 메시지를 옵트 인하더라도 표준 메시지 전송 기간이 시작되지 않습니다.
앱 및/또는 메시지 경험에 대해 사용자들이 부정적인 피드백을 지나치게 많이 제출하지 않아야 합니다. 해당 앱의 메시지 경험에 대해 사용자들이 부정적인 피드백을 지나치게 많이 제출했다고 판단되는 경우 메시지 기능이 제한되거나 삭제될 수 있습니다.
옵트 인 요청을 포함한 마케팅 메시지를 사용하여 사용자들에게 스팸성 메시지를 보내서는 안 됩니다. 여기에는 동일한 사용자에게 높은 빈도로 중복 옵트 인 요청과 개발자 정책에 정의된 기타 유형의 스팸성 메시지를 보내는 행위가 포함됩니다.
Meta로부터 제공받는 서비스의 범위를 유지하려면 Messenger 플랫폼과 마케팅 메시지의 기능에 적용된 제한 사항을 준수해야 합니다.
title을 갖거나 Instagram 프로페셔널 계정에서 보내는 알림이 동일한 title과 image_url을 갖는 것으로 정의됩니다.Meta는 최고의 사용자 및 비즈니스 경험을 위해 언제나 최선을 다하고 있으므로 이러한 요구 사항과 제한 사항은 변경될 수 있습니다.
양질의 사용자 경험을 만들려면 다음과 같이 하여 사람들에게 관련성 높고 큰 가치를 제공하는 마케팅 메시지를 보내야 합니다.
제목과 이미지를 포함한 옵트 인 요청에는 주문 업데이트, 제품 추천 또는 특정 혜택 등 사용자가 받을 것으로 예상되는 마케팅 메시지 유형이 포함됩니다.
한 사용자에게 옵트 인 요청을 두 번 이상 보낼 경우 각 옵트 인 요청에 사용자가 받을 수 있는 마케팅 메시지의 다양한 구체적인 유형을 명시해야 합니다.
마케팅 메시지는 관련성이 높아야 하며 사용자가 가치 있다고 판단할 가능성이 높은 이용 사례에 맞게 만들어야 합니다.
사용자는 메시지를 차단하는 것을 포함하여 메시지 경험에 대한 피드백을 제공할 수 있습니다. 이러한 피드백에 따라 마케팅 메시지 사용이 제한될 수도 있습니다. 정기적으로 옵트 인 요청과 마케팅 메시지를 검토하여 위의 모범 사례를 따르는지 확인해야 합니다.
24시간 subscription_token 메시지 전송 쿨다운이 있습니다. 즉, 동일한 subscription_token을 사용하여 전송된 마케팅 메시지는 24시간 간격을 두고 전송해야 합니다.
2025년 9월 1일부터 subscription_token 메시지 전송 쿨다운이 구독자 1명당 24시간에 1회 전송에서 48시간에 1회 전송으로 변경됩니다.
2023년 2월 2일 전에 생성된 알림 메시지 토큰에 적용됩니다.
사용자는 Facebook 페이지나 Instagram 프로페셔널 계정에서 마케팅 메시지를 받기 위한 권한인 옵트 인을 제공해야 합니다. Messenger 플랫폼은 개발자가 옵트 인을 받을 수 있는 여러 가지 방법을 제공합니다. 다음 메시지 경험에 옵트 인 요청을 빌드할 수 있습니다.
– 사용자가 광고를 클릭할 때
– 사용자가 양식에서 확인란을 클릭하고 양식을 제출할 때
m.me 링크
– 사용자가 웹사이트, 이메일, 소셜 미디어 게시물 등에서 m.me 링크를 클릭할 때
– 사용자가 비즈니스의 Facebook 페이지에 방문자 게시물이나 댓글을 게시할 때
– 사용자가 디지털 및 인쇄 표면에서 QR 코드를 스캔할 때(m.me 링크에서 지원)
– 사용자가 사전 정의된 일련의 CTA 버튼 또는 텍스트를 사용하여 대화를 시작할 때
마케팅 메시지 옵트 인 요청을 보내려면 /PAGE-ID/messages 엔드포인트로 POST 요청을 보내세요. 이때 메시지 템플릿 유형은 notification_messages로 설정합니다. 페이지 ID는 Facebook 페이지 또는 Instagram 프로페셔널 계정에 링크된 Facebook 페이지의 ID입니다.
참고:title 매개변수는 Facebook 페이지
또는 Instagram 프로페셔널 계정
의 슬라이드가 포함된 마케팅 메시지에 필수입니다.
curl -X POST -H "Content-Type: application/json" -d '{
"recipient":{
"id":"PSID-OR-IGSID"
},
"message":{
"attachment":{
"type":"template",
"payload":{
"template_type":"notification_messages",
"notification_messages_timezone": "UTC",
"title":"TITLE",
"image_url":"IMAGE-URL",
"payload": "ADDITIONAL-WEBHOOK-INFORMATION",
}
}
}
}' "https://graph.facebook.com/LATEST-API-VERSION/PAGE-ID/messages?access_token=PAGE-ACCESS-TOKEN"요청이 성공하면 앱에서 받는 사람과 메시지의 ID가 포함된 다음 JSON 응답을 수신합니다.
{
"recipient": {
"id":"PSID-OR-IGSID",
"message_id":"MESSAGE-ID",
}마케팅 메시지 옵트 인 요청에 대해 /PAGE-ID/messages 엔드포인트로 보내는 POST 요청에 반드시 messageattachment JSON 개체를 포함해야 합니다.
| 속성 | 설명 |
|---|---|
template } | 필수 사항. 값은 |
| 마케팅 메시지의 내용에는 이 마케팅 메시지 옵트 인 요청에 대한 템플릿 유형, 제목, 메시지 빈도, 메시지 옵션 등이 포함됩니다. |
elements배열 | 슬라이드에는 필수입니다. 옵트 인을 설명하는 요소 개체를 포함하는 배열입니다. 각 요소 개체에는 |
image_aspect_ratioenum { HORIZONTAL, SQUARE } | 이미지의 가로세로비입니다.
|
image_url문자열 | 템플릿에 표시할 이미지의 URL입니다. |
notification_messages_frequencyenum { DAILY, WEEKLY, MONTHLY } | 2023년 2월 2일 이후에 생성된 토큰에 대해서 사용 중단되었습니다. 기본값은 DAILY입니다. 이 마케팅 메시지 옵트 인 요청에 대한 메시지 빈도입니다.
|
notification_messages_cta_textenum { ALLOW, GET, GET_UPDATES, OPT_IN, SIGN_UP } | 행동 유도 버튼에 표시되는 텍스트
|
notification_messages_timezone문자열 | 메시지를 받는 사람의 시간대입니다. |
payload문자열 | 필수 사항. 이 마케팅 메시지 옵트 인 요청에 대한 홍보 메시지나 제품 릴리스 메시지 등의 마케팅 메시지 유형입니다. |
template_typeenum { notification_messages } | 필수 사항. 값은 |
title문자열 | 템플릿에 표시할 제목이며, 65자 이내여야 합니다. 값을 할당하지 않을 경우 기본값은 '업데이트 및 프로모션'으로 지정됩니다. |
사용자가 옵트 인하면 비즈니스는 알림 메시지 토큰과 메시지 제목, 옵트 인한 사용자의 시간대와 같은 정보가 포함된 messaging_optin Webhook 알림을 받게 됩니다. 알림 메시지 토큰을 사용하면 사용자에게 마케팅 메시지를 보낼 수 있습니다.
{
"sender": {
"id": "PSID",
},
"recipient": {
"id": "PAGE-ID",
},
"timestamp": "TIMESTAMP",
"optin": {
"type": "notification_messages",
"payload": "ADDITIONAL-WEBHOOK-INFORMATION",
"notification_messages_token": "NOTIFICATION-MESSAGES-TOKEN",
"notification_messages_timezone": "TIMEZONE-ID",
"token_expiry_timestamp": "TIMESTAMP",
"user_token_status": "TOKEN-STATUS"
"notification_messages_status": "MESSAGE-STATUS",
"title": "TITLE-FOR-THE-NOTIFICATION"
}
}다음 내용은 2023년 2월 2일 전에 생성된 매주 또는 매월 빈도의 알림 메시지 토큰에만 적용됩니다,
알림 메시지 토큰은 반복 빈도에 따라 생성됩니다. 예를 들어 사용자가 일일 및 주별 마케팅 메시지에 모두 옵트 인한 경우 두 개의 분리된 알림 메시지 토큰이 생성됩니다. 사용자가 일일, 주별 및 월별 마케팅 메시지에 옵트 인한 경우에는 세 개의 분리된 알림 메시지 토큰이 생성됩니다.
| 마케팅 메시지 빈도 | 설명 |
|---|---|
매주 | 일주일에 1개의 메시지만 보낼 수 있습니다. 일주일은 페이지가 설정한 시간대에서 월요일 오전 12시부터 일요일 오후 11시 59분까지로 정의합니다. |
매월 | 한 달에 1개의 메시지를 보낼 수 있습니다. 한 달은 페이지가 설정한 시간대에서 1일 오전 12시부터 그달의 마지막 날 오후 11시 59분까지로 정의합니다. |
토큰 만료 날짜는 마케팅 메시지 수신 옵트 인을 유지하기로 한 사용자에 대해 연장됩니다. 사용자는 언제든 옵트 아웃할 수 있습니다.
사용자가 마케팅 메시지 수신에 옵트 인하고 나면 최대 3개의 후속 메시지를 보낼 수 있습니다. 이들 메시지는 첫 번째 후속 메시지를 보내고 나서 2분 이내에 전송해야 합니다. 두 번째와 세 번째 후속 메시지는 250자 이내여야 합니다. 이러한 후속 메시지는 표준 24시간 메시지 전송 기간이 아닐 때 전송할 수 있습니다.
후속 메시지를 보내려면 /PAGE-ID/messages 엔드포인트로 POST 요청을 보냅니다. 이때 recipient 개체에는 알림 메시지 토큰을 포함하고 message 개체에는 후속 메시지의 텍스트를 포함합니다. 모든 3개의 후속 메시지에 대한 API 요청 구문은 동일합니다.
curl -X POST -H "Content-Type: application/json" -d
'{
"recipient":{
"notification_messages_token":"NOTIFICATION-MESSAGE-TOKEN"
},
"message":{
"text":FOLLOWUP-MESSAGE-TEXT-HERE,
}
}'
"https://graph.facebook.com/LATEST-API-VERSION/PAGE-ID/messages?access_token=TOKEN"모든 유효한 알림 메시지 토큰의 리스트를 가져오려면 /PAGE-ID/notification_message_tokens 엔드포인트로 GET 요청을 보냅니다.
curl -i -X GET "https://graph.facebook.com/API-VERSION-NUMBER/PAGE-ID/notification_message_tokens
?access_token=PAGE-ACCESS-TOKEN"기본적으로 최대 25개로 구성된 토큰의 리스트가 반환되고 업데이트된 시간을 기준으로 정렬됩니다. 더 많은 토큰을 읽어오려면 limit 매개변수를 추가하면 됩니다. 현재 반환 가능한 토큰의 한도는 100개입니다. 페이지 매김에 after 매개변수를 사용할 수 있지만 before 매개변수는 사용할 수 없습니다.
요청이 성공하면 앱에서 토큰, 받는 사람의 ID(Instagram 범위 ID 또는 페이지 범위 ID), 토큰이 생성된 시간, 알림의 제목, 다음 마케팅 메시지를 해당 받는 사람에게 보낼 수 있는 시간을 포함한 다음 JSON 응답을 받게 됩니다.
{
"data":[
{
"notification_messages_token":"NOTIFICATION-MESSAGE-TOKEN-ID-1",
"recipient_id":"PAGE-OR-INSTAGRAM-SCOPED-ID-1",
"notification_messages_reoptin":"RE-OPT-IN-STATUS",
"creation_timestamp":TIMESTAMP,
"token_expiry_timestamp":UNIX-TIMESTAMP-EXPIRATION-DATE,
"user_token_status":"TOKEN-STATUS",
"topic_title":"NOTIFICATION-TITLE",
"notification_messages_timezone":"TIMEZONE-ID",
"next_eligible_time": TIMESTAMP
},
...
{
"notification_messages_token":"NOTIFICATION-MESSAGE-TOKEN-ID-25",
"recipient_id":"PAGE-OR-INSTAGRAM-SCOPED-ID-25",
"notification_messages_reoptin":"RE-OPT-IN-STATUS",
"creation_timestamp":TIMESTAMP,
"token_expiry_timestamp":UNIX-TIMESTAMP-EXPIRATION-DATE,
"user_token_status":"TOKEN-STATUS",
"topic_title":"NOTIFICATION-TITLE",
"notification_messages_timezone":"TIMEZONE-ID",
"next_eligible_time": TIMESTAMP
}
],
"paging":{"cursors":{"before":"QVFIU...","after":"QVFIU..."},"next":"https:\/\/graph.facebook.com\/LATEST-API-VERSION\/PAGE-ID\/notification_message_tokens?access_token=PAGE-ACCESS-TOKEN"}
}messaging_optin Webhook을 사용하여 마케팅 메시지 정보를 수집하는 것이 좋지만, 토큰을 notification_messages_, notification_messages_NOTIFICATION-MESSAGES-TOKEN에 붙여서 토큰 엔드포인트로 GET 요청을 보내 토큰 정보를 가져올 수도 있습니다.
curl -i -X GET "https://graph.facebook.com/LATEST-API-VERSION/notification_messages_NOTIFICATION-MESSAGES-TOKEN
?access_token=PAGE-ACCESS-TOKEN"요청이 성공하면 앱에서 알림 메시지 토큰, 메시지를 받는 사람의 ID, 기타 토큰 정보를 포함하는 다음 JSON 응답을 받게 됩니다. 알림 메시지 토큰과 받는 사람의 ID를 사용하여 마케팅 메시지를 보내게 됩니다.
{
"notification_messages_token": "NOTIFICATION-MESSAGES-TOKEN",
"recipient_id": "PAGE-OR-INSTAGRAM-SCOPED-ID",
"creation_timestamp": "TIMESTAMP",
"token_expiry_timestamp": "TIMESTAMP",
"user_token_status": "REFRESHED",
"notification_messages_reoptin": "ENABLED",
"notification_messages_timezone": "TIMEZONE-ID"
"next_eligible_time": TIMESTAMP
}이들 API 호출은 앱의 사용 제한에 반영됩니다.
다음과 같은 항목이 필요합니다.
MESSAGING 작업을 수행할 수 있는 사용자가 요청한 페이지 액세스 토큰pages_messaging 권한, Facebook 로그인 사용messaging_referrals Webhook 구독마케팅 메시지를 보내려면 메시지 첨부 파일에 받는 사람의 NOTIFICATION-MESSAGES-TOKEN 값과 메시지 정보를 포함하여 /PAGE-ID/messages 엔드포인트로 POST 요청을 보냅니다.
curl -X POST -H "Content-Type: application/json" -d '{
"recipient":{
"notification_messages_token": "NOTIFICATION-MESSAGES-TOKEN"
},
"message":{
"attachment":{
"type":"template",
"payload":{
"template_type":"generic",
"elements":[
{
"title":"Welcome!",
"image_url":"https://raw.githubusercontent.com/fbsamples/original-coast-clothing/main/public/styles/male-work.jpg",
"subtitle":"We have the right hat for everyone.",
"default_action": {
"type": "web_url",
"url": "https://www.originalcoastclothing.com/",
"webview_height_ratio": "tall"
},
"buttons":[
{
"type":"web_url",
"url":"https://www.originalcoastclothing.com/",
"title":"View Website"
},{
"type":"postback",
"title":"Start Chatting",
"payload":"ADDITIONAL-WEBHOOK-INFORMATION"
}
]
}
]
}
}
}
}' "https://graph.facebook.com/LATEST-API-VERSION/PAGE-ID/messages?access_token=PAGE-ACCESS-TOKEN"성공할 경우 앱은 다음과 같은 응답을 받습니다.
{
"recipient": "PAGE-OR-INSTAGRAM-SCOPED-ID",
"message_id": "MESSAGE-ID"
}마케팅 메시지는 언제든 테스트할 수 있습니다.
다음과 같은 항목이 필요합니다.
언제든지 다음 단계에 따라 마케팅 메시지를 테스트할 수 있습니다.
developer_action 매개변수를 ENABLE_FOLLOWUP_MESSAGE로 설정하여 다른 마케팅 메시지를 보냅니다.curl -X POST "https://graph.facebook.com/LATEST-API-VERSION/PAGE-ID/notification_messages_dev_support
?recipient={
"notification_messages_token": "NOTIFICATION-MESSAGES-TOKEN"
}
&developer_action=ENABLE_FOLLOWUP_MESSAGE
&access_token=PAGE-ACCESS-TOKEN"요청이 성공하면 앱에서 success가 true로 설정된 다음 JSON 응답을 받게 됩니다.
{ "success": true }재 옵트 인을 테스트하려면 4단계에서 developer_action 매개변수를 SEND_RE_OPTIN으로 설정하고 단계를 반복합니다.
를 참조하세요.
를 참조하세요.