User Tools

Site Tools


api:destination:create

API : Destination Create

Introduction

This request will create a new destination.

A destination consists of the prefixes (e.g. +4677 and +4674 for Swedish high-rated numbers) that is the beginning of the number you dial to get to a number in that destination, the country it belongs to, the type of numbers that the destination holds (landline, mobile, special, free) and the connection fee and rates for calling a number in the destination.

Request

URL https://api.telecomx.dk/destination
Method POST
Access level RESELLER_ADMIN with FINANCE feature, or ADMIN
Body _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.
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
region String The region the country belongs to: HOMELAND, EU_NORDIC, REST_OF_EUROPE, WORLD1, WORLD2, WORLD3.
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

Request body example

{
  _id: 'DE',
  prefix: '+49',
  names: 
  [
    {
      language: 'DA',
      text: 'Danmark'
    },
    {
      language: 'EN',
      text: 'Denmark'
    }
  ],
  image: ObjectId('1234567890ABCD1234567890'),
  region: 'EU_NORDIC',
  roamingRegion: {
    tdc: ObjectID('1234567890ABCD1234567890'),
    telenor: ObjectID('12345678901234567890')
  },
  region: 'EU_NORDIC',
  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
  }
}

Response

JSON object
_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.
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
region String The region the country belongs to: HOMELAND, EU_NORDIC, REST_OF_EUROPE, WORLD1, WORLD2, WORLD3.
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.

Example

{
  _id: 'DE',
  prefix: '+49',
  names: 
  [
    {
      language: 'DA',
      text: 'Danmark'
    },
    {
      language: 'EN',
      text: 'Denmark'
    }
  ],
  image: ObjectId('1234567890ABCD1234567890'),
  roamingRegion: {
    tdc: ObjectID('1234567890ABCD1234567890'),
    telenor: ObjectID('12345678901234567890')
  },
  region: 'EU_NORDIC',
  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
400 bad_request Destination not found in body of request
422 _id Country code is not valid
422 prefix Prefix is invalid
422 region Region is not valid
404 breakouts Breakouts is missing
422 fixed.wholesaleFee WholesaleFee is not valid
422 fixed.wholesaleRate WholesaleRate is not valid
422 fixed.customerFee CustomerFee is not valid
422 fixed.customerRate CustomerRate is not valid
422 mobile.wholesaleFee WholesaleFee is not valid
422 mobile.wholesaleRate WholesaleRate is not valid
422 mobile.customerFee CustomerFee is not valid
422 mobile.customerRate CustomerRate is not valid
422 special.wholesaleFee WholesaleFee is not valid
422 special.wholesaleRate WholesaleRate is not valid
422 special.customerFee CustomerFee is not valid
422 special.customerRate CustomerRate is not valid
409 breakouts.prefix Breakout prefix XXX is listed multiple times
409 breakouts.prefix Breakout prefix XXX cannot exist within prefix YYY
422 breakouts.type Breakout type XXX is invalid
409 breakouts.type Breakout type XXX is listed multiple times
422 breakouts.cost.<provider>.fee Cost fee is invalid
422 breakouts.cost.<provider>.rate Rate is invalid
422 breakouts.cost Cost is invalid
404 breakouts All required types of breakouts not found
404 image Image not found
409 _id Country code already in use
409 breakouts.prefix One or more prefixes is in use by another destination
403 access_denied Insufficient access level
500 internal_error <Unspecified>
api/destination/create.txt · Last modified: 2023/10/30 21:14 by Per Møller

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki