-
Notifications
You must be signed in to change notification settings - Fork 181
Vonage Pricing
Vonage Pricing • Docs
Documentation / Vonage Pricing
Enum representing different service types for pricing information.
Enumeration Member | Value | Description | Defined in |
---|---|---|---|
SMS |
"sms" |
SMS service. | pricing/lib/enums/ServiceType.ts:8 |
SMS_TRANSIT |
"sms-transit" |
SMS Transit service. | pricing/lib/enums/ServiceType.ts:13 |
VOICE |
"voice" |
Voice service. | pricing/lib/enums/ServiceType.ts:18 |
The Pricing API allows you to retrieve pricing information for all countries and a specific service type, for a specific country and service type, or for a specific prefix and service type.
Create a standalone Pricing client
import { Pricing } from '@vonage/pricing';
const pricingClient = new Pricing({
apiKey: VONAGE_API_KEY,
apiSecret: VONAGE_API_SECRET
});
Create an Pricing client from the Vonage client
import { Vonage } from '@vonage/server-client';
const vonage = new Vonage({
apiKey: VONAGE_API_KEY,
apiSecret: VONAGE_API_SECRET
});
const pricingClient = vonage.pricing;
new Pricing(credentials, options?): Pricing
Creates a new instance of the Client.
• credentials: AuthParams
| AuthInterface
The authentication credentials or an authentication instance.
• options?: ConfigParams
Optional configuration settings for the client.
server-client/dist/lib/client.d.ts:35
protected auth: AuthInterface;
The authentication instance responsible for generating authentication headers and query parameters.
server-client/dist/lib/client.d.ts:24
protected authType: AuthenticationType = AuthenticationType.QUERY_KEY_SECRET;
The type of authentication used for the client's requests.
protected config: ConfigParams;
Configuration settings for the client, including default hosts for various services and other request settings.
server-client/dist/lib/client.d.ts:28
static transformers: object;
Static property containing utility transformers.
camelCaseObjectKeys: PartialTransformFunction;
kebabCaseObjectKeys: PartialTransformFunction;
omit: (keys, obj) => TransformedObject;
• keys: string
[]
• obj: ObjectToTransform
snakeCaseObjectKeys: PartialTransformFunction;
server-client/dist/lib/client.d.ts:11
addAuthenticationToRequest(request): Promise<VetchOptions>
Adds the appropriate authentication headers or parameters to the request based on the authentication type.
• request: VetchOptions
The request options to which authentication needs to be added.
Promise
<VetchOptions
>
- The request options with the added authentication.
Client
.addAuthenticationToRequest
server-client/dist/lib/client.d.ts:43
protected addBasicAuthToRequest(request): Promise<VetchOptions>
Adds basic authentication headers to the request.
• request: VetchOptions
The request options to which authentication needs to be added.
Promise
<VetchOptions
>
- The request options with the added authentication.
server-client/dist/lib/client.d.ts:71
protected addJWTToRequest(request): Promise<VetchOptions>
Adds a JWT to the request.
• request: VetchOptions
The request options to which authentication needs to be added.
Promise
<VetchOptions
>
- The request options with the added authentication.
server-client/dist/lib/client.d.ts:64
protected addQueryKeySecretToRequest(request): Promise<VetchOptions>
Adds API key and secret to the request.
• request: VetchOptions
The request options to which authentication needs to be added.
Promise
<VetchOptions
>
- The request options with the added authentication.
Client
.addQueryKeySecretToRequest
server-client/dist/lib/client.d.ts:57
protected addQueryKeySecretToRequestBody(request): Promise<VetchOptions>
Adds API key and secret to the request body.
• request: VetchOptions
The request options to which authentication needs to be added.
Promise
<VetchOptions
>
- The request options with the added authentication.
Client
.addQueryKeySecretToRequestBody
server-client/dist/lib/client.d.ts:50
getConfig(): ConfigParams
server-client/dist/lib/client.d.ts:36
listAllCountriesPricing(type): Promise<OutboundAllCountriesPricingResponse>
Retrieves pricing information for all countries and a specific service type.
• type: ServiceType
The service type.
Promise
<OutboundAllCountriesPricingResponse
>
- Pricing information for all countries.
import { ServiceType } from '@vonage/pricing';
const pricing = await pricingClient.listAllCountriesPricing(ServiceType.SMS);
for (const country in pricing.countries) {
console.log(`The current price for ${country.countryName} is ${country.defaultPrice}`);
}
listCountryPricing(type, country): Promise<OutboundCountryPricingResponse>
Retrieves pricing information for a specific country and service type.
• type: ServiceType
The service type.
• country: string
The country for which pricing information is requested.
Promise
<OutboundCountryPricingResponse
>
- Pricing information for the specified country.
import { ServiceType } from '@vonage/pricing';
const pricing = await pricingClient.listCountryPricing(ServiceType.SMS, 'GB');
console.log(`The current price for Great Britian is ${pricing.defaultPrice}`);
listPrefixPricing(type, prefix): Promise<OutboundAllCountriesPricingResponse>
Retrieves pricing information for a specific prefix and service type.
• type: ServiceType
The service type.
• prefix: string
The prefix for which pricing information is requested.
Promise
<OutboundAllCountriesPricingResponse
>
- Pricing information for the specified prefix.
import { ServiceType } from '@vonage/pricing';
const pricing = await pricingClient.listPrefixPricing(ServiceType.SMS, '44');
console.log(`The current price for Great Britian is ${pricing.defaultPrice}`);
protected parseResponse<T>(request, response): Promise<VetchResponse<T>>
Parses the response based on its content type.
• T
The expected type of the parsed response data.
• request: VetchOptions
The request options.
• response: Response
The raw response from the request.
Promise
<VetchResponse
<T
>>
- The parsed response.
server-client/dist/lib/client.d.ts:168
protected prepareBody(request): undefined | string
Prepares the body for the request based on the content type.
• request: VetchOptions
The request options.
undefined
| string
- The prepared request body as a string or undefined.
server-client/dist/lib/client.d.ts:158
protected prepareRequest(request): Promise<VetchOptions>
Prepares the request with necessary headers, authentication, and query parameters.
• request: VetchOptions
The initial request options.
Promise
<VetchOptions
>
- The modified request options.
server-client/dist/lib/client.d.ts:151
sendDeleteRequest<T>(url): Promise<VetchResponse<T>>
Sends a DELETE request to the specified URL.
• T
• url: string
The URL endpoint for the DELETE request.
Promise
<VetchResponse
<T
>>
- The response from the DELETE request.
server-client/dist/lib/client.d.ts:78
sendFormSubmitRequest<T>(url, payload?): Promise<VetchResponse<T>>
Sends a POST request with form data to the specified URL.
• T
• url: string
The URL endpoint for the POST request.
• payload?: Record
<string
, string
>
Optional payload containing form data to send with the POST request.
Promise
<VetchResponse
<T
>>
- The response from the POST request.
server-client/dist/lib/client.d.ts:86
sendGetRequest<T>(url, queryParams?): Promise<VetchResponse<T>>
Sends a GET request to the specified URL with optional query parameters.
• T
• url: string
The URL endpoint for the GET request.
• queryParams?
Optional query parameters to append to the URL. These should be compatible with Node's URLSearchParams.
Promise
<VetchResponse
<T
>>
- The response from the GET request.
server-client/dist/lib/client.d.ts:94
sendPatchRequest<T>(url, payload?): Promise<VetchResponse<T>>
Sends a PATCH request to the specified URL with an optional payload.
• T
• url: string
The URL endpoint for the PATCH request.
• payload?
Optional payload to be sent as the body of the PATCH request.
Promise
<VetchResponse
<T
>>
- The response from the PATCH request.
server-client/dist/lib/client.d.ts:104
sendPostRequest<T>(url, payload?): Promise<VetchResponse<T>>
Sends a POST request to the specified URL with an optional payload.
• T
• url: string
The URL endpoint for the POST request.
• payload?
Optional payload to be sent as the body of the POST request.
Promise
<VetchResponse
<T
>>
- The response from the POST request.
server-client/dist/lib/client.d.ts:114
sendPutRequest<T>(url, payload?): Promise<VetchResponse<T>>
Sends a PUT request to the specified URL with an optional payload.
• T
• url: string
The URL endpoint for the PUT request.
• payload?
Optional payload to be sent as the body of the PUT request.
Promise
<VetchResponse
<T
>>
- The response from the PUT request.
server-client/dist/lib/client.d.ts:124
sendRequest<T>(request): Promise<VetchResponse<T>>
Sends a request adding necessary headers, handling authentication, and parsing the response.
• T
• request: VetchOptions
The options defining the request, including URL, method, headers, and data.
Promise
<VetchResponse
<T
>>
- The parsed response from the request.
server-client/dist/lib/client.d.ts:144
sendRequestWithData<T>(
method,
url,
payload?): Promise<VetchResponse<T>>
Sends a request with JSON-encoded data to the specified URL using the provided HTTP method.
• T
• method: POST
| PUT
| PATCH
The HTTP method to be used for the request (only POST, PATCH, or PUT are acceptable).
• url: string
The URL endpoint for the request.
• payload?
Optional payload to be sent as the body of the request, JSON-encoded.
Promise
<VetchResponse
<T
>>
- The response from the request.
server-client/dist/lib/client.d.ts:135
type Network: object;
Type representing a network within a specific country's pricing information.
currency: string;
The currency used for prices for this network
mcc: string;
The Mobile Country Code (MCC) of the operator
mnc: string;
The Mobile Network Code (MNC) of the operator
networkCode: string;
The Mobile Country Code and Mobile Network Code combined to give a unique reference for the operator
networkName: string;
The company/organizational name of the operator
price: string;
The cost to send a message or make a call on this network.
type: string;
The type of network
pricing/lib/types/Network.ts:4
type OutboundAllCountriesPricingResponse: object;
Type representing the response for pricing information of all countries.
count: number;
The number of countries in the response.
countries: OutboundCountryPricingResponse[];
An array of objects containing pricing information for individual countries.
pricing/lib/types/Response/OutboundAllCountriesPricingResponse.ts:6
type OutboundCountryPricingResponse: object;
Type representing the response for pricing information of a specific country.
countryCode: string;
Two-letter country code.
countryDisplayName: string;
Readable country name.
countryName: string;
Readable country name.
currency: string;
The currency that your account is being billed in.
defaultPrice: string;
The default price for services in this country.
dialingPrefix: string;
The dialing prefix for this country.
networks: Network[];
An array of network objects representing different networks in this country.
pricing/lib/types/Response/OutboundCountryPricingResponse.ts:5
type PricingClassParameters: AuthParams & VetchOptions & object;
Type representing parameters for a pricing class, including authentication and Vetch options.
optional auth: AuthInterface;
An optional authentication interface.
- The authentication interface if provided, otherwise undefined.
pricing/lib/types/PricingClassParameters.ts:7
type PricingResponse<T>: VetchResponse<T>;
• T