NCP SENS Client module for Nest.js
Base on @pickk/sens
- send SMS
- send Alimtalk
$ npm i --save @nestjs-packages/ncp-sens
# or
$ yarn add @nestjs-packages/ncp-sens
sync
import { SensModule } from '@nestjs-packages/ncp-sens';
@Module({
imports: [
SensModule.forRoot({
accessKey: 'ACCESS_KEY',
secretKey: 'SECRET_KEY',
sms: {
smsServiceId: 'SMS_SERVICE_ID',
smsSecretKey: 'SMS_SECRET_KEY',
callingNumber: '01012341234',
},
alimtalk: {
alimtalkServiceId: 'ALIMTALK_SERVICE_ID',
plusFriendId: 'PLUS_FRIEND_ID',
}
}),
],
})
async
import {
SensModule,
SensModuleAsyncOptions,
SensModuleOptions,
} from '@nestjs-packages/ncp-sens';
import { SensConfigModule, SensConfigService } from 'your-config-path';
@Module({
imports: [
SensModule.forRootAsync({
imports: [SensConfigModule],
useFactory: async (sensConfigService: SensConfigService) =>
({
accessKey: sensConfigService.ncloudAccessKey,
secretKey: sensConfigService.ncloudSecretKey,
sms: {
smsServiceId: sensConfigService.ncloudSmsServiceId,
smsSecretKey: sensConfigService.ncloudSmsSecretKey,
callingNumber: sensConfigService.ncloudSmsCallingNumber,
},
alimtalk: {
alimtalkServiceId: sensConfigService.ncloudAlimtalkServiceId,
plusFriendId: sensConfigService.plusFriendId,
},
} as SensModuleOptions),
inject: [SensConfigService],
} as SensModuleAsyncOptions),
],
})
import { AlimtalkClient, SmsClient } from '@nestjs-packages/ncp-sens';
@Injectable()
export class YourService {
constructor(
@Inject(AlimtalkClient) private readonly alimtalkClient: AlimtalkClient,
@Inject(SmsClient) private readonly smsClient: SmsClient
) {}
async sendAlimtalk(templateCode: string, to: string, content: string) {
await this.alimtalkClient.send({
templateCode,
messages: [{ to, content }],
});
}
async sendSms(to: string, content: string) {
await this.smsClient.send({ to, content });
}
}
@nestjs-packages/ncp-sens is MIT licensed.