VoxAPI XML Documentation
If you want a fully detailed description of elements available through the API, you can have a look at the web service wsdl file.
For more readability, we removed the SOAP enveloppe of every XML request/response that are shown below.
List of Available methods:
1. GetCountriesList
2. GetStatesList
3. GetDIDGroupList
4. PlaceDIDsOrder
5. GetPurchaseInfoData
6. IsPurchaseInfoValid
7. CancelDID
8. MapDID
9. GetDIDsInfo
10. GetTrunkList
11. PlaceDIDsOnTrunk
12. RemoveDIDsFromTrunk
13. GetPOPList
14. UpdateDelivery
15. GetTollfreeCreditPackageList
16. PurchaseTollfreeCredit
17. GetOrderStatus
18. GetAccountBalance
1. GetCountriesList [up]
Description:
This method retrieve a list of countries covered by Voxbone.Parameters:
UserToken: Basic UserToken used for Authentication.Request:
Type: Specify for which Type of DIDs you want to retrieve the coverage. (GEOGRAPHIC, TOLLFREE, NATIONAL)
<vox:GetCountriesList xmlns:vox="http://www.voxbone.com/VoxAPI">
<vox:UserToken>
<vox:Username>login</vox:Username>
<vox:Key>key</vox:Key>
<vox:Hash>hash</vox:Hash>
</vox:UserToken>
<vox:Type>GEOGRAPHIC</vox:Type>
</vox:GetCountriesList>
Response:
<GetCountriesListResponse xmlns="http://www.voxbone.com/VoxAPI">
<ArrayOfCountries>
<Country>
<CountryID>10</CountryID>
<CountryName>ARGENTINA</CountryName>
<CodeA2>AR</CodeA2>
<CountryCode>54</CountryCode>
<HasStates>false</HasStates>
</Country>
<Country>
<CountryID>13</CountryID>
<CountryName>AUSTRALIA</CountryName>
<CodeA2>AU</CodeA2>
<CountryCode>61</CountryCode>
<HasStates>false</HasStates>
</Country>
<Country>
<CountryID>21</CountryID>
<CountryName>BELGIUM</CountryName>
<CodeA2>BE</CodeA2>
<CountryCode>32</CountryCode>
<HasStates>false</HasStates>
</Country>
<Country>
<CountryID>30</CountryID>
<CountryName>BRAZIL</CountryName>
<CodeA2>BR</CodeA2>
<CountryCode>55</CountryCode>
<HasStates>false</HasStates>
</Country>
<Country>
<CountryID>33</CountryID>
<CountryName>BULGARIA</CountryName>
<CodeA2>BG</CodeA2>
<CountryCode>359</CountryCode>
<HasStates>false</HasStates>
</Country>
<Country>
<CountryID>38</CountryID>
<CountryName>CANADA</CountryName>
<CodeA2>CA</CodeA2>
<CountryCode>1</CountryCode>
<HasStates>false</HasStates>
</Country>
.....
</ArrayOfCountries>
</GetCountriesListResponse>
2. GetStatesList [up]
Description:
This method retrieve a list of States for a specific CountryParameters:
UserToken: Basic UserToken used for Authentication.Request:
CountryID: Can be obtained by the GetCountriesList method, specify for which country you want the states list.
<vox:GetStatesList xmlns:vox="http://www.voxbone.com/VoxAPI">
<vox:UserToken>
<vox:Username>login</vox:Username>
<vox:Key>key</vox:Key>
<vox:Hash>hash</vox:Hash>
</vox:UserToken>
<vox:CountryID>225</vox:CountryID>
</vox:GetStatesList>
Response:
<GetStatesListResponse xmlns="http://www.voxbone.com/VoxAPI">
<ArrayOfStates>
<State>
<StateID>1</StateID>
<StateName>Alabama</StateName>
<CodeA2>AL</CodeA2>
</State>
<State>
<StateID>2</StateID>
<StateName>Alaska</StateName>
<CodeA2>AK</CodeA2>
</State>
<State>
<StateID>3</StateID>
<StateName>Arizona</StateName>
<CodeA2>AZ</CodeA2>
</State>
<State>
<StateID>4</StateID>
<StateName>Arkansas</StateName>
<CodeA2>AR</CodeA2>
</State>
<State>
<StateID>5</StateID>
<StateName>California</StateName>
<CodeA2>CA</CodeA2>
</State>
...
<ArrayOfStates>
</GetStatesListResponse>
3. GetDIDGroupList [up]
Description:
This method retrieve a list of DIDGroup ( area code ).Parameters:
UserToken: Basic UserToken used for Authentication.Request:
CountryID: Can be obtained by the GetCountriesList method, specify for which country you want the states list.
Filter:
- HideEmpty: DIDGroup with stock equals to 0 won't be returned
- StateID: Filter the DIDGroup
<vox:GetDIDGroupList xmlns:vox="http://www.voxbone.com/VoxAPI">
<vox:UserToken>
<vox:Username>login</vox:Username>
<vox:Key>key</vox:Key>
<vox:Hash>hash</vox:Hash>
</vox:UserToken>
<vox:CountryID>225</vox:CountryID>
<vox:Type>GEOGRAPHIC</vox:Type>
<!--Optional:-->
<vox:Filter>
<!--Optional:-->
<vox:HideEmpty>true</vox:HideEmpty>
<!--Optional:-->
<vox:StateID>3</vox:StateID>
</vox:Filter>
</vox:GetDIDGroupList>
Response:
<GetDIDGroupListResponse xmlns="http://www.voxbone.com/VoxAPI">
<ArrayOfDIDGroups>
<DIDGroup>
<DIDGroupID>5167</DIDGroupID>
<CountryName>UNITED STATES</CountryName>
<CityName>NOGALES</CityName>
<stock>98</stock>
<CountryCode>1</CountryCode>
<AreaCode>520</AreaCode>
<Setup100>700</Setup100>
<Monthly100>600</Monthly100>
<RequirePurchaseInfo>false</RequirePurchaseInfo>
</DIDGroup>
<DIDGroup>
<DIDGroupID>297</DIDGroupID>
<CountryName>UNITED STATES</CountryName>
<CityName>PHOENIX</CityName>
<stock>177</stock>
<CountryCode>1</CountryCode>
<AreaCode>480</AreaCode>
<Setup100>700</Setup100>
<Monthly100>600</Monthly100>
<RequirePurchaseInfo>false</RequirePurchaseInfo>
</DIDGroup>
<DIDGroup>
<DIDGroupID>4879</DIDGroupID>
<CountryName>UNITED STATES</CountryName>
<CityName>PRESCOTT</CityName>
<stock>98</stock>
<CountryCode>1</CountryCode>
<AreaCode>928</AreaCode>
<Setup100>700</Setup100>
<Monthly100>600</Monthly100>
<RequirePurchaseInfo>false</RequirePurchaseInfo>
</DIDGroup>
...
</ArrayOfDIDGroups>
</GetDIDGroupListResponse>
4. PlaceDIDsOrder [up]
Description:
Place a DID order.Parameters:
The purchased DIDs will use the default config specified in your user account.
UserToken: Basic UserToken used for Authentication.Request:
DIDGroupID: Can be obtained by the GetDIDGroupList method, specify for which DIDGroup you want to place an order.
Quantity: Define how many numbers you want from the specified DIDGroup.
AllowAsynchronous:
PurchaseInfo: Required in some countries by the regulation service. If the purchaseInfo is invalid, the order will be rejected.
- true: Place the order, even if there's not enough stock to fulfill it.
- false: If there's not enough stock to fulfill the order, the order will be rejected
<vox:PlaceDIDsOrder xmlns:vox="http://www.voxbone.com/VoxAPI">
<vox:UserToken>
<vox:Username>login</vox:Username>
<vox:Key>key</vox:Key>
<vox:Hash>hash</vox:Hash>
</vox:UserToken>
<vox:DIDGroupID>5686</vox:DIDGroupID>
<vox:Quantity>1</vox:Quantity>
<vox:AllowAsynchronous>false</vox:AllowAsynchronous>
<!--Optional:-->
<vox:PurchaseInfo>
<vox:Firstname>Vincent</vox:Firstname>
<vox:Lastname>Morsiani</vox:Lastname>
<vox:Company>voxbone</vox:Company>
<vox:Salutation>MR</vox:Salutation>
<vox:Street>a street</vox:Street>
<vox:BuildingNumber>21</vox:BuildingNumber>
<vox:City>Brussels</vox:City>
<vox:ZipCode>12345</vox:ZipCode>
<vox:CountryCodeA2>BE</vox:CountryCodeA2>
</vox:PurchaseInfo>
</vox:PlaceDIDsOrder>
Response:
<PlaceDIDsOrderResponse xmlns="http://www.voxbone.com/VoxAPI">
<OrderReference>987DS24238</OrderReference>
<Status>FULFILLED</Status>
<ArrayOfDIDs>
<DID>
<DIDsID>88210</DIDsID>
<DID>8080354</DID>
<E164>3228080354</E164>
<Type>GEOGRAPHIC</Type>
<CountryName>BELGIUM</CountryName>
<CountryCode>32</CountryCode>
<CityName>BRUSSELS</CityName>
<AreaCode>2</AreaCode>
<mapping>no forwarding</mapping>
<OrderReference>987DS24238</OrderReference>
<Channels>2</Channels>
<Delivery>BE</Delivery>
<TrunkID>-1</TrunkID>
</DID>
</ArrayOfDIDs>
</PlaceDIDsOrderResponse>
5. GetPurchaseInfoData [up]
Description:
Retrieve a list of Cities and their associated zip codes.Parameters:
This should be used to build the PurchaseInfo parameter.
UserToken: Basic UserToken used for Authentication.Request:
CountryCodeA2: Can be obtained by the GetCountriesList method, specify for which country you want to get the data.
AreaCode: Can be obtained by the GetDIDGroupList method, specify for which area code you want to get the data.
<vox:GetPurchaseInfoData xmlns:vox="http://www.voxbone.com/VoxAPI">
<vox:UserToken>
<vox:Username>login</vox:Username>
<vox:Key>key</vox:Key>
<vox:Hash>hash</vox:Hash>
</vox:UserToken>
<vox:CountryCodeA2>DE</vox:CountryCodeA2>
<vox:AreaCode>30</vox:AreaCode>
</vox:GetPurchaseInfoData>
Response:
<GetPurchaseInfoDataResponse xmlns="http://www.voxbone.com/VoxAPI">
<ArrayOfPurchaseInfoData>
<PurchaseInfoData>
<CityName>Königs Wusterhausen, Stadt</CityName>
<Zip>15701</Zip>
<Zip>15702</Zip>
<Zip>15703</Zip>
<Zip>15706</Zip>
<Zip>15707</Zip>
<Zip>15711</Zip>
</PurchaseInfoData>
<PurchaseInfoData>
<CityName>Schwanebeck</CityName>
<Zip>16341</Zip>
</PurchaseInfoData>
<PurchaseInfoData>
<CityName>Schöneiche b. Berlin</CityName>
<Zip>15563</Zip>
<Zip>15566</Zip>
</PurchaseInfoData>
<PurchaseInfoData>
<CityName>Hönow</CityName>
<Zip>15366</Zip>
</PurchaseInfoData>
...
</ArrayOfPurchaseInfoData>
</GetPurchaseInfoDataResponse>
6. IsPurchaseInfoValid [up]
Description:
Check if the provided PurchaseInfo is valid or notParameters:
UserToken: Basic UserToken used for Authentication.Request:
PurchaseInfo: PurchaseInfo providing information about the customer that is purchasing the DID
<vox:IsPurchaseInfoValid xmlns:vox="http://www.voxbone.com/VoxAPI">
<vox:UserToken>
<vox:Username>login</vox:Username>
<vox:Key>key</vox:Key>
<vox:Hash>hash</vox:Hash>
</vox:UserToken>
<vox:DIDGroupID>57</vox:DIDGroupID>
<vox:PurchaseInfo>
<vox:Firstname>Vincent</vox:Firstname>
<vox:Lastname>Morsiani</vox:Lastname>
<vox:Company>Voxbone</vox:Company>
<vox:Salutation>MR</vox:Salutation>
<vox:Street>a street</vox:Street>
<vox:BuildingNumber>1</vox:BuildingNumber>
<vox:City>Ahrensfelde</vox:City>
<vox:ZipCode>16356</vox:ZipCode>
<vox:CountryCodeA2>DE</vox:CountryCodeA2>
</vox:PurchaseInfo>
</vox:IsPurchaseInfoValid>
Response:
<IsPurchaseInfoValidResponse xmlns="http://www.voxbone.com/VoxAPI">
<Status>VALID</Status>
</IsPurchaseInfoValidResponse>
7. CancelDID [up]
Description:
Cancel your subscription for the specified DIDParameters:
UserToken: Basic UserToken used for Authentication.Request:
DIDsID: ID of the DID you want to cancel, can be obtained using the GetDIDsInfo method.
<vox:CancelDID xmlns:vox="http://www.voxbone.com/VoxAPI">
<vox:UserToken>
<vox:Username>login</vox:Username>
<vox:Key>key</vox:Key>
<vox:Hash>hash</vox:Hash>
</vox:UserToken>
<vox:DIDsID>88210</vox:DIDsID>
</vox:CancelDID>
Response:
<CancelDIDResponse xmlns="http://www.voxbone.com/VoxAPI">
<Canceled>true</Canceled>
</CancelDIDResponse>
8. MapDID [up]
Description:
Map the DID to a specified URI.Parameters:
If the URI doesn't exist, it will be automatically created.
UserToken: Basic UserToken used for Authentication.Request:
ArrayOfDIDsIDs: IDs of the DIDs you want to map to the specified URI.
Protocol: Specify which protocol should use the URI (SIP,IAX).
URI: The URI itself.
<vox:MapDID>
<vox:UserToken>
<vox:Username>login</vox:Username>
<vox:Key>key</vox:Key>
<vox:Hash>hash</vox:Hash>
</vox:UserToken>
<vox:ArrayOfDIDsIDs>
<!--1 or more repetitions:-->
<vox:DIDsID>88211</vox:DIDsID>
</vox:ArrayOfDIDsIDs>
<vox:Protocol>SIP</vox:Protocol>
<vox:URI>test@myuri.com</vox:URI>
</vox:MapDID>
Response:
No Response ( void )
9. GetDIDsInfo [up]
Description:
Retrieve information about DIDs.Parameters:
UserToken: Basic UserToken used for Authentication.Request:
Filter: If no filter is specified the method will return the list of ALL the DIDs you currently have.
- E164: Filter the list of DIDs based on the E164.
- OrderReference: Filter the list of DIDs based on the order reference
<vox:GetDIDsInfo xmlns:vox="http://www.voxbone.com/VoxAPI">
<vox:UserToken>
<vox:Username>login</vox:Username>
<vox:Key>key</vox:Key>
<vox:Hash>hash</vox:Hash>
</vox:UserToken>
;<!--Optional:-->
<vox:Filter>
<!--Optional:-->
<vox:E164>3228080355</vox:E164>
<!--Optional:-->
<vox:OrderReference>987DS24239</vox:OrderReference>
</vox:Filter>
</vox:GetDIDsInfo>
Response:
<GetDIDsInfoResponse xmlns="http://www.voxbone.com/VoxAPI">
<ArrayOfDIDs>
<DID>
<DIDsID>88211</DIDsID>
<DID>8080355</DID>
<E164>3228080355</E164>
<Type>GEOGRAPHIC</Type>
<CountryName>BELGIUM</CountryName>
<CountryCode>32</CountryCode>
<CityName>BRUSSELS</CityName>
<AreaCode>2</AreaCode>
<mapping>sip:test@myuri.com</mapping>
<OrderReference>987DS24239</OrderReference>
<Channels>2</Channels>
<Delivery>BE</Delivery>
<TrunkID>-1</TrunkID>
</DID>
</ArrayOfDIDs>
</GetDIDsInfoResponse>
10. GetTrunkList [up]
Description:
Retrieve a list of the trunks you currently own.Parameters:
UserToken: Basic UserToken used for Authentication.Request:
<vox:GetTrunkList xmlns:vox="http://www.voxbone.com/VoxAPI">
<vox:UserToken>
<vox:Username>login</vox:Username>
<vox:Key>key</vox:Key>
<vox:Hash>hash</vox:Hash>
</vox:UserToken>
</vox:GetTrunkList>
Response:
<GetTrunkListResponse xmlns="http://www.voxbone.com/VoxAPI">
<ArrayOfTrunks>
<Trunk>
<TrunkID>5</TrunkID>
<Zone>A</Zone>
<DIDsOnTrunk>138</DIDsOnTrunk>
<MaximumCapacity>30</MaximumCapacity>
</Trunk>
<Trunk>
<TrunkID>8</TrunkID>
<Zone>B</Zone>
<DIDsOnTrunk>51</DIDsOnTrunk>
<MaximumCapacity>30</MaximumCapacity>
</Trunk>
</ArrayOfTrunks>
</GetTrunkListResponse>
11. PlaceDIDsOnTrunk [up]
Description:
Place DIDs on a specific TrunkParameters:
UserToken: Basic UserToken used for Authentication.Request:
ArrayOfDIDsIDs: IDs of the DIDs you want to map to the specified URI.
TrunkID: The TrunkID can be obtained using the GetTrunkList method.
<vox:PlaceDIDsOnTrunk xmlns:vox="http://www.voxbone.com/VoxAPI">
<vox:UserToken>
<vox:Username>login</vox:Username>
<vox:Key>key</vox:Key>
<vox:Hash>hash</vox:Hash>
</vox:UserToken>
<vox:ArrayOfDIDsIDs>
<!--1 or more repetitions:-->
<vox:DIDsID>53867</vox:DIDsID>
</vox:ArrayOfDIDsIDs>
<vox:TrunkID>182</vox:TrunkID>
</vox:PlaceDIDsOnTrunk>
Response:
No Response ( void )
12. RemoveDIDsFromTrunk [up]
Description:
Remove DIDs from the specified trunk.Parameters:
UserToken: Basic UserToken used for Authentication.Request:
ArrayOfDIDsIDs: IDs of the DIDs you want to map to the specified URI.
TrunkID: The TrunkID can be obtained using the GetTrunkList method.
<vox:RemoveDIDsFromTrunk xmlns:vox="http://www.voxbone.com/VoxAPI">
<vox:UserToken>
<vox:Username>login</vox:Username>
<vox:Key>key</vox:Key>
<vox:Hash>hash</vox:Hash>
</vox:UserToken>
<vox:ArrayOfDIDsIDs>
<!--1 or more repetitions:-->
<vox:DIDsID>53867</vox:DIDsID>
</vox:ArrayOfDIDsIDs>
</vox:RemoveDIDsFromTrunk>
Response:
No Response ( void )
13. GetPOPList [up]
Description:
Retrieve the list of available POPs and their associated IP addresses.Parameters:
UserToken: Basic UserToken used for Authentication.Request:
<vox:GetPOPList xmlns:vox="http://www.voxbone.com/VoxAPI">
<vox:UserToken>
<vox:Username>login</vox:Username>
<vox:Key>key</vox:Key>
<vox:Hash>hash</vox:Hash>
</vox:UserToken>
</vox:GetPOPList>
Response:
<GetPOPListResponse xmlns="http://www.voxbone.com/VoxAPI">
<ArrayOfPOPs>
<POP>
<DeliveryID>7</DeliveryID>
<Name>BE</Name>
<ArrayOfIPs>
<IP>81.201.82.21</IP>
<IP>81.201.82.22</IP>
<IP>81.201.82.23</IP>
<IP>81.201.82.24</IP>
...
</ArrayOfIPs>
</POP>
<POP>
<DeliveryID>9</DeliveryID>
<Name>US</Name>
<ArrayOfIPs>
<IP>81.201.84.21</IP>
<IP>81.201.84.22</IP>
<IP>81.201.84.23</IP>
<IP>81.201.84.24</IP>
...
</ArrayOfIPs>
</POP>
</ArrayOfPOPs>
</GetPOPListResponse>
14. UpdateDelivery [up]
Description:
Update the DIDs delivery to a specific POPParameters:
UserToken: Basic UserToken used for Authentication.Request:
DeliveryID: Specify to which POP you want to move the DIDs. can be obtained using the GetPOPList method.
ArrayOfDIDsIDs: IDs of the DIDs you want to map to the specified URI.
<vox:UpdateDelivery xmlns:vox="http://www.voxbone.com/VoxAPI">
<vox:UserToken>
<vox:Username>wanna</vox:Username>
<vox:Key>key</vox:Key>
<vox:Hash>hash</vox:Hash>
</vox:UserToken>
<vox:DeliveryID>9</vox:DeliveryID>
<vox:ArrayOfDIDsIDs>
<!--1 or more repetitions:-->
<vox:DIDsID>53867</vox:DIDsID>
</vox:ArrayOfDIDsIDs>
</vox:UpdateDelivery>
Response:
No Response ( void )
15. GetTollfreeCreditPackageList [up]
Description:
Retrieve the list of Tollfree credit package available for purchaseParameters:
UserToken: Basic UserToken used for Authentication.Request:
<vox:GetTollfreeCreditPackageList xmlns:vox="http://www.voxbone.com/VoxAPI">
<vox:UserToken>
<vox:Username>wanna</vox:Username>
<vox:Key>key</vox:Key>
<vox:Hash>hash</vox:Hash>
</vox:UserToken>
</vox:GetTollfreeCreditPackageList>
Response:
<GetTollfreeCreditPackageListResponse xmlns="http://www.voxbone.com/VoxAPI">
<ArrayOfTollfreeCreditPackages>
<CreditPackage>
<TollfreeCreditPackageID>1</TollfreeCreditPackageID>
<Name>voxCredit100</Name>
<Price100>10000</Price100>
</CreditPackage>
</ArrayOfTollfreeCreditPackages>
</GetTollfreeCreditPackageListResponse>
16. PurchaseTollfreeCredit [up]
Description:
Place an order for a specific Tollfree Credit PackageParameters:
UserToken: Basic UserToken used for Authentication.Request:
TollfreeCreditPackageID: specify for which CreditPackage you want to place an order. can be obtained using the GetTollfreeCreditPackageList method
Quantity: Define how many numbers you want from the specified DIDGroup.
 <vox:PurchaseTollfreeCredit xmlns:vox="http://www.voxbone.com/VoxAPI">
