UNPKG

@solapi/mcp-server

Version:

MCP server for SOLAPI document search and integration

1,705 lines (1,630 loc) 83.4 kB
/** * SOLAPI Node.js SDK 예제 코드 라이브러리 * @description Node.js/JavaScript용 실제 사용 가능한 코드 스니펫들을 내장하여 빠른 검색 제공 */ export class NodejsExamplesLibrary { /** * 모든 예제 코드 반환 * @returns 예제 코드 배열 */ static getExamples() { return [ { id: "get-blacks", title: "080 수신 거부 목록 조회", description: "080 수신 거부 목록을 조회하는 예제입니다.", category: "IAM", keywords: [ "080", "수신거부", "차단", "블랙리스트", "조회", "nodejs", "javascript", ], code: `const {SolapiMessageService} = require('solapi'); const messageService = new SolapiMessageService( 'ENTER_YOUR_API_KEY', 'ENTER_YOUR_API_SECRET', ); messageService .getBlacks({ // 차단 당한 발신번호를 검색하는 경우 // senderNumber: '029302266', // 날짜로 검색하는 경우 // startDate: '2022-12-01 00:00:00', // Date 객체로도 요청 가능 // endDate: '2022-12-31 23:59:59' // Date 객체로도 요청 가능 }) .then(res => { // 목록 console.log('#page1', res.blackList); // 응답에 nextKey가 있을 경우 다음 페이지도 조회 가능 messageService .getBlacks({ startKey: res.nextKey, }) .then(res => { console.log('#page2', res.blackList); }); });`, usage: "080 수신 거부 목록을 조회해야 하는 경우", url: "https://github.com/solapi/solapi-nodejs/tree/master/examples/javascript/iam", }, { id: "get-block-groups", title: "080 수신 거부 그룹 조회", description: "080 수신 거부 그룹 목록을 조회하는 예제입니다.", category: "IAM", keywords: [ "080", "수신거부", "그룹", "차단그룹", "조회", "nodejs", "javascript", ], code: `const {SolapiMessageService} = require('solapi'); const messageService = new SolapiMessageService( 'ENTER_YOUR_API_KEY', 'ENTER_YOUR_API_SECRET', ); messageService .getBlockGroups({ // 해당 그룹이 켜져있는지 아닌지 확인하고 싶을 경우 // status: 'ACTIVE' // 'ACTIVE' 혹은 'INACTIVE', // 해당 그룹의 대한 이름을 검색해보고 싶을 경우 // name: '070번호그룹' (부분 검색 가능) }) .then(res => { // 목록 console.log('#page1', res.blockGroups); // 응답에 nextKey가 있을 경우 다음 페이지도 조회 가능 messageService .getBlockGroups({ startKey: res.nextKey, }) .then(res => { console.log('#page2', res.blockGroups); }); });`, usage: "080 수신 거부 그룹 목록을 조회해야 하는 경우", url: "https://github.com/solapi/solapi-nodejs/tree/master/examples/javascript/iam", }, { id: "get-block-numbers", title: "080 수신 거부 번호 조회", description: "080 수신 거부 번호 목록을 조회하는 예제입니다.", category: "IAM", keywords: [ "080", "수신거부", "번호", "차단번호", "조회", "nodejs", "javascript", ], code: `const {SolapiMessageService} = require('solapi'); const messageService = new SolapiMessageService( 'ENTER_YOUR_API_KEY', 'ENTER_YOUR_API_SECRET', ); messageService .getBlockNumbers({ // 수신 차단한 수신번호를 검색해보고 싶을 경우 // phoneNumber: '01000000000', // 차단할 때 남긴 메모를 검색해보고 싶을 경우 // memo: '이벤트 발송' (부분 검색 가능) }) .then(res => { // 목록 console.log('#page1', res.blockNumbers); // 응답에 nextKey가 있을 경우 다음 페이지도 조회 가능 messageService .getBlockNumbers({ startKey: res.nextKey, }) .then(res => { console.log('#page2', res.blockNumbers); }); });`, usage: "080 수신 거부 번호 목록을 조회해야 하는 경우", url: "https://github.com/solapi/solapi-nodejs/tree/master/examples/javascript/iam", }, { id: "get-balance", title: "잔액 조회", description: "계정의 현재 잔액과 포인트를 조회하는 예제입니다.", category: "계정관리", keywords: [ "잔액", "balance", "포인트", "조회", "계정", "nodejs", "javascript", ], code: `const {SolapiMessageService} = require('solapi'); const messageService = new SolapiMessageService( 'ENTER_YOUR_API_KEY', 'ENTER_YOUR_API_SECRET', ); messageService.getBalance().then(res => { // 잔액 조회 console.log(res.balance); // 포인트 조회 console.log(res.point); });`, usage: "발송 전 잔액을 확인하거나 정기적인 잔액 체크가 필요한 경우", url: "https://github.com/solapi/solapi-nodejs/tree/master/examples/javascript/inquiry", }, { id: "get-messages", title: "메시지 조회", description: "발송한 메시지들의 상태와 정보를 조회하는 예제입니다.", category: "상태조회", keywords: [ "메시지", "조회", "상태", "발송결과", "페이징", "nodejs", "javascript", ], code: `const {SolapiMessageService} = require('solapi'); const messageService = new SolapiMessageService( 'ENTER_YOUR_API_KEY', 'ENTER_YOUR_API_SECRET', ); messageService .getMessages({ // 불러올 메시지 갯수 제한 // limit: 5, // 5를 입력하면 5건이 조회됩니다, 미 입력시 20개로 지정 // 메시지 ID로 검색 // messageId: '메시지 ID 입력', // 메시지 ID는 대개 M4V로 시작합니다 // 여러 메시지 ID로 검색 /*messageIds: [ '메시지 ID 입력', // 메시지 ID는 대개 M4V로 시작합니다 ],*/ // 그룹 ID로 검색 // groupId: '그룹 ID 입력', // 그룹 ID는 대개 G4V로 시작합니다 // 발신번호로 검색 // from: '01012345678', // 수신번호로 검색 // to: '01012345678', /** * 메시지 타입으로 검색 * SMS: 단문 문자, LMS: 장문 문자, MMS: 사진 문자, ATA: 알림톡, CTA: 친구톡, CTI: 이미지(1장) 친구톡 */ // type: "SMS", // 날짜로 검색하는 경우 // startDate: '2022-12-01 00:00:00', // Date 객체로도 요청 가능 // endDate: '2022-12-31 23:59:59', // Date 객체로도 요청 가능 }) .then(res => console.log(res)); /** * 페이징 예제 * */ messageService.getMessages().then(res => { messageService .getMessages({ // startKey 부분에 nextKey를 입력할 경우 초기 20건 다음의 데이터를 표시하게 됩니다. startKey: res.nextKey, }) .then(res2 => { console.log(res2); }); });`, usage: "발송한 메시지의 상태를 확인하거나 메시지 이력을 조회해야 하는 경우", url: "https://github.com/solapi/solapi-nodejs/tree/master/examples/javascript/inquiry", }, { id: "get-statistics", title: "통계 조회", description: "메시지 발송 통계를 조회하는 예제입니다.", category: "통계", keywords: [ "통계", "statistics", "성공률", "발송량", "분석", "nodejs", "javascript", ], code: `const {SolapiMessageService} = require('solapi'); const messageService = new SolapiMessageService( 'ENTER_YOUR_API_KEY', 'ENTER_YOUR_API_SECRET', ); messageService .getStatistics({ // 날짜로 검색하는 경우 // startDate: '2022-12-01 00:00:00', // Date 객체로도 요청 가능 // endDate: '2022-12-31 23:59:59' // Date 객체로도 요청 가능 }) .then(res => console.log(res));`, usage: "메시지 발송 성과를 분석하거나 통계 데이터가 필요한 경우", url: "https://github.com/solapi/solapi-nodejs/tree/master/examples/javascript/inquiry", }, { id: "send-alimtalk", title: "카카오 알림톡 발송", description: "카카오 알림톡을 발송하는 예제입니다. 단일/대량/예약 발송을 모두 지원합니다.", category: "알림톡", keywords: [ "알림톡", "카카오톡", "템플릿", "변수", "pfId", "nodejs", "javascript", ], code: `const {SolapiMessageService} = require('solapi'); const messageService = new SolapiMessageService( 'ENTER_YOUR_API_KEY', 'ENTER_YOUR_API_SECRET', ); // 단일 발송 예제 messageService .sendOne({ to: '수신번호', from: '계정에서 등록한 발신번호 입력', kakaoOptions: { pfId: '연동한 비즈니스 채널의 pfId', templateId: '등록한 알림톡 템플릿의 ID', variables: {}, // 치환문구가 있는 경우 추가, 반드시 key, value 모두 string으로 기입해야 합니다. /* variables: { "#{변수명}": "임의의 값" } */ // disbaleSms 값을 true로 줄 경우 문자로의 대체발송이 비활성화 됩니다. // disableSms: true, }, }) .then(res => console.log(res)); // 단일 예약 발송 예제 messageService .sendOneFuture( { to: '수신번호', from: '계정에서 등록한 발신번호 입력', kakaoOptions: { pfId: '연동한 비즈니스 채널의 pfId', templateId: '등록한 알림톡 템플릿의 ID', variables: {}, }, }, '2022-12-08 00:00:00', ) .then(res => console.log(res)); // 여러 메시지 발송 예제, 한 번 호출 당 최대 10,000건 까지 발송 가능 messageService .send([ { to: '수신번호', from: '계정에서 등록한 발신번호 입력', kakaoOptions: { pfId: '연동한 비즈니스 채널의 pfId', templateId: '등록한 알림톡 템플릿의 ID', variables: {}, }, }, { to: '수신번호', from: '계정에서 등록한 발신번호 입력', kakaoOptions: { pfId: '연동한 비즈니스 채널의 pfId', templateId: '등록한 알림톡 템플릿의 ID', variables: {}, }, }, ]) .then(res => console.log(res));`, usage: "카카오 알림톡을 발송해야 하는 경우", url: "https://github.com/solapi/solapi-nodejs/tree/master/examples/javascript/kakao/send", }, { id: "send-friendtalk-plain", title: "카카오 친구톡 발송", description: "카카오 친구톡을 발송하는 예제입니다. 단일/대량/예약 발송을 모두 지원합니다.", category: "친구톡", keywords: [ "친구톡", "카카오톡", "pfId", "비즈니스채널", "nodejs", "javascript", ], code: `const {SolapiMessageService} = require('solapi'); const messageService = new SolapiMessageService( 'ENTER_YOUR_API_KEY', 'ENTER_YOUR_API_SECRET', ); // 단일 발송 예제 messageService .sendOne({ to: '수신번호', from: '계정에서 등록한 발신번호 입력', text: '2,000byte 이내의 메시지 입력', kakaoOptions: { pfId: '연동한 비즈니스 채널의 pfId', }, }) .then(res => console.log(res)); // 단일 예약 발송 예제 messageService .sendOneFuture( { to: '수신번호', from: '계정에서 등록한 발신번호 입력', text: '2,000byte 이내의 메시지 입력', kakaoOptions: { pfId: '연동한 비즈니스 채널의 pfId', }, }, '2022-12-08 00:00:00', ) .then(res => console.log(res)); // 여러 메시지 발송 예제, 한 번 호출 당 최대 10,000건 까지 발송 가능 messageService .send([ { to: '수신번호', from: '계정에서 등록한 발신번호 입력', text: '2,000byte 이내의 메시지 입력', kakaoOptions: { pfId: '연동한 비즈니스 채널의 pfId', }, }, { to: '수신번호', from: '계정에서 등록한 발신번호 입력', text: '2,000byte 이내의 메시지 입력', kakaoOptions: { pfId: '연동한 비즈니스 채널의 pfId', }, }, ]) .then(res => console.log(res));`, usage: "카카오 친구톡을 발송해야 하는 경우", url: "https://github.com/solapi/solapi-nodejs/tree/master/examples/javascript/kakao/send", }, { id: "send-friendtalk-with-buttons", title: "버튼이 포함된 카카오 친구톡 발송", description: "버튼이 포함된 카카오 친구톡을 발송하는 예제입니다. 최대 5개까지 버튼 추가 가능합니다.", category: "친구톡", keywords: [ "친구톡", "카카오톡", "버튼", "웹링크", "앱링크", "봇키워드", "상담요청", "nodejs", "javascript", ], code: `const {SolapiMessageService} = require('solapi'); const messageService = new SolapiMessageService( 'ENTER_YOUR_API_KEY', 'ENTER_YOUR_API_SECRET', ); // 단일 발송 예제 messageService .sendOne({ to: '수신번호', from: '계정에서 등록한 발신번호 입력', text: '2,000byte 이내의 메시지 입력', kakaoOptions: { pfId: '연동한 비즈니스 채널의 pfId', buttons: [ { buttonType: 'WL', // 웹링크 buttonName: '버튼 이름', linkMo: 'https://m.example.com', linkPc: 'https://example.com', // 생략 가능 }, { buttonType: 'AL', // 앱링크 buttonName: '실행 버튼', linkAnd: 'examplescheme://', linkIos: 'examplescheme://', }, { buttonType: 'BK', // 봇키워드(챗봇에게 키워드를 전달합니다. 버튼이름의 키워드가 그대로 전달됩니다.) buttonName: '봇키워드', }, { buttonType: 'MD', // 상담요청하기 (상담요청하기 버튼을 누르면 메시지 내용이 상담원에게 그대로 전달됩니다.) buttonName: '상담요청하기', }, { buttonType: 'BT', // 챗봇 운영시 챗봇 문의로 전환할 수 있습니다. buttonName: '챗봇 문의', }, ], }, }) .then(res => console.log(res)); // 단일 예약 발송 예제 messageService .sendOneFuture( { to: '수신번호', from: '계정에서 등록한 발신번호 입력', text: '2,000byte 이내의 메시지 입력', kakaoOptions: { pfId: '연동한 비즈니스 채널의 pfId', buttons: [ { buttonType: 'WL', // 웹링크 buttonName: '버튼 이름', linkMo: 'https://m.example.com', linkPc: 'https://example.com', }, { buttonType: 'AL', // 앱링크 buttonName: '실행 버튼', linkAnd: 'examplescheme://', linkIos: 'examplescheme://', }, ], }, }, '2022-12-08 00:00:00', ) .then(res => console.log(res));`, usage: "버튼이 포함된 카카오 친구톡을 발송해야 하는 경우", url: "https://github.com/solapi/solapi-nodejs/tree/master/examples/javascript/kakao/send", }, { id: "send-alimtalk-bulk", title: "카카오 알림톡 대량 발송", description: "카카오 알림톡을 대량으로 발송하는 예제입니다. 그룹을 생성하여 최대 100만 건까지 발송 가능합니다.", category: "알림톡", keywords: [ "알림톡", "카카오톡", "대량발송", "그룹", "템플릿", "nodejs", "javascript", ], code: `const {SolapiMessageService} = require('solapi'); const messageService = new SolapiMessageService( 'ENTER_YOUR_API_KEY', 'ENTER_YOUR_API_SECRET', ); messageService.createGroup().then(async groupId => { // 10,000건 씩 끊어서 반복하여 그룹에 메시지를 적재할 수 있음, 한 요청 당 10,000건이 가능하며 그룹 당 최대 100만 건 까지 가능 await messageService.addMessagesToGroup(groupId, [ { to: '수신번호', from: '계정에서 등록한 발신번호 입력', kakaoOptions: { pfId: '연동한 비즈니스 채널의 pfId', templateId: '등록한 알림톡 템플릿의 ID', variables: {}, // 치환문구가 있는 경우 추가, 반드시 key, value 모두 string으로 기입해야 합니다. /* variables: { "#{변수명}": "임의의 값" } */ // disbaleSms 값을 true로 줄 경우 문자로의 대체발송이 비활성화 됩니다. // disableSms: true, }, }, ]); // 실제 적재된 그룹에 대한 전체 발송 접수 요청 await messageService.sendGroup(groupId); });`, usage: "카카오 알림톡을 대량으로 발송해야 하는 경우", url: "https://github.com/solapi/solapi-nodejs/tree/master/examples/javascript/kakao/send", }, { id: "send-bms", title: "카카오 브랜드 메시지 발송", description: "카카오 브랜드 메시지(BMS)를 발송하는 예제입니다. targeting 타입을 설정할 수 있습니다.", category: "브랜드메시지", keywords: [ "브랜드메시지", "BMS", "카카오톡", "targeting", "템플릿", "nodejs", "javascript", ], code: `const {SolapiMessageService} = require('solapi'); const messageService = new SolapiMessageService( 'ENTER_YOUR_API_KEY', 'ENTER_YOUR_API_SECRET', ); // 단일 발송 예제 messageService .send({ to: '수신번호', kakaoOptions: { pfId: '연동한 비즈니스 채널의 pfId', templateId: '등록한 브랜드 메시지 템플릿의 ID', variables: {}, // 템플릿 내 치환문구(변수)가 있는 경우 추가, 반드시 key, value 모두 string으로 기입해야 합니다. /* variables: { "변수명": "임의의 값" } */ // 현재 BMS(브랜드 메시지)는 문자로의 대체발송이 비활성화 됩니다. bms: { targeting: 'I', }, }, }) .then(res => console.log(res));`, usage: "카카오 브랜드 메시지를 발송해야 하는 경우", url: "https://github.com/solapi/solapi-nodejs/tree/master/examples/javascript/kakao/send", }, { id: "send-friendtalk-with-image", title: "이미지가 포함된 카카오 친구톡 발송", description: "이미지가 포함된 카카오 친구톡을 발송하는 예제입니다. 사진 1장만 첨부 가능합니다.", category: "친구톡", keywords: [ "친구톡", "카카오톡", "이미지", "사진", "파일업로드", "nodejs", "javascript", ], code: `const path = require('path'); const {SolapiMessageService} = require('solapi'); const messageService = new SolapiMessageService( 'ENTER_YOUR_API_KEY', 'ENTER_YOUR_API_SECRET', ); messageService .uploadFile(path.join(__dirname, '../../images/example.jpg'), 'KAKAO') .then(res => res.fileId) .then(fileId => { // 단일 발송 예제 messageService .sendOne({ to: '수신번호', from: '계정에서 등록한 발신번호 입력', text: '2,000byte 이내의 메시지 입력', kakaoOptions: { pfId: '연동한 비즈니스 채널의 pfId', imageId: fileId, }, }) .then(res => console.log(res)); // 단일 예약 발송 예제 messageService .sendOneFuture( { to: '수신번호', from: '계정에서 등록한 발신번호 입력', text: '2,000byte 이내의 메시지 입력', kakaoOptions: { pfId: '연동한 비즈니스 채널의 pfId', imageId: fileId, }, }, '2022-02-26 00:00:00', ) .then(res => console.log(res)); // 여러 메시지 발송 예제, 한 번 호출 당 최대 10,000건 까지 발송 가능 messageService .send([ { to: '수신번호', from: '계정에서 등록한 발신번호 입력', text: '2,000byte 이내의 메시지 입력', kakaoOptions: { pfId: '연동한 비즈니스 채널의 pfId', imageId: fileId, }, }, { to: '수신번호', from: '계정에서 등록한 발신번호 입력', text: '2,000byte 이내의 메시지 입력', kakaoOptions: { pfId: '연동한 비즈니스 채널의 pfId', imageId: fileId, }, }, ]) .then(res => console.log(res)); });`, usage: "이미지가 포함된 카카오 친구톡을 발송해야 하는 경우", url: "https://github.com/solapi/solapi-nodejs/tree/master/examples/javascript/kakao/send", }, { id: "send-friendtalk-with-image-and-buttons", title: "이미지와 버튼이 포함된 카카오 친구톡 발송", description: "이미지와 버튼이 모두 포함된 카카오 친구톡을 발송하는 예제입니다. 최대 5개까지 버튼 추가 가능합니다.", category: "친구톡", keywords: [ "친구톡", "카카오톡", "이미지", "버튼", "웹링크", "앱링크", "파일업로드", "nodejs", "javascript", ], code: `const path = require('path'); const {SolapiMessageService} = require('solapi'); const messageService = new SolapiMessageService( 'ENTER_YOUR_API_KEY', 'ENTER_YOUR_API_SECRET', ); messageService .uploadFile(path.join(__dirname, '../../images/example.jpg'), 'KAKAO') .then(res => res.fileId) .then(fileId => { // 단일 발송 예제 messageService .sendOne({ to: '수신번호', from: '계정에서 등록한 발신번호 입력', text: '2,000byte 이내의 메시지 입력', kakaoOptions: { pfId: '연동한 비즈니스 채널의 pfId', imageId: fileId, buttons: [ { buttonType: 'WL', // 웹링크 buttonName: '버튼 이름', linkMo: 'https://m.example.com', linkPc: 'https://example.com', // 생략 가능 }, { buttonType: 'AL', // 앱링크 buttonName: '실행 버튼', linkAnd: 'examplescheme://', linkIos: 'examplescheme://', }, { buttonType: 'BK', // 봇키워드(챗봇에게 키워드를 전달합니다. 버튼이름의 키워드가 그대로 전달됩니다.) buttonName: '봇키워드', }, { buttonType: 'MD', // 상담요청하기 (상담요청하기 버튼을 누르면 메시지 내용이 상담원에게 그대로 전달됩니다.) buttonName: '상담요청하기', }, { buttonType: 'BT', // 챗봇 운영시 챗봇 문의로 전환할 수 있습니다. buttonName: '챗봇 문의', }, ], }, }) .then(res => console.log(res)); // 단일 예약 발송 예제 messageService .sendOneFuture( { to: '수신번호', from: '계정에서 등록한 발신번호 입력', text: '2,000byte 이내의 메시지 입력', kakaoOptions: { pfId: '연동한 비즈니스 채널의 pfId', imageId: fileId, buttons: [ { buttonType: 'WL', // 웹링크 buttonName: '버튼 이름', linkMo: 'https://m.example.com', linkPc: 'https://example.com', }, { buttonType: 'AL', // 앱링크 buttonName: '실행 버튼', linkAnd: 'examplescheme://', linkIos: 'examplescheme://', }, ], }, }, '2022-12-08 00:00:00', ) .then(res => console.log(res)); });`, usage: "이미지와 버튼이 모두 포함된 카카오 친구톡을 발송해야 하는 경우", url: "https://github.com/solapi/solapi-nodejs/tree/master/examples/javascript/kakao/send", }, { id: "create-alimtalk-template", title: "카카오 알림톡 템플릿 생성", description: "카카오 알림톡 템플릿을 생성하는 예제입니다. 버튼, 바로연결, 강조 유형 등을 설정할 수 있습니다.", category: "템플릿관리", keywords: [ "알림톡", "템플릿", "생성", "버튼", "바로연결", "강조", "nodejs", "javascript", ], code: `const {SolapiMessageService} = require('solapi'); const messageService = new SolapiMessageService( 'ENTER_YOUR_API_KEY', 'ENTER_YOUR_API_SECRET', ); // 사전에 템플릿 카테고리를 조회해야 합니다. messageService.getKakaoAlimtalkTemplateCategories().then(res => { const categoryCode = res[res.length - 1].code; messageService .createKakaoAlimtalkTemplate({ name: '등록할 템플릿 제목(등록된 템플릿과 중복불가)', content: '등록할 템플릿 내용', channelId: '등록할 템플릿의 채널 ID(pfId)', categoryCode, /** * 알림톡 버튼, 최대 5개까지 입력할 수 있으며, 바로연결이 추가되면 최대 두개까지만 추가될 수 있습니다. */ /*buttons: [ { buttonName: '버튼이름', buttonType: 'WL', linkMo: 'https://m.example.com', linkPc: 'https://example.com', }, ],*/ /** * 바로연결, 10개까지만 등록할 수 있으며, 바로연결이 추가되면 버튼은 최대 두개까지 추가될 수 있습니다. */ /*quickReplies: [ { name: '바로연결 버튼이름', linkType: 'WL', linkMo: 'https://m.example.com', linkPc: 'https://example.com', }, ],*/ /** * 카카오 알림톡 템플릿 메시지 유형 * BA:기본형, EX:부가정보형, AD:광고추가형, MI: 복합형 */ //messageType: 'BA', /** * 카카오 알림톡 템플릿 강조 유형 * NONE: 선택안함, TEXT: 강조표기형, IMAGE: 이미지형, ITEM_LIST: 아이템리스트형 */ //emphasizeType: 'NONE', // 강조표기형(TEXT) 유형일 때 추가할 수 있는 강조표기형 제목 //emphasizeTitle: '', // 강조표기형(TEXT) 유형일 때 추가할 수 있는 강조표기형 부제목 //emphasizeSubTitle: '', /** * 아이템 리스트(ITEM_LIST) 유형에서만 사용 가능한 알림톡 헤더. * 변수(치환문구) 포함 가능. 최대 16자 */ //header: '헤더 입력', //알림톡 하이라이트, 강조 유형이 아이템 리스트일 때만 사용 가능합니다. /*highlight: { title: '하이라이트 제목', // 알림톡 하이라이트 제목, 변수 포함가능 및 최대 30자까지 입력 가능 description: '', // 알림톡 하이라이트 내용. 변수 포함 불가능. 최대 16자까지 입력 가능 // imageId: '' },*/ // 알림톡 아이템, 목록과 요약이 있습니다. 강조 유형이 아이템 리스트일 때만 사용 가능합니다. /*item: { // 알림톡 아이템 리스트, 최소 2개, 최대 10개까지 등록할 수 있습니다. list: [ { title: '아이템리스트', // 아이템 리스트 제목, 변수 포함 불가, 최대 6자까지 입력 가능합니다. description: '아이템 리스트 내용', // 아이템 리스트 내용, 변수 포함가능, 최대 23까지 입력 가능합니다. }, ], summary: { title: '', // 알림톡 아이템 리스트 요약 제목, 변수 포함 불가, 최대 6자까지 입력 가능합니다. description: '', // 알림톡 아이템 리스트 요약 내용. 변수 포함 가능. 화폐 단위, 숫자, 쉼표, 마침표만 사용 가능합니다. 최대 14자까지 입력 가능합니다. }, },*/ // 부가정보. 변수 포함 불가능. 최대 500자 //extra: '', /** * 보안 템플릿 여부. true일 경우 해당 템플릿을 PC에서는 확인할 수 없습니다. 기본값: false */ //securityFlag: false, //알림톡에 사용되는 이미지 고유 아이디. 이미지 타입이 ATA일 경우에만 사용 가능합니다. //imageId: '', }) .then(res => { console.log(res); // 생성한 카카오 알림톡 템플릿을 즉시 검수할 수 있습니다. /*messageService .requestInspectionKakaoAlimtalkTemplate(res.templateId) .then(res2 => console.log(res2));*/ }); });`, usage: "카카오 알림톡 템플릿을 생성해야 하는 경우", url: "https://github.com/solapi/solapi-nodejs/tree/master/examples/javascript/kakao/alimtalk_template", }, { id: "get-alimtalk-templates", title: "카카오 알림톡 템플릿 목록 조회", description: "카카오 알림톡 템플릿 목록을 조회하는 예제입니다. 다양한 검색 조건을 사용할 수 있습니다.", category: "템플릿관리", keywords: [ "알림톡", "템플릿", "조회", "목록", "검색", "nodejs", "javascript", ], code: `const {SolapiMessageService} = require('solapi'); const messageService = new SolapiMessageService( 'ENTER_YOUR_API_KEY', 'ENTER_YOUR_API_SECRET', ); messageService .getKakaoAlimtalkTemplates( // 검색 조건이 있을 떄 추가 /*{ limit: 5, // 한 번 요청당 조회할 건 수 입력, 기본값은 20 startKey: '페이지네이션 조회 키', name: '템플릿 이름 입력(일부 키워드로 검색 가능)', // 템플릿 이름 검색을 eq, ne 등이 포함된 object로 더 자세하게 검색할 수 있습니다! /*name: { eq: '', // 해당 값과 완벽히 일치하는 템플릿만을 검색 ne: '', // 해당 값과 불일치하는 템플릿만을 검색 },*/ channelId: '카카오 채널 ID 입력(구 pfId)', templateId: '알림톡 템플릿 ID 입력', isHidden: true, // 숨긴 템플릿 검색, true로 했을 때만 숨긴 템플릿이 검색 됨 /** * status 안에 포함된 4가지 사항 중 한가지 선택 * PENDING: 대기(검수필요) * INSPECTING: 검수중 * APPROVED: 등록완료(검수완료) * REJECTED: 반려됨 */ status: 'INSPECTING', startDate: '', endDate: '', },*/ ) .then(res => console.log(res));`, usage: "카카오 알림톡 템플릿 목록을 조회해야 하는 경우", url: "https://github.com/solapi/solapi-nodejs/tree/master/examples/javascript/kakao/alimtalk_template", }, { id: "get-alimtalk-template", title: "카카오 알림톡 템플릿 조회", description: "특정 카카오 알림톡 템플릿의 상세 정보를 조회하는 예제입니다.", category: "템플릿관리", keywords: ["알림톡", "템플릿", "조회", "상세", "nodejs", "javascript"], code: `const {SolapiMessageService} = require('solapi'); const messageService = new SolapiMessageService( 'ENTER_YOUR_API_KEY', 'ENTER_YOUR_API_SECRET', ); messageService .getKakaoAlimtalkTemplate('조회할 알림톡 template ID') .then(res => console.log(res));`, usage: "특정 카카오 알림톡 템플릿의 상세 정보를 조회해야 하는 경우", url: "https://github.com/solapi/solapi-nodejs/tree/master/examples/javascript/kakao/alimtalk_template", }, { id: "update-alimtalk-template", title: "카카오 알림톡 템플릿 수정", description: "카카오 알림톡 템플릿을 수정하는 예제입니다. 반드시 대기 상태에서만 수정 가능합니다.", category: "템플릿관리", keywords: [ "알림톡", "템플릿", "수정", "업데이트", "nodejs", "javascript", ], code: `const {SolapiMessageService} = require('solapi'); const messageService = new SolapiMessageService( 'ENTER_YOUR_API_KEY', 'ENTER_YOUR_API_SECRET', ); messageService .updateKakaoAlimtalkTemplate('수정할 알림톡 템플릿 ID', { //name: '수정할 템플릿 제목(등록된 템플릿과 중복불가)', //content: '수정할 템플릿 내용', //categoryCode: '999999', // 카테고리 코드, 카테고리 코드를 미리 조회하신 다음 코드를 입력해주세요. /** * 알림톡 버튼, 최대 5개까지 입력할 수 있으며, 바로연결이 추가되면 최대 두개까지만 추가될 수 있습니다. */ /*buttons: [ { buttonName: '버튼이름', buttonType: 'WL', linkMo: 'https://m.example.com', linkPc: 'https://example.com', }, ],*/ /** * 바로연결, 10개까지만 등록할 수 있으며, 바로연결이 추가되면 버튼은 최대 두개까지 추가될 수 있습니다. */ /*quickReplies: [ { name: '바로연결 버튼이름', linkType: 'WL', linkMo: 'https://m.example.com', linkPc: 'https://example.com', }, ],*/ /** * 카카오 알림톡 템플릿 메시지 유형 * BA:기본형, EX:부가정보형, AD:광고추가형, MI: 복합형 */ //messageType: 'BA', /** * 카카오 알림톡 템플릿 강조 유형 * NONE: 선택안함, TEXT: 강조표기형, IMAGE: 이미지형, ITEM_LIST: 아이템리스트형 */ //emphasizeType: 'NONE', // 강조표기형(TEXT) 유형일 때 추가할 수 있는 강조표기형 제목 //emphasizeTitle: '', // 강조표기형(TEXT) 유형일 때 추가할 수 있는 강조표기형 부제목 //emphasizeSubTitle: '', /** * 아이템 리스트(ITEM_LIST) 유형에서만 사용 가능한 알림톡 헤더. * 변수(치환문구) 포함 가능. 최대 16자 */ //header: '헤더 입력', //알림톡 하이라이트, 강조 유형이 아이템 리스트일 때만 사용 가능합니다. /*highlight: { title: '하이라이트 제목', // 알림톡 하이라이트 제목, 변수 포함가능 및 최대 30자까지 입력 가능 description: '', // 알림톡 하이라이트 내용. 변수 포함 불가능. 최대 16자까지 입력 가능 // imageId: '' },*/ // 알림톡 아이템, 목록과 요약이 있습니다. 강조 유형이 아이템 리스트일 때만 사용 가능합니다. /*item: { // 알림톡 아이템 리스트, 최소 2개, 최대 10개까지 등록할 수 있습니다. list: [ { title: '아이템리스트', // 아이템 리스트 제목, 변수 포함 불가, 최대 6자까지 입력 가능합니다. description: '아이템 리스트 내용', // 아이템 리스트 내용, 변수 포함가능, 최대 23까지 입력 가능합니다. }, ], summary: { title: '', // 알림톡 아이템 리스트 요약 제목, 변수 포함 불가, 최대 6자까지 입력 가능합니다. description: '', // 알림톡 아이템 리스트 요약 내용. 변수 포함 가능. 화폐 단위, 숫자, 쉼표, 마침표만 사용 가능합니다. 최대 14자까지 입력 가능합니다. }, },*/ // 부가정보. 변수 포함 불가능. 최대 500자 //extra: '', /** * 보안 템플릿 여부. true일 경우 해당 템플릿을 PC에서는 확인할 수 없습니다. 기본값: false */ //securityFlag: false, //알림톡에 사용되는 이미지 고유 아이디. 이미지 타입이 ATA일 경우에만 사용 가능합니다. //imageId: '', }) .then(res => { console.log(res); // 수정한 카카오 알림톡 템플릿을 즉시 검수할 수 있습니다. /*messageService .requestInspectionKakaoAlimtalkTemplate(res.templateId) .then(res2 => console.log(res2));*/ });`, usage: "카카오 알림톡 템플릿을 수정해야 하는 경우", url: "https://github.com/solapi/solapi-nodejs/tree/master/examples/javascript/kakao/alimtalk_template", }, { id: "get-alimtalk-template-categories", title: "카카오 알림톡 템플릿 카테고리 조회", description: "카카오 알림톡 템플릿 카테고리 목록을 조회하는 예제입니다.", category: "템플릿관리", keywords: [ "알림톡", "템플릿", "카테고리", "조회", "nodejs", "javascript", ], code: `const {SolapiMessageService} = require('solapi'); const messageService = new SolapiMessageService( 'ENTER_YOUR_API_KEY', 'ENTER_YOUR_API_SECRET', ); messageService.getKakaoAlimtalkTemplateCategories().then(res => { for (const category of res) { console.log(category); } });`, usage: "카카오 알림톡 템플릿 카테고리 목록을 조회해야 하는 경우", url: "https://github.com/solapi/solapi-nodejs/tree/master/examples/javascript/kakao/alimtalk_template", }, { id: "inspect-alimtalk-template", title: "카카오 알림톡 템플릿 검수 요청", description: "카카오 알림톡 템플릿에 대한 검수를 요청하는 예제입니다. 반드시 대기 상태의 템플릿만 검수 요청 가능합니다.", category: "템플릿관리", keywords: [ "알림톡", "템플릿", "검수", "요청", "승인", "nodejs", "javascript", ], code: `const {SolapiMessageService} = require('solapi'); const messageService = new SolapiMessageService( 'ENTER_YOUR_API_KEY', 'ENTER_YOUR_API_SECRET', ); // 템플릿 검수 요청, 반드시 대기 상태의 템플릿만 검수 요청할 수 있습니다. messageService .requestInspectionKakaoAlimtalkTemplate('검수할 알림톡 템플릿 ID') .then(res => console.log(res));`, usage: "카카오 알림톡 템플릿에 대한 검수를 요청해야 하는 경우", url: "https://github.com/solapi/solapi-nodejs/tree/master/examples/javascript/kakao/alimtalk_template", }, { id: "remove-alimtalk-template", title: "카카오 알림톡 템플릿 삭제", description: "카카오 알림톡 템플릿을 삭제하는 예제입니다. 반드시 대기 상태에서만 삭제 가능합니다.", category: "템플릿관리", keywords: ["알림톡", "템플릿", "삭제", "제거", "nodejs", "javascript"], code: `const {SolapiMessageService} = require('solapi'); const messageService = new SolapiMessageService( 'ENTER_YOUR_API_KEY', 'ENTER_YOUR_API_SECRET', ); messageService .removeKakaoAlimtalkTemplate('삭제할 알림톡 템플릿 ID') .then(res => console.log(res));`, usage: "카카오 알림톡 템플릿을 삭제해야 하는 경우", url: "https://github.com/solapi/solapi-nodejs/tree/master/examples/javascript/kakao/alimtalk_template", }, { id: "create-kakao-channel", title: "카카오 비즈니스 채널 연동", description: "카카오 비즈니스 채널을 연동(생성)하는 예제입니다.", category: "채널관리", keywords: [ "카카오", "비즈니스채널", "채널", "연동", "생성", "nodejs", "javascript", ], code: `const {SolapiMessageService} = require('solapi'); const messageService = new SolapiMessageService( 'ENTER_YOUR_API_KEY', 'ENTER_YOUR_API_SECRET', ); messageService .createKakaoChannel({ searchId: '채널 검색용 아이디 입력', phoneNumber: '카카오 비즈니스 채널 담당자 휴대전화 번호 입력', categoryCode: '채널 카테고리 조회 메소드로 확인한 카카오 채널 카테고리 코드 입력', token: '카카오 채널 토큰 발급 메소드로 확인한 토큰 입력', }) .then(res => console.log(res));`, usage: "카카오 비즈니스 채널을 연동해야 하는 경우", url: "https://github.com/solapi/solapi-nodejs/tree/master/examples/javascript/kakao/channel", }, { id: "create-kakao-channel-all-in-one", title: "카카오 비즈니스 채널 연동 (전체 과정)", description: "카카오 비즈니스 채널 연동의 전체 과정을 포함한 예제입니다. 카테고리 조회부터 채널 연동까지 모든 과정을 보여줍니다.", category: "채널관리", keywords: [ "카카오", "비즈니스채널", "채널", "연동", "전체과정", "카테고리", "토큰", "nodejs", "javascript", ], code: `const {SolapiMessageService} = require('solapi'); const messageService = new SolapiMessageService( 'ENTER_YOUR_API_KEY', 'ENTER_YOUR_API_SECRET', ); messageService.getKakaoChannelCategories().then(async res => { // 115번의 카테고리는 컴퓨터,소프트웨어/솔루션,소프트웨어/솔루션 // 실제 연동하실 때는 각각의 채널에 맞는 카테고리를 선택해주세요! const categoryCode = res[115].code; const searchId = '채널 검색용 아이디'; const phoneNumber = '카카오 비즈니스 채널 담당자 휴대전화 번호'; // token은 API가 아닌 실제 담당자 휴대전화 번호로 전송됩니다. await messageService.requestKakaoChannelToken({ searchId, phoneNumber, }); messageService .createKakaoChannel({ searchId, categoryCode, phoneNumber, token: '담당자 휴대전화 번호로 받은 토큰(인증번호) 입력', }) .then(res => { // 채널 데이터를 수신 받으면 성공! console.log(res); }); });`, usage: "카카오 비즈니스 채널 연동의 전체 과정을 확인해야 하는 경우", url: "https://github.com/solapi/solapi-nodejs/tree/master/examples/javascript/kakao/channel", }, { id: "get-kakao-channels", title: "카카오 비즈니스 채널 목록 조회", description: "카카오 비즈니스 채널 목록을 조회하는 예제입니다. 다양한 검색 조건을 사용할 수 있습니다.", category: "채널관리", keywords: [ "카카오", "비즈니스채널", "채널", "목록", "조회", "검색", "nodejs", "javascript", ], code: `const {SolapiMessageService} = require('solapi'); const messageService = new SolapiMessageService( 'ENTER_YOUR_API_KEY', 'ENTER_YOUR_API_SECRET', ); messageService .getKakaoChannels( // 조회할 조건이 있을 때 추가해주시면 됩니다! { channelId: '조회할 채널 ID 입력', searchId: '조회할 검색용 아이디 입력', // 조회할 건 수 입력, 미입력 시 기본 건 수는 20건 입니다. limit: 1, startKey: '조회할 페이지네이션 키 입력, 보통 채널 조회 시 응답받는 nextKey 항목으로 넣어보실 수 있습니다.', // 생성일자로 검색 startDate: '2022-12-01', endDate: '2022-12-09', }, ) .then(res => console.log(res));`, usage: "카카오 비즈니스 채널 목록을 조회해야 하는 경우", url: "https://github.com/solapi/solapi-nodejs/tree/master/examples/javascript/kakao/channel", }, { id: "get-kakao-channel", title: "카카오 비즈니스 채널 조회", description: "특정 카카오 비즈니스 채널의 상세 정보를 조회하는 예제입니다.", category: "채널관리", keywords: [ "카카오", "비즈니스채널", "채널", "조회", "상세", "nodejs", "javascript", ], code: `const {SolapiMessageService} = require('solapi'); const messageService = new SolapiMessageService( 'ENTER_YOUR_API_KEY', 'ENTER_YOUR_API_SECRET', ); messageService .getKakaoChannel('조회할 카카오 채널 ID 입력') .then(res => console.log(res));`, usage: "특정 카카오 비즈니스 채널의 상세 정보를 조회해야 하는 경우", url: "https://github.com/solapi/solapi-nodejs/tree/master/examples/javascript/kakao/channel", }, { id: "get-kakao-channel-categories", title: "카카오 비즈니스 채널 카테고리 조회", description: "카카오 비즈니스 채널 카테고리 목록을 조회하는 예제입니다.", category: "채널관리", keywords: [ "카카오", "비즈니스채널", "채널", "카테고리", "조회", "nodejs", "javascript", ], code: `const {SolapiMessageService} = require('solapi'); const messageService = new SolapiMessageService( 'ENTER_YOUR_API_KEY', 'ENTER_YOUR_API_SECRET', ); messageService.getKakaoChannelCategories().then(res => { res.forEach(data => { // 채널 카테고리 코드 console.log(data.code); console.log('----'); // 채널 카테고리 이름 console.log(data.name); }); });`, usage: "카카오 비즈니스 채널 카테고리 목록을 조회해야 하는 경우", url: "https://github.com/solapi/solapi-nodejs/tree/master/examples/javascript/kakao/channel", }, { id: "request-kakao-channel-token", title: "카카오 비즈니스 채널 토큰 발급", description: "카카오 비즈니스 채널 연동을 위한 토큰을 발급하는 예제입니다.", category: "채널관리", keywords: [ "카카오", "비즈니스채널", "채널", "토큰", "발급", "인증", "nodejs", "javascript", ], code: `const {SolapiMessageService} = require('solapi'); const messageService = new SolapiMessageService( 'ENTER_YOUR_API_KEY', 'ENTER_YOUR_API_SECRET', ); messageService .requestKakaoChannelToken({ searchId: '채널 검색용 아이디 입력', phoneNumber: '카카오 비즈니스 채널 담당자 휴대전화 번호 입력', }) .then(res => console.log(res));`, usage: "카카오 비즈니스 채널 연동을 위한 토큰을 발급해야 하는 경우", url: "https://github.com/solapi/solapi-nodejs/tree/master/examples/javascript/kakao/channel", }, { id: "send-rcs", title: "RCS 문자 발송", description: "RCS(Rich Communication Services) 문자를 발송하는 예제입니다. 단일 발송, 대량 발송, 예약 발송, 대체 발송 등 다양한 옵션을 제공합니다.", category: "RCS", keywords: [ "RCS", "리치커뮤니케이션", "문자", "발송", "버튼", "웹링크", "브랜드", "대체발송", "nodejs", "javascript", ], code: `const {SolapiMessageService} = require('solapi'); const messageService = new SolapiMessageService( 'ENTER_YOUR_API_KEY', 'ENTER_YOUR_API_SECRET', ); // 단일 발송 예제, send 메소드로도 동일하게 사용가능 messageService .sendOne({ to: '수신번호', from: '계정에서 등록한 RCS용 발신번호 입력', text: '한글 45자, 영자 90자 이하 입력되면 자동으로 SMS타입의 메시지가 발송됩니다.', rcsOptions: { brandId: 'RCS 브랜드의 아이디', buttons: [ { buttonType: 'WL', buttonName: '웹링크 버튼', link: 'https://으로 시작하는 웹링크 주소', }, ], }, }) .then(res => console.log(res)); // 단일 예약발송 예제, send 메소드로도 동일하게 사용가능 messageService .send( { to: '수신번호', from: '계정에서 등록한 RCS용 발신번호 입력', text: '한글 45자, 영자 90자 이하 입력되면 자동으로 SMS타입의 메시지가 발송됩니다.', rcsOptions: { brandId: 'RCS 브랜드의 아이디', buttons: [ { buttonType: 'WL', buttonName: '웹링크 버튼', link: 'https://으로 시작하는 웹링크 주소', }, ], }, }, '2022-12-08 00:00:00', ) .then(res => console.log(res)); // 여러 메시지 발송 예제, 한 번 호출 당 최대 10,000건 까지 발송 가능 messageService .send([ { to: '수신번호', from: '계정에서 등록한 RCS용 발신번호 입력', text: '한글 45자, 영자 90자 이하 입력되면 자동으로 SMS타입의 메시지가 발송됩니다.', rcsOptions: { brandId: 'RCS 브랜드의 아이디', buttons: [ { buttonType: 'WL', buttonName: '웹링크 버튼', link: 'https://으로 시작하는 웹링크 주소', }, ], }, }, { to: '수신번호', from: '계정에서 등록한 RCS용 발신번호 입력', text: '한글 45자, 영자 90자 이하 입력되면 자동으로 SMS타입의 메시지가 발송됩니다.', rcsOptions: { brandId: 'RCS 브랜드의 아이디', buttons: [ { buttonType: 'WL', buttonName: '웹링크 버튼', link: 'https://으로 시작하는 웹링크 주소', }, ], }, }, // 2번째 파라미터 내 항목인 allowDuplicates 옵션을 true로 설정할 경우 중복 수신번호를 허용합니다. ]) .then(res => console.log(res)); // 여러 메시지 예약발송 예제, 한 번 호출 당 최대 10,000건 까지 발송 가능 // 예약발송 시 현재 시간보다 과거의 시간을 입력할 경우 즉시 발송됩니다. messageService .send( [ { to: '수신번호', from: '계정에서 등록한 RCS용 발신번호 입력', text: '한글 45자, 영자 90자 이하 입력되면 자동으로 SMS타입의 메시지가 발송됩니다.', rcsOptions: { brandId: 'RCS 브랜드의 아이디', buttons: [ { buttonType: 'WL', buttonName: '웹링크 버튼', link: 'https://으로 시작하는 웹링크 주소', }, ], }, }, { to: '수신번호', from: '계정에서 등록한 RCS용 발신번호 입력', text: '한글 45자, 영자 90자 이하 입력되면 자동으로 SMS타입의 메시지가 발송됩니다.', rcsOptions: { brandId: 'RCS 브랜드의 아이디', buttons: [ { buttonType: 'WL', buttonName: '웹링크 버튼', link: 'https://으로 시작하는 웹링크 주소', }, ], }, }, ], { scheduledDate: '2022-12-08 00:00:00', // allowDuplicates 옵션을 true로 설정할 경우 중복 수신번호를 허용합니다. // allowDuplicates: true, }, ) .then(res => console.log(res)); // RCS 발송 실패 시 일반 문자로 대체 발송하는 예제 messageService .send({ to: '수신번호', from: '계정에서 등록한 RCS용 발신번호 입력', text: '한글 45자, 영자 90자 이하 입력되면 자동으로 SMS타입의 메시지가 발송됩니다.', rcsOptions: { brandId: 'RCS 브랜드의 아이디', buttons: [ { buttonType: 'WL', buttonName: '웹링크 버튼', link: 'https://으로 시작하는 웹링크 주소', }, ], }, replacements: [ { to: '수신번호', from: '계정에서 등록한 발신번호 입력', text: 'RCS 발송 실패 시 대체 발송될 문자 내용', }, ], }) .then(res => console.log(res));`, usage: "RCS 문자를 발송해야 하는 경우", url: "https://github.com/solapi/solapi-nodejs/tree/master/examples/javascript/rcs", }, { id: "send-sms", title: "단문 문자(SMS) 발송", description: "단문 문자(SMS)를 발송하는 예제입니다. 단일 발송, 대량 발송, 예약 발송 등 다양한 옵션을 제공합니다.", category: "SMS", keywords: [ "SMS", "단문", "문자", "발송", "예약", "대량", "nodejs", "javascript", ], code: `const {SolapiMessageService} = require('solapi'); const messageService = new SolapiMessageService( 'ENTER_YOUR_API_KEY', 'ENTER_YOUR_API_SECRET', ); // 단일 발송 예제, send 메소드로도 동일하게 사용가능 messageService .send({ to: '수신번호', from: '계정에서 등록한 발신번호 입력', text: '한글 45자, 영자 90자 이하 입력되면 자동으로 SMS타입의 메시지가 발송됩니다.', }) .then(res => console.log(res)); // 단일 예약발송 예제, send 메소드로도 동일하게 사용가능 // 예약발송 시 현재 시간보다 과거의 시간을 입력할 경우 즉시 발송됩니다. messageService .sendOneFuture( { to: '수신번호', from: '계정에서 등록한 발신번호 입력', text: '한글 45자, 영자 90자 이하 입력되면 자동으로 SMS타입의 메시지가 발송됩니다.', }, '2022-12-08 00:00:00', ) .then(res => console.log(res)); // 여러 메시지 발송 예제, 한 번 호출 당 최대 10,000건 까지 발송 가능 messageService .send([ { to: '수신번호', from: '계정에서 등록한 발신번호 입력', text: '한글 45자, 영자 90자 이하 입력되면 자동으로 SMS타입의 메시지가 발송됩니다.', }, { to: '수신번호', from: '계정에서 등록한 발신번호 입력', text: '한글 45자, 영자 90자 이하 입력되면 자동으로 SMS타입의 메시지가 발송됩니다.', }, // 2번째 파라미터 내 항목인 allowDuplicates 옵션을 true로 설정할 경우 중복 수신번호를 허용합니다. ]) .then(res => console.log(res)); // 여러 메시지 예약발송 예제, 한 번 호출 당 최대 10,000건 까지 발송 가능 // 예약발송 시 현재 시간보다 과거의 시간을 입력할 경우 즉시 발송됩니다. messageService .send( [ { to: '수신번호', from: '계정에서 등록한 발신번호 입력', text: '한글 45자, 영자 90자 이하 입력되면 자동으로 SMS타입의 메시지가 발송됩니다.', }, { to: '수신번호', from: '계정에서 등록한 발신번호 입력', text: '한글 45자, 영자 90자 이하 입력되면 자동으로 SMS타입의 메시지가 발송됩니다.', }, ], { scheduledDate: '2022-12-08 00:00:00', // allowDuplicates 옵션을 true로 설정할 경우 중복 수신번호를 허용합니다. // allowDuplicates: true, }, ) .then(res => console.log(res));`, usage: "단문 문자(SMS)를 발송해야 하는 경우", url: "https://github.com/solapi/solapi-nodejs/tree/master/examples/javascript/sms", }, { id: "send-lms", title: "장문 문자(LMS) 발송", description: "장문 문자(LMS)를 발송하는 예제입니다. 제목(subject)을 포함한 긴 메시지를 발송할 수 있습니다.", category: "LMS", keywords: [ "LMS", "장문", "문자", "발송", "제목", "subject", "예약", "대량", "nodejs", "javascript", ], code: `const {SolapiMessageService} = require('solapi'); const messageService = new SolapiMessageService( 'ENTER_YOUR_API_KEY', 'ENTER_YOUR_API_SECRET', ); // 단일 발송 예제 messageService .sendOne({ to: '수신번호', from: '계정에서 등록한 발신번호 입력', text: '한글 45자, 영자 90자 이상 입력되면 자동으로 LMS타입의 문자메시지가 발송됩니다. 0123456789 ABCDEFGHIJKLMNOPQRSTUVWXYZ', subject: '문자 제목', // LMS, MMS 전용 옵션, SMS에서 해당 파라미터 추가될 경우 자동으로 LMS 변경처리 됨 }) .then(res => console.log(res)); // 단일 예약 발송 예제 // 예약발송 시 현재 시간보다 과거의 시간을 입력할 경우 즉시 발송됩니다. messageService .sendOneFuture( { to: '수신번호', from: '계정에서 등록한 발신번호 입력', text: '한글 45자, 영자 90자 이상 입력되면 자동으로 LMS타입의 문자메시지가 발송됩니다. 0123456789 ABCDEFGHIJKLMNOPQRSTUVWXYZ', subject: '문자 제목', // LMS, MMS 전용 옵션, SMS에서 해당 파라미터 추가될 경우 자동으로 LMS 변경처리 됨 }, '2022-12-08 00:00:00', ) .then(res => console.log(res)); // 여러 메시지 발송 예제, 한 번 호출 당 최대 10,000건 까지 발송 가능 messageService .send([ { to: '수신번호', from: '계정에서 등록한 발신번호 입력', text: '한글 45자, 영자 90자 이상 입력되면 자동으로 LMS타입의 문자메시지가 발송됩니다. 0123456789 ABCDEFGHIJKLMNOPQRSTUVWXYZ', subject: '문자 제목', // LMS, MMS 전용 옵션, SMS에서 해당 파라미터 추가될 경우 자동으로 LMS 변경처리 됨 }, { to: '수신번호', from: '계정에서 등록한 발신번호 입력', text: '한글 45자, 영자 90자 이상 입력되면 자동으로 LMS타입의 문자메시지가 발송됩니다. 0123456789 ABCDEFGHIJKLMNOPQRSTUVWXYZ', }, // 2번째 파라미터 내 항목인 allowDuplicates 옵션을 true로 설정할 경우 중복 수신번호를 허용합니다. ]) .then(res => console.log(res)); // 여러 메시지 예약 발송 예제, 한 번 호출 당 최대 10,000건 까지 발송 가능 // 예약발송 시 현재 시간보다 과거의 시간을 입력할 경우 즉시 발송됩니다. messageService .send( [ { to: '수신번호', from: '계정에서 등록한 발신번호 입력', text: '한글 45자, 영자 90자 이상 입력되면 자동으로 LMS타입의 문자메시지가 발송됩니다. 0123456789 ABCDEFGHIJKLMNOPQRSTUVWXYZ', subject: '문자 제목', // LMS, MMS 전용 옵션, SMS에서 해당 파라미터 추가될 경우 자동으로 LMS 변경처리 됨 }, { to: '수신번호', from: '계정에서 등록한 발신번호 입력', text: '한글 45자, 영자 90자 이상 입력되면 자동으로 LMS타입의 문자메시지가 발송됩니다. 0123456789 ABCDEFGHIJKLMNOPQRSTUVWX