UNPKG

simpay-typescript-api

Version:
163 lines 6.24 kB
import axios, {} from 'axios'; export class Sms { key; password; client; constructor(key, password) { this.key = key; this.password = password; this.client = axios.create({ baseURL: 'https://api.simpay.pl/sms', headers: { 'X-SIM-KEY': this.key, 'X-SIM-PASSWORD': this.password, 'X-SIM-VERSION': '3.1.0', 'X-SIM-PLATFORM': 'TYPESCRIPT', }, }); } /* https://docs.simpay.pl/pl/typescript/?typescript#sms-pobieranie-listy-uslug */ async getServices() { const result = []; let response = await this.client.get('/'); result.push(...response.data.data); while (response.data.pagination.links.next_page !== null) { response = await this.client.get(`/?page=${response.data.pagination.current_page + 1}`); result.push(...response.data.data); } return result.map((e) => { e.created_at = new Date(e.created_at.replace(' ', 'T')); return e; }); } async getServicesPaginated(page, pageSize) { const query = {}; if (page) query.page = `${page}`; if (pageSize) query.limit = `${pageSize}`; const url = `/?${new URLSearchParams(query).toString()}`; const response = (await this.client.get(url)).data; response.data = response.data.map((e) => { e.created_at = new Date(e.created_at.replace(' ', 'T')); return e; }); return response; } /* https://docs.simpay.pl/pl/typescript/?typescript#sms-pobieranie-informacji-o-usludze */ async getService(id) { const service = (await this.client.get(`/${id}`)).data.data; service.created_at = new Date(service.created_at.replace(' ', 'T')); return service; } /* https://docs.simpay.pl/pl/typescript/?typescript#sms-pobieranie-listy-transakcji */ async getTransactions(serviceId) { const result = []; let response = await this.client.get(`/${serviceId}/transactions`); result.push(...response.data.data); while (response.data.pagination.links.next_page !== null) { response = await this.client.get(`/${serviceId}/transactions?page=${response.data.pagination.current_page + 1}`); result.push(...response.data.data); } return result.map((e) => { e.send_at = new Date(e.send_at.replace(' ', 'T')); return e; }); } async getTransactionsPaginated(serviceId, page, pageSize) { const query = {}; if (page) query.page = `${page}`; if (pageSize) query.limit = `${pageSize}`; const url = `/${serviceId}/transactions?${new URLSearchParams(query).toString()}`; const response = (await this.client.get(url)).data; response.data = response.data.map((e) => { e.send_at = new Date(e.send_at.replace(' ', 'T')); return e; }); return response; } /* https://docs.simpay.pl/pl/typescript/?typescript#sms-pobieranie-informacji-o-transakcji */ async getTransaction(serviceId, transactionId) { const transaction = (await this.client.get(`/${serviceId}/transactions/${transactionId}`)) .data.data; transaction.send_at = new Date(transaction.send_at.replace(' ', 'T')); return transaction; } /* https://docs.simpay.pl/pl/typescript/?typescript#sms-pobieranie-dostepnych-numerow-dla-uslugi */ async getServiceNumbers(serviceId) { const result = []; let response = await this.client.get(`/${serviceId}/numbers`); result.push(...response.data.data); while (response.data.pagination.links.next_page !== null) { response = await this.client.get(`/${serviceId}/numbers?page=${response.data.pagination.current_page + 1}`); result.push(...response.data.data); } return result; } async getServiceNumbersPaginated(serviceId, page, pageSize) { const query = {}; if (page) query.page = `${page}`; if (pageSize) query.limit = `${pageSize}`; const url = `/${serviceId}/numbers?${new URLSearchParams(query).toString()}`; return (await this.client.get(url)).data; } /* https://docs.simpay.pl/pl/typescript/?typescript#sms-informacji-o-pojedynczym-numerze-uslugi */ async getServiceNumber(serviceId, number) { return (await this.client.get(`/${serviceId}/numbers/${number}`)).data.data; } /* https://docs.simpay.pl/pl/typescript/?typescript#sms-pobieranie-wszystkich-dostepnych-numerow */ async getNumbers() { const result = []; let response = await this.client.get('/numbers'); result.push(...response.data.data); while (response.data.pagination.links.next_page !== null) { response = await this.client.get(`/numbers?page=${response.data.pagination.current_page + 1}`); result.push(...response.data.data); } return result; } async getNumbersPaginated(page, pageSize) { const query = {}; if (page) query.page = `${page}`; if (pageSize) query.limit = `${pageSize}`; const url = `/numbers?${new URLSearchParams(query).toString()}`; return (await this.client.get(url)).data; } /* https://docs.simpay.pl/pl/typescript/?typescript#sms-pobieranie-pojedynczego-numeru-sms */ async getNumber(number) { return (await this.client.get(`/numbers/${number}`)).data.data; } /* https://docs.simpay.pl/pl/typescript/?typescript#sms-weryfikacja-poprawnosci-kodu */ async verifySmsCode(serviceId, code, number) { const response = (await this.client.post(`/${serviceId}`, { code, number })).data.data; if (response.used_at) { response.used_at = new Date(response.used_at.replace(' ', 'T')); } return response; } } //# sourceMappingURL=sms.js.map