api:destination:list
Table of Contents
API : Destination List
Introduction
This request will return a list of destinations.
Destinations and their prices are common for all customers, but a reseller may create one or more SIP or MVNO rateplan products where specific destinations are overriden. The prices presented in this list will include the overrides, if a product which may contain overrides is specified.
Request
| URL | https://api.telecomx.dk/destination | |
|---|---|---|
| Method | GET | |
| Access level | VIEWER, MANAGER, OWNER, RESELLER, RESELLER_ADMIN, ADMIN. | |
| Query | prefix | [optional] Prefix or whole phone number that the destinations must be valid for. Must always start with +<country-code>, (e.g. +4531). Ignored if not valid. |
| country | [optional] Country that the destinations must belong to, ISO3166 2-char country codes. Ignored if not valid. |
|
| type | [optional] Type of destination: FIXED - normal landline and IP numbers. MOBILE - mobile phones. SPECIAL - special service numbers and other high-rated numbers such as satellite phones. |
|
| region | [optional] Voice region the destinations belongs to: HOMELAND - Denmark EU_NORDIC - EU and nordic countries REST_OF_EUROPE - rest of Europe + Thailand WORLD1 - USA, Canada, Puerto Rico WORLD2 - World region 2 WORLD3 - World region 3 |
|
| offset | [optional] Index of the first destination to return, default 0. |
|
| limit | [optional] The number of destinations to return, default 100, min 1, max 500. |
|
| full | [optional] If true, complete destination objects will be returned instead of the condensed versions. |
|
| product | [optional] A product which may contain overrides. If so they are merged into the result. |
|
| format | [optional] Can be either 'csv' or 'json'. Defaults to json. |
|
Query examples
https://api.telecomx.dk/destination https://api.telecomx.dk/destination?prefix=+462 https://api.telecomx.dk/destination?country=DE&type=MOBILE https://api.telecomx.dk/destination?region=EU_NORDIC https://api.telecomx.dk/destination?country=US&type=MOBILE&offset=50&limit=100&full=true https://api.telecomx.dk/destination?country=US&type=MOBILE&offset=50&limit=100&full=true&format=csv
Response
| JSON object | |
|---|---|
| offset | Index of the first destination returned. |
| limit | Number of destinations to return. Note that the actual number of destinations returned may be lower. |
| total | Number of destinations that can be returned when offset and limit is not considered. This is to be used for paging through the data. |
| destinations | Array of destinations, see definition below. |
| Destination object (JSON) | ||
|---|---|---|
| _id | String | ISO3166 2-char uppercase country code. |
| prefix | String | Prefix for the country, e.g. +45. |
| image | ObjectId | Image Id |
| names | Array | List of names, used for localization |
| names[].language | String | ISO 639-1 language code |
| names[].text | String | The localization of the name. |
| region | String | Voice region the country belongs to: HOMELAND, EU_NORDIC, REST_OF_EUROPE, WORLD1, WORLD2, WORLD3 |
| roamingRegion | Object | Roaming region the country belongs to, depending on mobile network. The key is the provider ID, and the value is the region. Keys can be “telenor”, or “tdc” |
| roamingRegion.<provider> | ObjectId | ID of roaming region |
| fixed | Object | prices for fixed destinations |
| fixed.costFee | Number | Connection fee cost (ADMIN only) |
| fixed.costRate | Number | Pr. minute rate cost (ADMIN only) |
| fixed.wholesaleFee | Number | Connection fee for reseller (RESELLER/ADMIN only) |
| fixed.customerFee | Number | Connection fee for customer |
| fixed.wholesaleRate | Number | Pr. minute rate for reseller (RESELLER/ADMIN only) |
| fixed.customerRate | Number | Pr. minute rate for customer |
| mobile | Object | prices for mobile destinations |
| mobile.costFee | Number | Connection fee cost (ADMIN only) |
| mobile.costRate | Number | Pr. minute rate cost (ADMIN only) |
| mobile.wholesaleFee | Number | Connection fee for reseller (RESELLER/ADMIN only) |
| mobile.customerFee | Number | Connection fee for customer |
| mobile.wholesaleRate | Number | Pr. minute rate for reseller (RESELLER/ADMIN only) |
| mobile.customerRate | Number | Pr. minute rate for customer |
| special | Object | prices for fixed destinations |
| special.costFee | Number | Connection fee cost (ADMIN only) |
| special.costRate | Number | Pr. minute rate cost (ADMIN only) |
| special.wholesaleFee | Number | Connection fee for reseller (RESELLER/ADMIN only) |
| special.customerFee | Number | Connection fee for customer |
| special.wholesaleRate | Number | Pr. minute rate for reseller (RESELLER/ADMIN only) |
| special.customerRate | Number | Pr. minute rate for customer |
| Destination object if full=true (JSON) | ||
|---|---|---|
| _id | String | ISO3166 2-char uppercase country code. |
| prefix | String | Prefix for the country, e.g. +45. |
| image | ObjectId | Image Id |
| names | Array | List of names, used for localization |
| names[].language | String | ISO 639-1 language code |
| names[].text | String | The localization of the name. |
| region | String | Voice region the country belongs to: HOMELAND, EU_NORDIC, REST_OF_EUROPE, WORLD1, WORLD2, WORLD3 |
| roamingRegion | Object | Roaming region the country belongs to, depending on mobile network. The key is the provider ID, and the value is the region. Keys can be “telenor”, or “tdc” |
| roamingRegion.<provider> | ObjectId | ID of roaming region |
| breakouts | Array | List of breakouts within a country, with prefix, type, fee-cost, fee-rate |
| breakouts[].prefix | Array | Array of strings, which is the prefixes, that this destination/type covers |
| breakouts[].type | String | FIXED, MOBILE, SPECIAL |
| breakouts[].cost | Object | Cost prices for each peer (ADMIN only). |
| breakouts[].cost.<PeerId> | String | Id of peer the cost prices applies to. |
| breakouts[].cost.<PeerId>.fee | Number | Connection fee cost. |
| breakouts[].cost.<PeerId>.rate | Number | Pr. minute cost. |
| breakouts[].cost.<PeerId>.rates | Array | List of cost rates for the prefixes in this breakout. |
| fixed | Object | prices for fixed destinations |
| fixed.wholesaleFee | Number | Connection fee for reseller (RESELLER/ADMIN only) |
| fixed.customerFee | Number | Connection fee for customer |
| fixed.wholesaleRate | Number | Pr. minute rate for reseller (RESELLER/ADMIN only) |
| fixed.customerRate | Number | Pr. minute rate for customer |
| mobile | Object | prices for mobile destinations |
| mobile.wholesaleFee | Number | Connection fee for reseller (RESELLER/ADMIN only) |
| mobile.customerFee | Number | Connection fee for customer |
| mobile.wholesaleRate | Number | Pr. minute rate for reseller (RESELLER/ADMIN only) |
| mobile.customerRate | Number | Pr. minute rate for customer |
| special | Object | prices for fixed destinations |
| special.wholesaleFee | Number | Connection fee for reseller (RESELLER/ADMIN only) |
| special.customerFee | Number | Connection fee for customer |
| special.wholesaleRate | Number | Pr. minute rate for reseller (RESELLER/ADMIN only) |
| special.customerRate | Number | Pr. minute rate for customer |
Note that properties holding no value may be omitted from the object.
Response examples
Normal condensed
{ offset: 100, limit: 50, total: 999, destinations: [ { _id: 'DE', prefix: '+49', image: ObjectID('1234567890ABCD1234567890'), names: [ { language: 'DA', text: 'Danmark' }, { language: 'EN', text: 'Denmark' } ], region: 'EU_NORDIC', roamingRegion: { tdc: ObjectID('1234567890ABCD1234567890'), telenor: ObjectID'12345678901234567890') }, fixed: { wholesaleFee: 0.1, wholesaleRate: 0.15, customerFee: 0.2, customerRate: 0.25 }, mobile: { wholesaleFee: 0.1, wholesaleRate: 0.5, customerFee: 0.2, customerRate: 0.75 }, special: { wholesaleFee: 0.2, wholesaleRate: 0.5, customerFee: 0.2, customerRate: 0.6 } }, { ... } ] }
Full
{ offset: 100, limit: 50, total: 999, destinations: [ { _id: 'DE', prefix: '+49', image: ObjectId('1234567890ABCD1234567890'), region: 'EU_NORDIC', names: [ { language: 'DA', text: 'Danmark' }, { language: 'EN', text: 'Denmark' } ], roamingRegion: { tdc: ObjectID('1234567890ABCD1234567890'), telenor: ObjectID'12345678901234567890') }, breakouts: [ { prefix: [ '+4915', '+49151', '+49152', '+491521', '+49155', '+49157', '+49159', '+4916', '+49160', '+49162', '+49163', '+49170', '+49171', '+49172', '+49173', '+49174', '+49175', '+49176', '+49177', '+49178', '+49179' ], type: 'MOBILE', cost: { TELENOR: { fee: 0.02, rate: 0.1795, rates: [ 0.1795 ] }, TDC: { fee: 0, rate: 0.2931, rates: [ 0.1523, 0.1629, 0.1695, 0.2931 ] } } }, { prefix: [ '+49', '+49164', '+491672', '+49168' ], type: 'FIXED', cost: { TELENOR: { fee: 0.02, rate: 0.0955, rates : [ 0.055, 0.0955 ] }, TDC: { fee: 0, rate: 0.4266, rates: [ 0.0647, 0.4266 ] } } }, { prefix: [ '+49700', '+49701' ], type: 'SPECIAL', cost: { TELENOR: { rate: 0.1975, fee: 0.2 }, TDC: { rate: 0.18, fee: 0 } } } ], fixed: { wholesaleFee: 0.1, wholesaleRate: 0.15, customerFee: 0.2, customerRate: 0.25 }, mobile: { wholesaleFee: 0.1, wholesaleRate: 0.5, customerFee: 0.2, customerRate: 0.75 }, special: { wholesaleFee: 0.2, wholesaleRate: 0.5, customerFee: 0.2, customerRate: 0.6 } }, { ... } ] }
Errors
| Error code | Message | Description |
|---|---|---|
| 403 | access_denied | Insufficient access level |
| 500 | internal_error | <Unspecified> |
api/destination/list.txt · Last modified: 2023/10/30 21:13 by Per Møller