@telstra/messaging
Version:
Telstra SDK Messaging
78 lines (73 loc) • 2.8 kB
JavaScript
import { HttpClient } from '@telstra/core';
import { Schemas } from '../schemas/index.js';
import { Validator } from './Validator.js';
export class FreeTrialNumbers extends HttpClient {
authConfig;
constructor(authConfig) {
super(authConfig);
this.authConfig = authConfig;
}
/**
* Telstra offers a free trial for the messaging API to help you evaluate whether
* it meets your needs. There are some restrictions that apply compared to the
* full API, including a maximum number of messages that can be sent and requiring the
* registration of a limited number of destinations before a message can be sent
* to that destination.
* @param data.freeTrialNumbers - A list of destinations, expected to be phone numbers of the form `04XXXXXXXX`.
* @link https://dev.telstra.com/docs/messaging-api/apiReference/apiReferenceOverviewEndpoints?version=3.x#RegisteraFreeTrialNumber
* @example
```typescript
import { FreeTrialNumber } from '@telstra/messaging'
const freeTrialNumber = new FreeTrialNumber();
freeTrialNumber.create({
freeTrialNumbers: [
"<MOBILE_NUMBER>"
]
})
.then(result => {
console.log(result);
})
.catch(error => {
console.error(error);
});
```
*/
async create(data) {
try {
const validate = new Validator(data);
validate.schemaInline(Schemas.CREATE_FREETRIAL_NUMBER);
const result = await this.instance.post(`/messaging/v3/free-trial-numbers`, data);
return result;
}
catch (error) {
this.logger.error('Error creating Free Trial Number', error);
throw error;
}
}
/**
* Fetch the Free Trial Number(s) currently assigned to your account.
* @link https://dev.telstra.com/docs/messaging-api/apiReference/apiReferenceOverviewEndpoints?version=3.x#FetchyourFreeTrialNumbers
* @example
```typescript
import { FreeTrialNumber } from '@telstra/messaging'
const freeTrialNumber = new FreeTrialNumber();
freeTrialNumber.getAll({ limit: 10, offset: 0, filter: 'V3' })
.then(result => {
console.log(result);
})
.catch(error => {
console.error(error);
});
```
*/
async getAll() {
try {
const result = await this.instance.get(`/messaging/v3/free-trial-numbers`);
return result;
}
catch (error) {
this.logger.error('Error fetching Free Trial Numbers', error);
throw error;
}
}
}