@ringer-tel/ivy
Version:
TypeScript SDK for Ringer APIs
124 lines (102 loc) • 4.39 kB
text/typescript
/* tslint:disable */
/* eslint-disable */
/**
* Ringer Business API
* This API provides comprehensive endpoints for the Ringer Business system. It includes functionality for managing customer accounts, addresses, sites, phone numbers, payments, users, and other business resources. Operations typically require authentication and appropriate permissions.
*
* The version of the OpenAPI document: 1.0.6
* Contact: support@ringer.tel
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import * as runtime from '../runtime';
import type {
PhoneNumbersComponentsError,
SearchPhoneNumbers200Response,
} from '../models/index';
import {
PhoneNumbersComponentsErrorFromJSON,
PhoneNumbersComponentsErrorToJSON,
SearchPhoneNumbers200ResponseFromJSON,
SearchPhoneNumbers200ResponseToJSON,
} from '../models/index';
export interface SearchPhoneNumbersRequest {
searchCategory: string;
country: string;
stateProv?: string;
city?: string;
areaCode?: string;
npanxx?: string;
zip?: string;
q?: string;
}
/**
*
*/
export class PhoneNumberSearchApi extends runtime.BaseAPI {
/**
* Searches for available phone numbers based on the provided criteria. This endpoint allows filtering by area code, country, and number type.
* Search Phone Numbers
*/
async searchPhoneNumbersRaw(requestParameters: SearchPhoneNumbersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SearchPhoneNumbers200Response>> {
if (requestParameters['searchCategory'] == null) {
throw new runtime.RequiredError(
'searchCategory',
'Required parameter "searchCategory" was null or undefined when calling searchPhoneNumbers().'
);
}
if (requestParameters['country'] == null) {
throw new runtime.RequiredError(
'country',
'Required parameter "country" was null or undefined when calling searchPhoneNumbers().'
);
}
const queryParameters: any = {};
if (requestParameters['searchCategory'] != null) {
queryParameters['search_category'] = requestParameters['searchCategory'];
}
if (requestParameters['country'] != null) {
queryParameters['country'] = requestParameters['country'];
}
if (requestParameters['stateProv'] != null) {
queryParameters['state_prov'] = requestParameters['stateProv'];
}
if (requestParameters['city'] != null) {
queryParameters['city'] = requestParameters['city'];
}
if (requestParameters['areaCode'] != null) {
queryParameters['area_code'] = requestParameters['areaCode'];
}
if (requestParameters['npanxx'] != null) {
queryParameters['npanxx'] = requestParameters['npanxx'];
}
if (requestParameters['zip'] != null) {
queryParameters['zip'] = requestParameters['zip'];
}
if (requestParameters['q'] != null) {
queryParameters['q'] = requestParameters['q'];
}
const headerParameters: runtime.HTTPHeaders = {};
if (this.configuration && this.configuration.accessToken) {
// oauth required
headerParameters["Authorization"] = await this.configuration.accessToken("oAuth2", []);
}
const response = await this.request({
path: `/phone-numbers/search`,
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => SearchPhoneNumbers200ResponseFromJSON(jsonValue));
}
/**
* Searches for available phone numbers based on the provided criteria. This endpoint allows filtering by area code, country, and number type.
* Search Phone Numbers
*/
async searchPhoneNumbers(requestParameters: SearchPhoneNumbersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SearchPhoneNumbers200Response> {
const response = await this.searchPhoneNumbersRaw(requestParameters, initOverrides);
return await response.value();
}
}