What is API?

Your Answer


A mandatary parameter must be included in the create object request with a value that meets the content requirements for that parameter. In other words, a value may contain upper-case or lower-case letters, numbers, and underscore characters. VpnCustomCheckBox is not supported and may be altered or unavailable in the future. Its value is an integer from 0 through 9, as follows: If the credentials are valid, the API further ensures that the user is authorized to access the requested resource, as indicated by the role of the user. While this may be suitable for test and evaluation systems, for production-level systems, access to the VPN Provisioning API should be secured. This is used in the construction of custom prompts used in the VpnChannel.

Interfaces


This is typically a checkbox. This is used in the construction of custom prompts used in the VpnChannel. Represents a multiple choice UI control prompt required from the user. This is typically a combo box. Represents a text UI element used in the VpnChannel. VpnCustomTextBox is not supported and may be altered or unavailable in the future. Contains VPN domain name policies, like name resolution, namespace configuration, and web proxies.

Specifies the name policy for a specific namespace. It can specify the DNS servers to use for name resolution of the namespace, the web proxies to use when connecting to the namespace, or whether it should be exempted from the policy itself. Allows the creation, deletion, edit, connect, and disconnect flows for VPN. VpnNamespaceAssignment is not supported and may be altered or unavailable in the future. VpnNamespaceInfo is not supported and may be altered or unavailable in the future.

Used by the platform to manage a memory buffer. VpnPacketBuffer allows buffers to be chained together in a IVpnPacketBufferList object list to be sent or received in a specific order. VpnPickedCredential is not supported and may be altered or unavailable in the future. Represents a route relative to the VPN channel. It is composed of an address and a prefix size to identify the subnet being routed.

The route can then be either included or excluded from the VPN channel scope. Represents the list of routes assigned to the VPN channel for the correct flow and redirection of traffic. Defines the traffic filtering properties including per app VPN. A description of the type of network traffic that will be allowed over the VPN connection, such as a specific application and protocol allowed for the connection.

Provides a common interface for all UI element objects used in the VpnChannel. Factory to create VpnDomainNameInfo objects. The individual values of a JSON array are enclosed in brackets and separated by commas, as in the following example:. In addition to simple types, a parameter can be a complex type.

A complex type is a parameter that contains a nested set of subparameters. The callScreeningList parameter is an example. It contains an array of access control rules, as shown in the following example. In addition to validating the basic data type of a submitted parameter, the VPN application may validate the content of the parameter. For example, it may ensure that a number falls within an expected range or that dates meet the required format.

The values of certain parameters are limited to what are called word characters. Expressed in regular expression notation, the word character set is: In other words, a value may contain upper-case or lower-case letters, numbers, and underscore characters.

Numeric values are expressed as digits. In some cases, a parameter may contain a range of numbers, such as the extension value for a PBX user. To specify a range of numbers, use the common numeric prefix for the number range followed by a wildcard. The body of the POST request should contain the JSON-formatted data that describes the entity, such as the end user's name, phone number, extension, and so on.

Each type of object can have mandatory parameters and optional parameters. A mandatary parameter must be included in the create object request with a value that meets the content requirements for that parameter.

The value of a parameter may be a reference to another object. The VPN application checks object dependencies when it creates the object, ensuring that the objects upon which the new object depends, such as the profile or group definitions, exist. When updating the object, you supply a new value for a modified setting in the body of a PUT request. In the body, you only supply the values for those parameters you want to modify, not for the entire object.

Therefore, to add an item to the call barring black list and disable private calling, you would send a PUT request with the following body:. That is, clients can submit requests to the API without providing user credentials.

While this may be suitable for test and evaluation systems, for production-level systems, access to the VPN Provisioning API should be secured. The isSecurity attribute of the built-in admin user controls security setting for the API. If isSecurity is true , the API authenticates user credentials supplied in the request.

If the credentials are valid, the API further ensures that the user is authorized to access the requested resource, as indicated by the role of the user. There are two types of administrative users:. Provider administrators have full access to the functions of the API. These users can modify data objects associated with any VPN subscriber. Subscriber administrators can only access subscriber-specific operations, and only in the context of the VPN with which they are associated.

The VPN application includes a built-in provider administrator account named admin. You can use this account to create additional provider and subscriber administrator accounts. If security is enabled, client requests to the API must include the credentials of an administrator.

The credentials should be supplied in the form of HTTP headers named name and password. A request that contains valid credentials but for a resource for which the administrator does not have privileges returns a Forbidden error, as in the following example:. Note that the headers appear in HTTP requests in clear text. This may be acceptable in a test or evaluation system.

An operation can fail for various reasons. For instance, an object you are creating may reference an object that does not yet exist; the JSON body of a request may be malformed; or field data may not match the expected form. The error codes include:. The request body value is not correct. The response body contains detailed information about the error.

The administrator does not have permission to access this object. Such as an administrator for one VPN subscriber attempting to access settings for another. It can be used by multiple types of other objects in the VPN data model.

An access control rule defines a particular type of restriction on the use of the VPN service. In general, you use it to match a telephone number to a time-based or call-type restriction. For example, an access control rule can specify call blocking to a number at a particular time or for a particular call type. The type indicates the type of call to which the rule applies. Its value is an integer from 0 through 9, as follows:. The range value applies to type 0 or type 1 rules.

It indicates the phone number to which the rule applies. For type 1 rules single , the range should indicate the specific phone number to which the rule applies. For the rule to apply, the specified number must fully match the actual number. The timeSpan parameter specifies the time of day that the rule applies. It takes an integer value, from 0 through 3, as follows:. The VPN application determines whether a particular time is within working hours based on the working time specified in the worktimeID parameter for the subscriber.

The permit value determines the effect of a rule match on the call. If permit is true , the call is allowed, if false , the call is blocked.

The following access control item permits access for the phone number "" during working hours:. Client Application Design The specific functionality you choose to expose in the VPN self-management application depends on your specific requirements and those of your subscribers. Use cases for the subscriber application could include: View and modify the general subscriber settings, including numbering plan attributes.

Enable or disable particular features, such as private calling. Configure general roaming and home network policies for users and groups. Manage access control policies for the subscriber, such as duration controls. Add, modify, or remove closed user groups.

About the VPN Provisioning API