API : Roaming : Region Update
Introduction
This request will create a single roaming region.
Request
Query examples
https://api.telecomx.dk/roaming/region/1234567890ABCD1234567890
https://api.telecomx.dk/roaming/region/8234567890ABCD1234567890
Request body
| Field | Type | Description |
| names | Array | List of names, used for localization |
| names[].language | String | ISO 639-2 language code (three letter) |
| names[].text | String | The localization |
| network | String | Which network this region belongs to. Allowed values are TELENOR, TDC. |
| roamLikeHome | Boolean | Whether this region allows roam like home - for now, only used for EU countries. |
| homeland | Boolean | Whether this region is a “homeland” region. For now it's only used for Denmark. |
| notes | String | Notes if necessary |
| sms | Object | SMS properties |
| sms.cost | Number | Cost price for SMS's in this region |
| sms.wholesale | Number | Wholesale price for SMS's in this region |
| sms.price | Number | Customer price for SMS's in this region |
| data | Object | Data properties |
| data.cost | Number | Cost price per megabyte data usage in this region |
| data.wholesale | Number | Wholesale price per megabyte data usage in this region |
| data.price | Number | Customer price per megabyte data usage in this region |
| voice | Object | Voice properties |
| voice.inbound | Object | Inbound voice properties |
| voice.inbound.connectionFeeCost | Number | Cost price for receiving a call from this region |
| voice.inbound.connectionFeeWholesale | Number | Wholesale price for receiving a call from this region |
| voice.inbound.connectionFee | Number | Customer price for receiving a call from this region |
| voice.inbound.rateCost | Number | Cost price for per minute, when receiving a call from this region |
| voice.inbound.rateWholesale | Number | Wholesale price for per minute, when receiving a call from this region |
| voice.inbound.rate | Number | Customer price for per minute, when receiving a call from this region |
| voice.outbound | Array | List of regions, with the prices for calling them. |
| voice.outbound[]._id | ObjectId | ID of region |
| voice.outbound[].connectionFeeCost | Number | Cost price for starting a call to this region |
| voice.outbound[].connectionFeeWholesale | Number | Wholesale price for starting a call to this region |
| voice.outbound[].connectionFee | Number | Customer price for starting a call to this region |
| voice.outbound[].rateCost | Number | Cost price for per minute, when calling this region |
| voice.outbound[].rateWholesale | Number | Wholesale price for per minute, when calling this region |
| voice.outbound[].rate | Number | Customer price for per minute, when receiving a call from this region |
Request body example
{
names: [
{
language: 'dan',
text: 'EU & Vest-Europa'
},
{
language: 'eng',
text: 'EU & Western Europe'
}
],
network: 'TELENOR',
roamLikeHome: true,
homeland: false,
notes: 'This region is for all EU and EEA countries, including Switzerland, Norway, Iceland, and Lichenstein'
sms: {
cost: 0.05,
wholesale: 0.06,
price: 0.07
},
data: {
cost: 0.078,
wholesale: 0.082,
price: 0.09
},
voice: {
inbound: {
connectionFeeCost: 0.1,
connectionFeeWholesale: 0.2,
connectionFee: 0.025,
rateCost: 0.1,
rateWholesale: 0.15,
rate: 0.18
},
outbound: [
{
_id: ObjectID('2234567890ABCD123456789'),
connectionFeeCost: 0.15,
connectionFeeWholesale: 0.19,
connectionFee: 0.21
rateCost: 0.1,
rateWholesale: 0.15,
rate: 0.18
},
{
_id: ObjectID('3234567890ABCD123456789'),
connectionFeeCost: 0.21,
connectionFeeWholesale: 0.22,
connectionFee: 0.24
rateCost: 0.17,
rateWholesale: 0.20,
rate: 0.26
},
{
...
}
]
}
}
Response
| Field | Type | Description |
| _id | ObjectID | Id |
| names | Array | List of names, used for localization |
| names[].language | String | ISO 639-2 language code (three letter) |
| names[].text | String | The localization |
| network | String | Which network this region belongs to. Allowed values are TELENOR, TDC. |
| roamLikeHome | Boolean | Whether this region allows roam like home - for now, only used for EU countries. |
| notes | String | Notes if necessary |
| sms | Object | SMS properties |
| sms.cost | Number | Cost price for SMS's in this region |
| sms.wholesale | Number | Wholesale price for SMS's in this region |
| sms.price | Number | Customer price for SMS's in this region |
| data | Object | Data properties |
| data.cost | Number | Cost price per megabyte data usage in this region |
| data.wholesale | Number | Wholesale price per megabyte data usage in this region |
| data.price | Number | Customer price per megabyte data usage in this region |
| voice | Object | Voice properties |
| voice.inbound | Object | Inbound voice properties |
| voice.inbound.connectionFeeCost | Number | Cost price for receiving a call from this region |
| voice.inbound.connectionFeeWholesale | Number | Wholesale price for receiving a call from this region |
| voice.inbound.connectionFee | Number | Customer price for receiving a call from this region |
| voice.inbound.rateCost | Number | Cost price for per minute, when receiving a call from this region |
| voice.inbound.rateWholesale | Number | Wholesale price for per minute, when receiving a call from this region |
| voice.inbound.rate | Number | Customer price for per minute, when receiving a call from this region |
| voice.outbound | Array | List of regions, with the prices for calling them. |
| voice.outbound[]._id | ObjectId | ID of region |
| voice.outbound[].connectionFeeCost | Number | Cost price for starting a call to this region |
| voice.outbound[].connectionFeeWholesale | Number | Wholesale price for starting a call to this region |
| voice.outbound[].connectionFee | Number | Customer price for starting a call to this region |
| voice.outbound[].rateCost | Number | Cost price for per minute, when calling this region |
| voice.outbound[].rateWholesale | Number | Wholesale price for per minute, when calling this region |
| voice.outbound[].rate | Number | Customer price for per minute, when receiving a call from this region |
Example
{
_id: ObjectID('1234567890ABCDEF12345678'),
names: [
{
language: 'dan',
text: 'EU & Vest-Europa'
},
{
language: 'eng',
text: 'EU & Western Europe'
}
],
network: 'TELENOR',
roamLikeHome: true,
notes: 'This region is for all EU and EEA countries, including Switzerland, Norway, Iceland, and Lichenstein'
sms: {
cost: 0.05,
wholesale: 0.06,
price: 0.07
},
data: {
cost: 0.078,
wholesale: 0.082,
price: 0.09
},
voice: {
inbound: {
connectionFeeCost: 0.1,
connectionFeeWholesale: 0.2,
connectionFee: 0.025,
rateCost: 0.1,
rateWholesale: 0.15,
rate: 0.18
},
outbound: [
{
_id: ObjectID('2234567890ABCD123456789'),
connectionFeeCost: 0.15,
connectionFeeWholesale: 0.19,
connectionFee: 0.21
rateCost: 0.1,
rateWholesale: 0.15,
rate: 0.18
},
{
_id: ObjectID('3234567890ABCD123456789'),
connectionFeeCost: 0.21,
connectionFeeWholesale: 0.22,
connectionFee: 0.24
rateCost: 0.17,
rateWholesale: 0.20,
rate: 0.26
},
{
...
}
]
}
}
Errors
| Error code | Message | Description |
| 403 | access_denied | Insufficient access level |
| 422 | names.language | Only one localisation per language is allowed |
| 422 | roamLikeHome | There is already a region for the given network, that has “roamLikeHome” set to true. |
| 422 | homeland_roamLikeHome | A region cannot both have “roamLikeHome” and “homeland” set to true |
| 500 | internal_error | <Unspecified> |