Table of Contents

API : Destination Update

Introduction

This request will update an existing 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/COUNTRY_CODE
Method POST
Access level RESELLER_ADMIN with FINANCE feature, or ADMIN
Param COUNTRY_CODE 2-Char ISO3166 country code.
Body region String The region the country belongs to: HOMELAND, EU_NORDIC, REST_OF_EUROPE, WORLD1, WORLD2, WORLD3.
:::: image ObjectId Image Id
names Array List of names, used for localization
names[].language String ISO 639-1 language code: 'da' or 'en'
names[].text String The localization of the name, 2-50 characters.
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”. Both keys are required when the object is sent.
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.
breakouts[].cost.<PeerId> Object Cost prices for one peer, keyed by peer id: TELENOR, SUPERTEL or TDC.
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
fixed.customerFee Number Connection fee for customer
fixed.wholesaleRate Number Pr. minute rate for reseller
fixed.customerRate Number Pr. minute rate for customer
mobile Object prices for mobile destinations
mobile.wholesaleFee Number Connection fee for reseller
mobile.customerFee Number Connection fee for customer
mobile.wholesaleRate Number Pr. minute rate for reseller
mobile.customerRate Number Pr. minute rate for customer
special Object prices for special destinations
special.wholesaleFee Number Connection fee for reseller
special.customerFee Number Connection fee for customer
special.wholesaleRate Number Pr. minute rate for reseller
special.customerRate Number Pr. minute rate for customer

Only the fields present in the body are updated. The fixed/mobile/special sections are merged pr. field, so a price omitted from a sent section keeps its stored value.

Request body example

{
  "names": [
    { "language": "da", "text": "Tyskland" },
    { "language": "en", "text": "Germany" }
  ],
  "fixed": {
    "customerFee": 0.2,
    "customerRate": 0.3
  }
}

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: 'da' or 'en'
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.
breakouts[].cost.<PeerId> Object Cost prices for one peer, keyed by peer id: TELENOR, SUPERTEL or TDC.
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
fixed.customerFee Number Connection fee for customer
fixed.wholesaleRate Number Pr. minute rate for reseller
fixed.customerRate Number Pr. minute rate for customer
mobile Object prices for mobile destinations
mobile.wholesaleFee Number Connection fee for reseller
mobile.customerFee Number Connection fee for customer
mobile.wholesaleRate Number Pr. minute rate for reseller
mobile.customerRate Number Pr. minute rate for customer
special Object prices for special destinations
special.wholesaleFee Number Connection fee for reseller
special.customerFee Number Connection fee for customer
special.wholesaleRate Number Pr. minute rate for reseller
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",
  "image": "650000000000000000000001",
  "names": [
    { "language": "da", "text": "Tyskland" },
    { "language": "en", "text": "Germany" }
  ],
  "region": "EU_NORDIC",
  "roamingRegion": {
    "tdc": "650000000000000000000002",
    "telenor": "650000000000000000000003"
  },
  "breakouts": [
    {
      "prefix": [ "+4915", "+49151", "+49152", "+49160", "+49170" ],
      "type": "MOBILE",
      "cost": {
        "TELENOR": { "fee": 0.02, "rate": 0.1795 },
        "TDC": { "fee": 0, "rate": 0.2931 },
        "SUPERTEL": { "fee": 0, "rate": 0.161, "rates": [ 0.1523, 0.161 ] }
      }
    },
    {
      "prefix": [ "+49", "+4930", "+4940" ],
      "type": "FIXED",
      "cost": {
        "TELENOR": { "fee": 0.02, "rate": 0.0955 },
        "TDC": { "fee": 0, "rate": 0.4266 },
        "SUPERTEL": { "fee": 0, "rate": 0.0647, "rates": [ 0.055, 0.0647 ] }
      }
    },
    {
      "prefix": [ "+49700", "+49701" ],
      "type": "SPECIAL",
      "cost": {
        "TELENOR": { "fee": 0.2, "rate": 0.1975 },
        "TDC": { "fee": 0, "rate": 0.18 }
      }
    }
  ],
  "fixed": {
    "wholesaleFee": 0.1,
    "wholesaleRate": 0.15,
    "customerFee": 0.2,
    "customerRate": 0.3
  },
  "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
422 id Country code is not valid
400 bad_request Destination not found in body of request
404 not_found Destination not found
422 region Region is not valid
422 image Image id is not valid
422 names.language Language is not valid
422 names.text Name is not valid
422 roamingRegion.<provider> Roaming region id is not valid
422 breakouts.prefix Breakout prefix XXX is listed multiple times
422 breakouts.prefix Breakout prefix XXX must start with YYY
422 breakouts.type Breakout type XXX is listed multiple times
422 breakouts.cost.<PeerId>.fee Cost fee is not valid
422 breakouts.cost.<PeerId>.rate Cost rate is not valid
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 One or more prefixes is in use by another destination
403 access_denied Insufficient access level
500 internal_error <Unspecified>