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.
| 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.
{ "names": [ { "language": "da", "text": "Tyskland" }, { "language": "en", "text": "Germany" } ], "fixed": { "customerFee": 0.2, "customerRate": 0.3 } }
| 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.
{ "_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 } }
| 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> |