diff --git a/Group.js b/Group.js index 461f70e2..5c08c48e 100644 --- a/Group.js +++ b/Group.js @@ -109,22 +109,6 @@ module.exports = class Group { const query = `?${qs.stringify(obj)}` return asyncRequest('get', `https://api.solapi.com/messages/v4/list${query}`, { headers: { Authorization: getAuth() } }) } - /** - * 그룹에 추가된 메시지들을 예약 발송 요청합니다. - * - * @param {string} scheduledDate - yyyy-MM-dd HH:mm:ss 형식으로 된 문자열입니다. 해당 시각에 발송됩니다. - * @example - * // return promise object - * group.setScheduledDate('2019-10-10 10:10:10').then(body => { - * console.log(body) - * }) - */ - setScheduledDate (scheduledDate) { - return asyncRequest('post', `https://api.solapi.com/messages/v4/groups/${this.getGroupId()}/schedule`, { headers: { Authorization: getAuth() }, form: { scheduledDate } }) - } - cancelScheduled () { - return asyncRequest('delete', `https://api.solapi.com/messages/v4/groups/${this.getGroupId()}/schedule`, { headers: { Authorization: getAuth() } }) - } /** * 그룹 삭제를 요청합니다. diff --git a/README.md b/README.md index 6b8ae01b..0ac7e688 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,6 @@ async function send (message, agent = {}) { [Group Message](https://github.com/solapi/solapi-sdk-js-v4/blob/develop/example/groupMessage.js), [Simple Message](https://github.com/solapi/solapi-sdk-js-v4/blob/develop/example/simpleMessage.js), -[Scheduled Messages](https://github.com/solapi/solapi-sdk-js-v4/blob/develop/example/scheduleMesssage.js), [more examples can be found at solapi-v4-examples](https://github.com/solapi/examples) ## Opening Issues diff --git a/example/addScheduledDate.js b/example/addScheduledDate.js deleted file mode 100644 index 3981a6e4..00000000 --- a/example/addScheduledDate.js +++ /dev/null @@ -1,23 +0,0 @@ -const moment = require('moment') -const { config, Group } = require('../') -config.init({ - apiKey: 'ENTER API_KEY', - apiSecret: 'ENTER API_SECRET' -}) -send({ - text: 'Hello SOLAPI from Javascript', - type: 'SMS', - to: '수신번호', - from: '발신번호' -}) -async function send (message) { - try { - const group = new Group() - await group.createGroup() - await group.addGroupMessage(message) - const scheduledDate = moment().add(1, 'days').toISOString() - await group.setScheduledDate(scheduledDate) - } catch (e) { - console.log(e) - } -} diff --git a/example/cancelScheduledDate.js b/example/cancelScheduledDate.js deleted file mode 100644 index 609472f7..00000000 --- a/example/cancelScheduledDate.js +++ /dev/null @@ -1,24 +0,0 @@ -const moment = require('moment-timezone') -const { config, Group } = require('../') -config.init({ - apiKey: 'ENTER API_KEY', - apiSecret: 'ENTER API_SECRET' -}) -send({ - text: 'Hello SOLAPI from Javascript', - type: 'SMS', - to: '수신번호', - from: '발신번호' -}) -async function send (message) { - try { - const group = new Group() - await group.createGroup() - await group.addGroupMessage(message) - const scheduledDate = moment().tz('Asia/Seoul').add(1, 'days').format('YYYY-MM-DD H:m:s') - await group.setScheduledDate(scheduledDate) - await group.cancelScheduled() - } catch (e) { - console.log(e) - } -} diff --git a/example/scheduleMesssage.js b/example/scheduleMesssage.js deleted file mode 100644 index bd93d991..00000000 --- a/example/scheduleMesssage.js +++ /dev/null @@ -1,21 +0,0 @@ -const moment = require('moment') -const { config, Group } = require('../') -config.init({ - apiKey: 'ENTER API_KEY', - apiSecret: 'ENTER API_SECRET' -}) -send() -async function send (agent = {}, groupId = undefined) { - const group = new Group({ agent, groupId }) - await group.createGroup() // groupId 가 없다면 필수로 작동 시켜야 됩니다. - console.log(group.getGroupId()) - await group.addGroupMessage({ - to: 'TO', - from: 'FROM', - text: 'MESSAGE', - type: 'SMS' - }) - const date = moment(Date.now() + 60000).format('YYYY-MM-DD HH:mm:ss') - await group.setScheduledDate(date).catch(console.log) - await group.cancelScheduled().catch(console.log) -} diff --git a/tests/test.js b/tests/test.js index e532d41b..8a7e4006 100644 --- a/tests/test.js +++ b/tests/test.js @@ -106,7 +106,7 @@ describe('test', () => { }) expect(data.errorCount).to.equal(0) const result = await group.sendMessages() - expect(result).to.have.all.keys('app', 'balance', 'countForCharge', 'dateCompleted', 'dateSent', 'isRefunded', 'osPlatform', 'point', 'price', 'sdkVersion', 'count', 'log', 'status', '_id', 'groupId', 'accountId', 'apiVersion', 'dateCreated', 'dateUpdated', 'scheduledDate', 'flagUpdated') + expect(result).to.have.all.keys('app', 'balance', 'countForCharge', 'dateCompleted', 'dateSent', 'isRefunded', 'osPlatform', 'point', 'price', 'sdkVersion', 'count', 'log', 'status', '_id', 'groupId', 'accountId', 'apiVersion', 'dateCreated', 'dateUpdated', 'flagUpdated') }) it('그룹 삭제 (정상)', async () => { const group = new Group() @@ -127,7 +127,7 @@ describe('test', () => { const group = new Group() await group.createGroup() const data = await Group.getInfo(group.getGroupId()) - expect(data).to.have.all.keys('app', 'balance', 'countForCharge', 'dateCompleted', 'dateSent', 'isRefunded', 'osPlatform', 'point', 'price', 'sdkVersion', 'count', 'log', 'status', '_id', 'groupId', 'accountId', 'apiVersion', 'dateCreated', 'dateUpdated', 'scheduledDate', 'flagUpdated') + expect(data).to.have.all.keys('app', 'balance', 'countForCharge', 'dateCompleted', 'dateSent', 'isRefunded', 'osPlatform', 'point', 'price', 'sdkVersion', 'count', 'log', 'status', '_id', 'groupId', 'accountId', 'apiVersion', 'dateCreated', 'dateUpdated', 'flagUpdated') }) it('그룹 정보 조회 (생성 전)', async () => { const group = new Group() @@ -143,36 +143,6 @@ describe('test', () => { const groupList = await Group.getMyGroupList() expect(groupList).to.have.all.keys('startKey', 'limit', 'groupList', 'nextKey') }) - it('그룹 예약 (성공)', async () => { - const group = new Group() - tempGroup = group - await group.createGroup() - const data = await group.addGroupMessage({ - to: getTo(), - from: getFrom(), - text: 'TEST', - type: 'SMS' - }) - expect(data.errorCount).to.equal(0) - const date = new Date(Date.now() + (1000 * 60 * 60 * 10)).toISOString() - const result = await group.setScheduledDate(date) - expect(result).to.have.all.keys('app', 'balance', 'countForCharge', 'dateCompleted', 'dateSent', 'isRefunded', 'osPlatform', 'point', 'price', 'sdkVersion', 'count', 'log', 'status', '_id', 'groupId', 'accountId', 'apiVersion', 'dateCreated', 'dateUpdated', 'scheduledDate', 'flagUpdated') - }) - it('그룹 예약 취소 (성공)', async () => { - const data = await tempGroup.cancelScheduled() - expect(data).to.have.all.keys('app', 'balance', 'countForCharge', 'dateCompleted', 'dateSent', 'isRefunded', 'osPlatform', 'point', 'price', 'sdkVersion', 'count', 'log', 'status', '_id', 'groupId', 'accountId', 'apiVersion', 'dateCreated', 'dateUpdated', 'scheduledDate', 'flagUpdated') - }) - it('그룹 예약 (실패)', async () => { - const group = new Group() - await group.createGroup() - let data - try { - await group.setScheduledDate() - } catch (err) { - data = err - } - expect(data).to.have.all.keys('errorCode', 'errorMessage') - }) }) describe('message', () => { it('메시지 리스트 조회 (그룹 생성 전)', async () => {