UNPKG

@telstra/messaging

Version:
78 lines (73 loc) 2.8 kB
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; } } }