<vox:UserToken>
<vox:Username>wanna</vox:Username>
<vox:Key>key</vox:Key>
<vox:Hash>hash</vox:Hash>
</vox:UserToken>
<vox:TollfreeCreditPackageID>1</vox:TollfreeCreditPackageID>
<vox:Quantity>1</vox:Quantity>
</vox:PurchaseTollfreeCredit>
Response:
<PurchaseTollfreeCreditResponse xmlns="http://www.voxbone.com/VoxAPI">
<OrderReference>987PC24321</OrderReference>
<OrderStatus>FULFILLED</OrderStatus>
</PurchaseTollfreeCreditResponse>
17. GetOrderStatus [up]
Description:
Check the status of a specific order based on its reference.Parameters:
UserToken: Basic UserToken used for Authentication.Request:
OrderReference: Specify for which order you want to check the status.
<vox:GetOrderStatus xmlns:vox="http://www.voxbone.com/VoxAPI">
<vox:UserToken>
<vox:Username>login</vox:Username>
<vox:Key>key</vox:Key>
<vox:Hash>hash</vox:Hash>
</vox:UserToken>
<vox:OrderReference>987DS24316</vox:OrderReference>
</vox:GetOrderStatus>
Response:
<GetOrderStatusResponse xmlns="http://www.voxbone.com/VoxAPI">
<OrderReference>987DS24316</OrderReference>
<Status>FULFILLED</Status>
</GetOrderStatusResponse>
18. GetAccountBalance [up]
Description:
Retrieve the current balance of your Voxbone prepaid account.Parameters:
UserToken: Basic UserToken used for Authentication.Request:
<vox:GetAccountBalance xmlns:vox="http://www.voxbone.com/VoxAPI">
<vox:UserToken>
<vox:Username>wanna</vox:Username>
<vox:Key>?</vox:Key>
<vox:Hash>?</vox:Hash>
</vox:UserToken>
</vox:GetAccountBalance>
Response:
<GetAccountBalanceResponse xmlns="http://www.voxbone.com/VoxAPI">
<Balance>9999628.53</Balance>
<Threshold>10000.0</Threshold>
<Currency>EUR</Currency>
<IsActive>true</IsActive>
</GetAccountBalanceResponse>