--- title: "메시지 발송" slug: "sens-alimtalk-send" tags: ["SENS", "Vpc"] updated: 2026-09-17T09:10:00Z published: 2026-09-17T09:10:00Z canonical: "api-fin.ncloud-docs.com/sens-alimtalk-send" --- > ## Documentation Index > Fetch the complete documentation index at: https://api-fin.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # 메시지 발송 모든 사용자를 대상으로 하는 정보 전달성 알림톡 메시지를 발송합니다. ## 요청 요청 형식을 설명합니다. 요청 형식은 다음과 같습니다. | 메서드 | URI | | --- | --- | | POST | /alimtalk/v2/services/{serviceId}/messages | ### 요청 헤더 Simple & Easy Notification Service API에서 공통으로 사용하는 헤더에 대한 정보는 [Simple & Easy Notification Service 요청 헤더](/docs/sens-overview#%EC%9A%94%EC%B2%AD%ED%97%A4%EB%8D%94)를 참조해 주십시오. ### 요청 경로 파라미터 요청 경로 파라미터에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `serviceId` | String | Required | Biz Message 서비스 아이디 - [프로젝트 목록 조회](/docs/sens-project-list) 참조 | ### 요청 바디 요청 바디에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `plusFriendId` | String | Required | 채널 아이디 - [채널 조회](/docs/sens-alimtalk-kakao-channel-get) 참조 | | `templateCode` | String | Required | 템플릿 코드 - [템플릿 조회](/docs/sens-alimtalk-template-get) 참조 | | `messages` | Array | Required | 메시지 정보: [messages](/docs/sens-alimtalk-send#messages) - 최대 100건 입력 가능 | | `reserveTime` | String | Optional | 예약 일시 - YYYY-MM-DD HH:mm 형식 - 예약 발송할 경우, 입력 | | `reserveTimeZone` | String | Optional | 예약 타임존 - `Asia/Seoul` (기본값) - [타임존 목록](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) 참조 | 참고 - 템플릿에 이미지가 등록된 경우, 알림톡 메시지에 이미지가 자동으로 추가됩니다. - `reserveTime` 현재 시각으로부터 10분 이내의 시간으로는 예약 메시지를 등록할 수 없습니다. #### `messages` `messages`에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `countryCode` | String | Optional | 국가 코드 - `82` (기본값) - [국제 SMS 발송 국가 목록](https://guide-fin.ncloud-docs.com/docs/sens-smspolicy) 참조 | | `to` | String | Required | 수신 번호 - 숫자만 입력 가능 | | `title` | String | Optional | 강조 정보 제목 - 강조 표기형 템플릿에서만 사용 가능 | | `content` | String | Required | 메시지 내용 | | `headerContent` | String | Optional | 알림톡 헤더(Bytes) - 0~16 - 아이템 리스트형 템플릿에서만 사용 가능 | | `itemHighlight` | Object | Optional | 아이템 하이라이트 정보 - 아이템 리스트형 템플릿에서만 사용 가능 | | `itemHighlight.title` | String | Conditional | 아이템 하이라이트 제목 - 이미지 없는 경우: 1줄당 15자, 총 30자까지 입력 가능 - 이미지 있는 경우: 1줄당 10자, 총 21자까지 입력 가능 - 제한 초과 시 말줄임 처리 | | `itemHighlight.description` | String | Conditional | 아이템 하이라이트 내용 | | `item` | Object | Optional | 아이템 리스트 정보 - 아이템 리스트형 템플릿에서만 사용 가능 | | `item.list` | Array | Conditional | 아이템 리스트: [list](/docs/sens-alimtalk-send#list) - 2~10개 입력 가능 | | `item.summary` | Object | Optional | 아이템 요약 정보 - 아이템 리스트형 템플릿에서만 사용 가능 | | `item.summary.title` | String | Conditional | 아이템 요약 제목 - 1~6자 - 아이템 리스트형 템플릿에서만 사용 가능 | | `item.summary.description` | String | Conditional | 아이템 요약 내용 - 1~23자 - 허용 문자: 통화 기호(유니코드, 원, 元, 円), 통화 코드(ISO 4217), 숫자, 쉼표, 공백, 소수점(2자리) | | `buttons` | Array | Optional | 메시지 버튼 정보: [buttons](/docs/sens-alimtalk-send#buttons) | | `useSmsFailover` | Boolean | Optional | SMS 대체 발송 사용 여부 - `true` \| `false` - `true`: 사용 - `false`: 사용 안 함 - 기본값: 카카오톡 채널의 설정을 따름 - 대체 발송이 설정된 카카오톡 채널에서만 사용 가능 | | `failoverConfig` | Object | Optional | 대체 발송 설정 | | `failoverConfig.type` | String | Optional | 메시지 타입 - `SMS` \| `LMS` - `SMS`: SMS 메시지 - `LMS`: LMS 메시지 - 미입력 시 메시지 내용 길이에 따라 자동 적용 - 90 bytes 이하: SMS - 90 bytes 초과: LMS | | `failoverConfig.from` | String | Optional | 발신 번호 - 콘솔을 통해 등록된 번호만 사용 가능 - [발신 번호 등록](https://guide-fin.ncloud-docs.com/docs/sens-callingno#%EB%B0%9C%EC%8B%A0-%EB%B2%88%ED%98%B8-%EB%93%B1%EB%A1%9D) 참조 | | `failoverConfig.subject` | String | Optional | 메시지 제목 - 미입력 시 채널 이름으로 적용 - LMS에서만 사용 가능 | | `failoverConfig.content` | String | Optional | 메시지 내용 - 미입력 시 알림톡 메시지 내용으로 적용(버튼 제외) | 참고 - `content`, `buttons`는 등록 및 검수된 템플릿에 맞추어 입력해 주십시오. 템플릿 규격에 맞지 않으면 발송이 실패할 수 있습니다. - SMS 대체 발송 기능은 [Biz Message 수신 결과 코드](/docs/sens-alimtalk-get#%EC%88%98%EC%8B%A0%EA%B2%B0%EA%B3%BC%EC%BD%94%EB%93%9C)를 기준으로 성공하지 않은 경우에 동작하며, 'B' 접두어가 붙은 코드일 경우에는 동작하지 않습니다. - 템플릿에 이미지가 등록된 경우 별도로 메시지 발송 시, 요청 바디에 해당 내용을 넣지 않아도 등록된 이미지가 발송됩니다. - 템플릿 등록 및 검수에 대한 자세한 내용은 [AlimTalk Template](https://guide-fin.ncloud-docs.com/docs/sens-attemplate) 사용 가이드를 참조해 주십시오. #### `list` `list`에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `title` | String | Required | 아이템 이름 - 1~6자 | | `description` | String | Required | 아이템 내용 - 1~23자 | #### `buttons` `buttons`에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `type` | String | Required | 버튼 유형 - `DS` \| `WL` \| `AL` \| `BK` \| `MD` - `DS`: 배송 조회 - `WL`: 웹 링크 - `AL`: 앱 링크 - `BK`: 봇 키워드 - `MD`: 메시지 전달 - 배송 관련 메시지를 발송하는 경우, `WL`로 배송 조회 가능한 택배사는 [지원 택배사 목록](/docs/sens-alimtalk-send#%EC%A7%80%EC%9B%90%ED%83%9D%EB%B0%B0%EC%82%AC%EB%AA%A9%EB%A1%9D) 참고 | | `name` | String | Required | 버튼 이름 - 최대 20자 | | `linkMobile` | String | Conditional | 모바일 웹 링크 - `type`이 `WL`인 경우, 필수 입력 | | `linkPc` | String | Conditional | PC 웹 링크 - `type`이 `WL`인 경우, 필수 입력 | | `schemeIos` | String | Conditional | iOS 앱 링크 - `type`이 `AL`인 경우, 필수 입력 | | `schemeAndroid` | String | Conditional | Android 앱 링크 - `type`이 `AL`인 경우, 필수 입력 | 참고 모든 필드는 등록 및 검수된 템플릿에 맞추어 입력해 주십시오. 템플릿 규격에 맞지 않으면 발송이 실패할 수 있습니다. ### 요청 예시 요청 예시는 다음과 같습니다. ``` curl --location --request POST 'https://sens.apigw.fin-ntruss.com/alimtalk/v2/services/ncp:kkobizmsg:kr:27*********6:sens/messages' \ --header 'x-ncp-apigw-timestamp: {Timestamp}' \ --header 'x-ncp-iam-access-key: {Access Key}' \ --header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \ --header 'Content-Type: application/json' \ --data '{ "plusFriendId": "@******", "templateCode": "temp001", "messages": [ { "countryCode": "82", "to": "010********", "content": "홍길동 님,\n요청하신 [PO394857] 번역 문서가 오늘 18:00에 메일로 전달될 예정입니다.\n\n메일 전송 후 알림을 보내드리겠습니다.\n감사합니다.", "useSmsFailover": true, "failoverConfig": { "type": "SMS", "from": "010********", "content": "홍길동 님,\n요청하신 [PO394857] 번역 문서가 오늘 18:00에 메일로 전달될 예정입니다.\n\n메일 전송 후 알림을 보내드리겠습니다.\n감사합니다." } } ] }' ``` ## 응답 응답 형식을 설명합니다. ### 응답 바디 응답 바디에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `requestId` | String | - | 요청 아이디 - 요청에 `requestId` 포함 시 표시 | | `statusCode` | String | - | 상태 코드 - HTTP 상태 코드 규칙을 따름 - `202`: 성공 - 그 외: 실패 | | `statusName` | String | - | 상태 - `success` \| `processing` \| `reserved` \| `fail` - `success`: 성공 - `processing`: 처리중 - `reserved`: 예약 - `fail`: 실패 | | `messages` | Array | - | 메시지 발송 요청 목록: [messages](/docs/sens-alimtalk-send#messages) | | `pageSize` | Integer | - | 페이지당 항목 수 | | `pageIndex` | Integer | - | 페이지 인덱스 | | `nextToken` | String | - | 페이지 위치 토큰 - 다음 페이지가 없을 경우, 표시되지 않음 | | `itemCount` | Integer | - | 응답 결과 수 | | `hasMore` | Boolean | - | 다음 페이지 존재 여부 - `true`: 존재 - `false`: 존재 안 함 | #### `messages` `messages`에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `requestTime` | String | - | 요청 일시 - YYYY-MM-DDTHH:mm:ss.sss 형식 | | `requestId` | String | - | 요청 아이디 | | `messageId` | String | - | 메시지 아이디 | | `countryCode` | String | - | 국가 코드 | | `to` | String | - | 수신 번호 | | `content` | String | - | 메시지 내용 | | `plusFriendId` | String | - | 채널 아이디 | | `templateCode` | String | - | 템플릿 코드 | | `completeTime` | String | - | 완료 일시 - YYYY-MM-DDTHH:mm:ss 형식 | | `requestStatusCode` | String | - | 요청 상태 코드 - `A000`: 성공 - 그 외: 실패 | | `requestStatusName` | String | - | 요청 상태 - `success` \| `fail` - `success`: 성공 - `fail`: 실패 | | `requestStatusDesc` | String | - | 요청 상태 설명 | | `messageStatusCode` | String | - | [수신 상태 코드](/docs/sens-alimtalk-get#%EC%88%98%EC%8B%A0%EA%B2%B0%EA%B3%BC%EC%BD%94%EB%93%9C) - `0000`: 성공 - 그 외: 실패 | | `messageStatusName` | String | - | 수신 상태 - `success` \| `processing` \| `fail` - `success`: 성공 - `processing`: 처리중. `messageStatusCode`와 `messageStatusDesc`가 표시되지 않음 - `fail`: 실패 | | `messageStatusDesc` | String | - | 수신 상태 설명 | | `useSmsFailover` | Boolean | - | SMS 대체 발송 사용 여부 - `true` \| `false` - `true`: 사용 - `false`: 사용 안 함 | | `failover` | Object | - | SMS 대체 발송 정보 - 대체 발송이 실행된 경우, 표시 | | `failover.smsServiceId` | String | - | 대체 발송에 사용된 SMS 서비스 아이디 | | `failover.requestId` | String | - | 대체 발송 요청 아이디 | | `failover.messageId` | String | - | 대체 발송 메시지 아이디 | | `failover.requestStatusCode` | String | - | [SMS 대체 발송 요청 상태 코드](/docs/sens-alimtalk-get#SMS%EB%8C%80%EC%B2%B4%EB%B0%9C%EC%86%A1%EC%9A%94%EC%B2%AD%EC%83%81%ED%83%9C%EC%BD%94%EB%93%9C) | | `failover.requestStatusName` | String | - | 대체 발송 요청 상태 - `success` \| `fail` - `success`: 성공 - `fail`: 실패 | | `failover.requestStatusDesc` | String | - | 대체 발송 요청 상태 설명 | | `failover.messageStatus` | String | - | 대체 발송 메시지 상태 - `READY` \| `PROCESSING` \| `COMPLETED` - `READY`: 대기중 - `PROCESSING`: 처리중 - `COMPLETED`: 완료 | | `failover.messageStatusCode` | String | - | 대체 발송 메시지 수신 상태 코드 - [SMS 수신 결과 코드](/docs/sens-sms-get#%EC%88%98%EC%8B%A0%EA%B2%B0%EA%B3%BC%EC%BD%94%EB%93%9C) 참조 | | `failover.messageStatusName` | String | - | 대체 발송 메시지 수신 상태 | | `failover.messageStatusDesc` | String | - | 대체 발송 메시지 수신 상태 설명 | ### 응답 상태 코드 Simple & Easy Notification Service API에서 공통으로 사용하는 응답 상태 코드에 대한 정보는 [Simple & Easy Notification Service 응답 상태 코드](/docs/sens-overview#%EC%9D%91%EB%8B%B5%EC%83%81%ED%83%9C%EC%BD%94%EB%93%9C)를 참조해 주십시오. ### 응답 예시 응답 예시는 다음과 같습니다. ``` { "requestId": "RBAA-*************-****-********-zgrtzVEW", "requestTime": "2025-11-25T15:39:20.899", "statusCode": "202", "statusName": "processing", "messages": [ { "messageId": "aa724ca6-****-****-****-66dfc1a700e7", "countryCode": "82", "to": "010********", "content": "홍길동 님,\n요청하신 [PO394857] 번역 문서가 오늘 18:00에 메일로 전달될 예정입니다.\n\n메일 전송 후 알림을 보내드리겠습니다.\n감사합니다.", "requestStatusCode": "A000", "requestStatusName": "success", "requestStatusDesc": "성공", "useSmsFailover": true } ] } ``` ## 지원 택배사 목록 웹 링크(`WL`) 버튼을 통해 배송 조회 페이지에 연결할 수 있는 택배사 목록은 다음과 같습니다. 참고 미지원 택배사의 경우, 버튼이 자동으로 추가되지 않습니다. | 택배사 | 택배 이름 | 송장 번호 | | --- | --- | --- | | 우체국택배 | 우체국 | 숫자 13자리 또는 숫자 [6+7]자리 - 구분자: '-' 또는 '_' | | 로젠택배 | 로젠, 로잰 | 숫자 11자리 또는 숫자 [3+4+4]자리 - 구분자: '-' 또는 '_' | | 일양로지스 | - 일양로지스택배 - 일양택배 - 일양로지스 | 숫자 9~11자리 | | FedEX | - 페덱스 - FedEx - fedex | 숫자 12자리 | | 한진택배 | 한진택배 | 숫자 10자리 또는 숫자 12자리 | | 경동택배 | 경동택배 | 숫자 9~16자리 또는 숫자 [4+3+6]자리 - 구분자: '-' | | 합동택배 | 합동택배 | 숫자 9~16자리 | | 롯데택배 | - 롯데택배 - 롯데로지스틱스 - 현대택배 - 현대로지스틱스 | 숫자 12자리 또는 숫자 [4+4+4]자리 - 구분자: '-' | | 농협택배 | 농협택배 | 숫자 12자리 | | 호남택배 | 호남택배 | 숫자 10자리 | | 천일택배 | 천일택배 | 숫자 11자리 | | 대신택배 | 대신택배 | 숫자 13자리 | | 건영택배 | 건영택배 | 숫자 10자리 | | CU편의점택배 | - CU편의점택배 - CU 편의점택배 | 숫자 10자리 또는 숫자 12자리 또는 숫자 [4+4+4]자리 - 구분자: '-' 또는 '_' | | CVSnet편의점택배 | - GSPostbox택배 - GS편의점택배 - CVSnet편의점택배 | 숫자 10자리 또는 숫자 12자리 또는 숫자 [4+4+4]자리 - 구분자: '-' 또는 '_' | | 한덱스 | 한덱스 | 숫자 10자리 또는 숫자 14자리 | | TNT Express | - TNTExpress - TNT택배 - TNT Express | 숫자 8~9자리 | | USPS | USPS | 숫자 10자리 또는 숫자 22자리 또는 [영문 대문자 2자리 + 숫자 9자리 + 영문 대문자 2자리] - 구분자 없음 | | EMS | EMS | 영문 대문자 2자리 + 숫자 9자리 + 영문 대문자 2자리 - 구분자 없음 | | DHL | DHL | 숫자 10자리 | | 굿투럭 | 굿투럭 | 숫자 [4+4+4]자리 - 구분자: '-' |