User Tools

Site Tools


api:destination:list

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

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki