api:product:list
Table of Contents
API : Product List
Introduction
This request will return the list of products.
The platform works with 3 levels of products:
- Master products - These are ADMIN defined base products that defines all the details of a product. A master product cannot be assigned to a customer but must be inherited by a reseller product. A master product can be inherited multiple times.
- Reseller products - A product that is inherited from a master product and on which the reseller can control the name, product code, price and if the product may only be applied by the reseller or also the customer.
- Customer products - A product that is inherited from a reseller product and on which the reseller can control the price. The customer product allows resellers to customize prices for individual customers.
Depending on access level, the user will have access to different product sets:
- MANAGER & OWNER - will always see the products of their parent reseller that can be used, but not those that can only be applied by the reseller
- RESELLER - will by default see her own products that can be used, but can use the master flag to instead see master product that she can use to create new products from
- ADMIN - Can see all, but default to own products similar to the reseller
Product types
Products have a common set of properties, and in addition some have their own specific properties according to the type of product:
| Type | Usage |
|---|---|
| SIP_RATEPLAN | Rate/subscription/priceplan for SIP accounts |
| MVNO_RATEPLAN | Rate/subscription/priceplan for MVNO accounts |
| DSL | Price and speed settings for xDSL connections |
| FIBER | Default price for Fiber connections |
| NUMBER_RENT | Number fee pr. number on the platform |
| DNS | Domain DNS hosting fee |
| PBX_EXTENSION | For PBX extensions |
| PBX_SIP_PHONE | For SIP phones |
| PBX_USER | Can be applied to Employees. This product can include other type of products (types PBX_SIP_PHONE, PBX_EXTENSION, and MVNO_RATEPLAN) |
| MVNO_DATA_TOP_UP | Can be used to top-up the data of a mobile, for the rest of the month. |
| EXTERNAL_LICENSE | Used to register prices etc. for third-party licenses. They are used by external licenses (see this endpoint: API : External Licenses List) |
| MVNO_ROW_ROAMING | Rest-of-World roaming package for an MVNO account |
| OTHER | Generic all purpose |
Request
| URL | https://api.telecomx.dk/product | |
|---|---|---|
| Method | GET | |
| Access level | VIEWER, MANAGER, OWNER, RESELLER, ADMIN. | |
| Query | type | [optional] Type of products to return: SIP_RATEPLAN, MVNO_RATEPLAN, DSL, FIBER ,NUMBER_RENT, DNS, PBX_EXTENSION, PBX_SIP_PHONE, PBX_USER, EXTERNAL_LICENSE or OTHER. Omit or ALL to return all products. |
| all | [optional] True to also include products that cannot be used yet or anymore (before start or past end date). |
|
| filter | [optional] Text to limit response to products where product code or name is matched. |
|
| reseller | [optional] Id of the reseller to show products for (ADMIN only). |
|
| customer | [optional] Id of customer whose reseller to show products for (get products for use on customer). |
|
| customerProducts | [optional] True to show customer products. |
|
| master | [optional] True to show master products instead of reseller products (RESELLER & ADMIN only). |
|
| adminMode | [optional] True to show all master products (ADMIN only). |
|
| offset | [optional] Index of the first product to return, default 0. |
|
| limit | [optional] The number of products to return, default 100, min 1, max 500. |
|
| full | [optional] If true, complete product objects will be returned instead of the condensed versions. |
|
| problematic | [optional] If true, will return all SIP and MVNO products that have lower sales prices to destinations than cost prices (ADMIN only) |
|
Query examples
https://api.telecomx.dk/product https://api.telecomx.dk/product?type=SIP_RATEPLAN https://api.telecomx.dk/product?type=SIP_RATEPLAN&filter=Premium https://api.telecomx.dk/product?type=DSL&filter=100M&all=true&offset=10&limit=25&full=true
Response
| JSON object | |
|---|---|
| offset | Index of the first product returned. |
| limit | Number of products to return. Note that the actual number of products returned may be lower. |
| total | Number of products that can be returned when offset and limit is not considered. This is to be used for paging through the data. |
| products | Array of products, see definition below. |
| Product object (JSON) | ||
|---|---|---|
| _id | Id | Unique product id. |
| type | String | Type of product: SIP_RATEPLAN, MVNO_RATEPLAN, DSL, FIBER, NUMBER_RENT, OTHER. |
| productCode | String | Product code, short name for accounting integration and for selecting when invoicing. |
| name | String | Product name |
| wholesale | Number | The resellers price (pr. month if recurring), only shown if user is RESELLER or ADMIN. |
| price | Number | The customer price (pr. month if recurring). |
| start | Date | The date from which the product can be used, null for no limit. |
| end | Date | The date from which the product can not be used anymore, null for no limit. |
| recurrence | String | If product is recurring, this is the interval: MONTHLY, QUARTERLY, YEARLY. |
| standard | Boolean | If true, then whenever a customer is under the product's reseller, then there will automatically be created a customer product inheriting from this reseller product. Only used by reseller products. |
| Product object if full=true (JSON) | ||
|---|---|---|
| _id | Id | Unique product id. |
| start | Date | The date from which the product can be used, null for no limit. |
| end | Date | The date from which the product can not be used anymore, null for no limit. |
| type | String | Type of product: SIP_RATEPLAN, MVNO_RATEPLAN, DSL, FIBER, NUMBER_RENT, OTHER. |
| productCode | String | Product code, short name for accounting integration and for selecting when invoicing. |
| name | String | Product name. |
| unitType | String | The type of units this product is measured in: MIN, MB, UNITS, HOURS, KM, MONTHS. |
| recurrence | String | If product is recurring, this is the interval: MONTHLY, QUARTERLY, YEARLY. For no recurrence: NONE. For types SIP_RATEPLAN, MVNO_RATEPLAN, DSL and FIBER recurrence cannot be NONE. |
| recurrenceFullMonth | Boolean | If true the product must be invoiced for whole months, if false the product will only be invoiced for the fraction of the month that it has been active. |
| cost | Number | The cost of the product, pr. month if recurring (ADMIN only). |
| wholesale | Number | The reseller price, pr. month if recurring (RESELLER/ADMIN only). |
| price | Number | The customer price, pr. month if recurring. |
| reseller | Id | Id of the reseller the product belongs to and whose customers it can be applied to. Null if master product. |
| inheritFrom | Id | Id of the master product this product inherited from, null if product is a master product (RESELLER/ADMIN only). |
| inheritFromReseller | Id | Id of reseller product that this product inherits from, null if master/reseller product. |
| inheritBy | Array | Id's of resellers who may inherit from this product, null if product may be inherited by any reseller (master products only). |
| applyByResellerOnly | Boolean | True if this product may only be used by a reseller (RESELLER/ADMIN only, customer cannot see these types of products). |
| standard | Boolean | If true, then whenever a customer is under the product's reseller, then there will automatically be created a customer product inheriting from this reseller product. Only used by reseller products. |
| SIP_RATEPLAN properties | ||
| invoiceFromFirstNumber | Boolean | If true, then this account will only be invoiced when its first number is added to the account, and not before. |
| subscription.minutes.homeland | Integer | Number of minutes included towards national destinations (not special). |
| subscription.minutes.euNordic | Integer | Number of minutes included towards Nordic and European destinations (not special). |
| subscription.minutes.restOfEurope | Integer | Number of minutes included towards rest of Europe (not special). |
| subscription.minutes.world1 | Integer | Number of minutes included towards countries in region world 1 (not special). |
| subscription.minutes.world2 | Integer | Number of minutes included towards countries in region world 2 (not special). |
| subscription.minutes.world3 | Integer | Number of minutes included towards countries in region world 3 (not special). |
| subscription.free.ownSip | Boolean | True if calls towards the customers own SIP numbers are free. |
| subscription.free.ownMvno | Boolean | True if calls towards the customers own mobile numbers are free. |
| subscription.free.onNetSip | Boolean | True if calls towards Telecom X SIP numbers are free. |
| subscription.free.onNetMvno | Boolean | True if calls towards Telecom X mobile numbers are free. |
| ratePercentDiscount | Number | Percent discount on all call minutes - use with care, null if not used. |
| override.connectionFee | Number | Connection fee for all calls, will override the destinations connection fee. Null if not used. |
| override.connectionFeeOnCallAttempt | Boolean | True if connection fee should also be changed on unanswered calls. |
| destinations.<country-code> | Object | overrides the prices for calling destinations in a given country, e.g. 'SE'. |
| destinations.<country-code>.fixed | Object | prices for fixed destinations |
| destinations.<country-code>.fixed.wholesaleFee | Number | Connection fee for reseller, null if not used |
| destinations.<country-code>.fixed.customerFee | Number | Connection fee for customer, null if not used |
| destinations.<country-code>.fixed.wholesaleRate | Number | Pr. minute rate for reseller, null if not used |
| destinations.<country-code>.fixed.customerRate | Number | Pr. minute rate for customer, null if not used |
| destinations.<country-code>.mobile | Object | prices for mobile destinations |
| destinations.<country-code>.mobile.wholesaleFee | Number | Connection fee for reseller, null if not used |
| destinations.<country-code>.mobile.customerFee | Number | Connection fee for customer, null if not used |
| destinations.<country-code>.mobile.wholesaleRate | Number | Pr. minute rate for reseller, null if not used |
| destinations.<country-code>.mobile.customerRate | Number | Pr. minute rate for customer, null if not used |
| numberRent.wholesaleFirst | Number | Monthly rent for the first number on the SIP trunk - for reseller |
| numberRent.wholesaleExtra | Number | Monthly rent for each additional number on the SIP trunk - for reseller |
| numberRent.wholesale100 | Number | Monthly rent for a 100-numbers series (consecutive numbers) on the SIP trunk - for reseller |
| numberRent.customerFirst | Number | Monthly rent for the first number on the SIP trunk |
| numberRent.customerExtra | Number | Monthly rent for each additional number on the SIP trunk |
| numberRent.customer100 | Number | Monthly rent for a 100-numbers series (consecutive numbers) on the SIP trunk |
| MVNO_RATEPLAN properties | ||
| pbxProduct | Boolean | If true, then this product can only be used by mobiles which are on a PBX. |
| network | String | Which mobile network is this product valid for: TELENOR, TDC, BOTH, default BOTH. |
| dataSharingSimsIncluded | Number | Amount of data sharing SIMS included - defaults to 0, maximum value is 3. |
| smartWatchIncluded | Boolean | If true, smartwatch eSIM subscription included in this product |
| subscription.minutes.homeland | Integer | Number of minutes included towards national destinations (not special). |
| subscription.minutes.euNordic | Integer | Number of minutes included towards Nordic and European destinations (not special). |
| subscription.minutes.restOfEurope | Integer | Number of minutes included towards rest of Europe (not special). |
| subscription.minutes.world1 | Integer | Number of minutes included towards countries in region world 1 (not special). |
| subscription.minutes.world2 | Integer | Number of minutes included towards countries in region world 2 (not special). |
| subscription.minutes.world3 | Integer | Number of minutes included towards countries in region world 3 (not special). |
| subscription.free.ownSip | Boolean | True if calls towards the customers own SIP numbers are free. |
| subscription.free.ownMvno | Boolean | True if calls towards the customers own mobile numbers are free. |
| subscription.free.onNetSip | Boolean | True if calls towards Telecom X SIP numbers are free. |
| subscription.free.onNetMvno | Boolean | True if calls towards Telecom X mobile numbers are free. |
| subscription.free.smsMms | Boolean | True if national SMS and MMS is free. |
| subscription.roaming | Array | List of roaming regions, with the number of included minutes when roaming in the specific region |
| subscription.roaming[]._id | ObjectId | ID of the roaming region |
| subscription.roaming[].minutes | Number | Included minutes. Defaults to 0. |
| subscription.data | Number | Megabytes of data included. |
| subscription.dataEu | Number | Megabytes of data included while roaming in the EU region. |
| ratePercentDiscount | Number | Percent discount on all call minutes - use with care, null if not used. |
| override.connectionFee | Number | Connection fee for all calls, will override the destinations connection fee. Null if not used. |
| override.connectionFeeOnCallAttempt | Boolean | True if connection fee should also be changed on unanswered calls. |
| sms.nationalCost | Number | Cost pr. national SMS message (ADMIN only). |
| sms.nationalWholesale | Number | Reseller cost pr. national SMS message (RESELLER/ADMIN only). |
| sms.nationalPrice | Number | Customer price pr. national SMS message. |
| sms.internationalCost | Number | Cost pr. international SMS message (ADMIN only). |
| sms.internationalWholesale | Number | Reseller cost pr. international SMS message (RESELLER/ADMIN only). |
| sms.internationalPrice | Number | Customer price pr. international SMS message. |
| mms.nationalCost | Number | Cost pr. national MMS message (ADMIN only). |
| mms.nationalWholesale | Number | Reseller cost pr. national MMS message (RESELLER/ADMIN only). |
| mms.nationalPrice | Number | Customer price pr. national MMS message. |
| mms.internationalCost | Number | Cost pr. international MMS message (ADMIN only). |
| mms.internationalWholesale | Number | Reseller cost pr. international MMS message (RESELLER/ADMIN only). |
| mms.internationalPrice | Number | Customer price pr. international MMS message. |
| data.nationalCost | Number | Cost pr. megabyte of data (ADMIN only). |
| data.nationalWholesale | Number | Reseller cost pr. megabyte of data (RESELLER/ADMIN only). |
| data.nationalPrice | Number | Customer price pr. megabyte of data. |
| socFeatures | Object | Features enabled by the rateplan's SOCs |
| socFeatures.tdc | Object | Features when rate plan is used on TDC network. This property will be omitted, if the rate plan is not valid for TDC mobiles. |
| socFeatures.tdc.broadband | Boolean | The rate plan is a broadband rate plan. Phones provisioned with a broadband rate plan can not afterwards be provisioned with a non-broadband rateplan, and vice versa |
| socFeatures.tdc.highRate | Boolean | Permit calls towards high rated numbers (homeland only). |
| socFeatures.tdc.international | Boolean | Permit calls towards international destinations. |
| socFeatures.tdc.data | Boolean | Enable data for homeland. |
| socFeatures.tdc.fiveG | Boolean | Enable 5G. |
| socFeatures.tdc.publicIP | Boolean | Data connections gets a public IP address instead of a private NAT'ed IP. |
| socFeatures.tdc.chargedServices | Boolean | Permit overcharged SMS and purchase of physical goods. |
| socFeatures.tdc.voicemail | Boolean | Enable voicemail on stand-alone phones. |
| socFeatures.tdc.secretNumber | Boolean | Secret a-number (do not present number). |
| socFeatures.tdc.roaming | Boolean | Permit roaming (outside homeland). |
| socFeatures.tdc.roamingData | Boolean | Enable data while roaming, if roaming is permitted. |
| socFeatures.tdc.restOfWorldRoamingSoc | String | Which roaming SOC is included in this rate plan subscription. |
| socFeatures.tdc.restOfWorldRoamingSocType | Enum | The type of the included roaming SOC. Allowed values are 'AUTOSTART', 'PURCHASE'. |
| socFeatures.telenor | Object | Features when rate plan is used on Telenor network. This property will be omitted, if the rate plan is not valid for Telenor mobiles. |
| socFeatures.telenor.broadband | Boolean | Not currently in use on Telenor. |
| socFeatures.telenor.highRate | Boolean | Permit calls towards high rated numbers (homeland only). |
| socFeatures.telenor.international | Boolean | Permit calls towards international destinations. |
| socFeatures.telenor.data | Boolean | Enable data for homeland. |
| socFeatures.telenor.fiveG | Boolean | Enable 5G. |
| socFeatures.telenor.publicIP | Boolean | Data connections gets a public IP address instead of a private NAT'ed IP. |
| socFeatures.telenor.chargedServices | Boolean | Permit overcharged SMS and purchase of physical goods. |
| socFeatures.telenor.voicemail | Boolean | Enable voicemail on stand-alone phones. |
| socFeatures.telenor.secretNumber | Boolean | Secret a-number (do not present number). |
| socFeatures.telenor.roaming | Boolean | Permit roaming (outside homeland). |
| socFeatures.telenor.roamingData | Boolean | Enable data while roaming, if roaming is permitted. |
| socs | Array | Array of strings with SOCs that must be applied for this product. Reseller Admin and above only. |
| destinations.<country-code> | Object | overrides the prices for calling destinations in a given country, e.g. 'SE'. |
| destinations.<country-code>.fixed | Object | prices for fixed destinations |
| destinations.<country-code>.fixed.wholesaleFee | Number | Connection fee for reseller, null if not used |
| destinations.<country-code>.fixed.customerFee | Number | Connection fee for customer, null if not used |
| destinations.<country-code>.fixed.wholesaleRate | Number | Pr. minute rate for reseller, null if not used |
| destinations.<country-code>.fixed.customerRate | Number | Pr. minute rate for customer, null if not used |
| destinations.<country-code>.mobile | Object | prices for mobile destinations |
| destinations.<country-code>.mobile.wholesaleFee | Number | Connection fee for reseller, null if not used |
| destinations.<country-code>.mobile.customerFee | Number | Connection fee for customer, null if not used |
| destinations.<country-code>.mobile.wholesaleRate | Number | Pr. minute rate for reseller, null if not used |
| destinations.<country-code>.mobile.customerRate | Number | Pr. minute rate for customer, null if not used |
| DSL properties | ||
| dslSpeed | String | DSL speed product name. |
| NUMBER_RENT properties | ||
| costExtra | Double | Number rent cost pr. month pr. additional number. (cost above holds the first-number cost). |
| cost100 | Double | Number rent cost pr. month pr. 100-series. |
| wholesaleExtra | Double | Wholesale number rent pr. month pr. additional number. (wholesale above holds the first-number wholesale price). |
| wholesale100 | Double | Wholesale number rent pr. month pr. 100-series. |
| priceExtra | Double | Customer number rent pr. month pr. additional number. (price above holds the first-number price). |
| price100 | Double | Customer number rent pr. month pr. 100-series. |
| PBX_USER properties | ||
| includedProducts | Array | Array of products that are included in this PBX user product. Only products of type MVNO_RATEPLAN, PBX_EXTENSION, or PBX_SIP_PHONE are allowed, and only one type of each kind is allowed, meaning that you can ie. only have multiple MVNO_RATEPLANs if they are they the same kind. |
| includedProducts[]._id | ObjectID | Id of product that is included |
| includedProducts[].amount | Number | Amount of products of this kind that are included. |
| communicatorAccess | Boolean | Whether the user with this product has access to Communicator. Defaults to true |
| MVNO_DATA_TOP_UP properties | ||
| mvnoTopUp | Object | Contains top-up properties |
| mvnoTopUp.data | Number | Data of the top-up package. Given in bytes |
| MVNO_ROW_ROAMING properties | ||
| soc | String | The SOC this product relates to. |
| EXTERNAL_LICENSE properties | ||
| externalLicense | Object | Information about the license from the third party system. |
| externalLicense.also.bindingPeriod | String | The binding period in ALSO. Allowed values are MONTHLY and YEARLY. |
| externalLicense.also.provisioningId | String | The provisioning ID of the ALSO license, which is used to match with a product in ALSO. |
Example
Note that properties holding no value may be omitted from the object.
Response examples
Normal condensed
{ offset: 100, limit: 50, total: 999, products: [ { _id: '123457890ABCDEF12345678', type: 'SIP_RATEPLAN', productCode: 'SR0123A', name: 'SIP account, flatrate DK', wholesale: 180.00, price: 250.00 }, { ... } ] }
Full, type SIP_RATEPLAN
{ offset: 0, limit: 100, total: 10000, products: [ { _id: '1234567890ABCDEF12345678', start: '2014-01-01T00:00:00.000Z', end: null, type: 'SIP_RATEPLAN', productCode: 'SR0123A', name: 'SIP account, flatrate DK', unitType: 'MONTHS', recurrence: 'MONTHLY' recurrenceFullMonth: true, cost: 150.00, wholesale: 180.00, price: 250.00, reseller: '1234567890ABCDEF12345678', inheritFrom: '1234567890ABCDEF1234578', inheritBy: null, applyByResellerOnly: false, subscription: { minutes: { homeland: 1800, euNordic: 0, restOfEurope: 0, world1: 0, world2: 0, world3: 0 }, free: { ownSip: true, ownMvno: false, onNetSip: false, onNetMvno: false } }, ratePercentDiscount: null, override: { connectionFee: 0.00, override.connectionFeeOnCallAttempt: true }, destinations: { DK: { fixed: { wholesaleFee: 0.10, customerFee: 0.20, wholesaleRate: 0.07, customerRate: 0.10 }, mobile: { customerRate: 0.79 } } }, numberRent: { wholesaleFirst: 25.00, wholesaleExtra: 5.00, wholesale100: 300.00, customerFirst: 25.00, customerExtra: 5.00, customer100: 300.00 } }, { ... } ] }
Full, type MVNO_RATEPLAN
{ offset: 0, limit: 100, total: 10000, products: [ { _id: '1234567890ABCDEF12345678', start: '2014-01-01T00:00:00.000Z', end: null, type: 'MVNO_RATEPLAN', productCode: 'MRFREE25G', name: 'Free voice, SMS, MMS, 25GB data & 5 hours EU', unitType: 'MONTHS', recurrence: 'MONTHLY' recurrenceFullMonth: true, cost: 150.00, wholesale: 180.00, price: 250.00, reseller: '1234567890ABCDEF12345678', inheritFrom: '1234567890ABCDEF1234578', inheritBy: null, applyByResellerOnly: false, pbxProduct: false, dataSharingSimsIncluded: 0, smartWatchIncluded: false, socFeatures: { tdc: { broadband: false, international: true, data: true, fiveG: true, publicIP: true, chargedServices: false, secretNumber: true, roaming: true, roamingData: true, satellite: false, restOfWorldRoamingSoc: '1234BDF', restOfWorldRoamingSocType: 'AUTOSTART', }, telenor: { broadband: false, international: true, data: true, fiveG: true, publicIP: true, chargedServices: false, secretNumber: true, roaming: true, roamingData: true, satellite: false } }, network: 'TELENOR', subscription: { minutes: { homeland: 44640, euNordic: 0, restOfEurope: 0, world1: 0, world2: 0, world3: 0 }, free: { ownSip: true, ownMvno: true, onNetSip: false, onNetMvno: false, smsMms: true }, roaming: [ { _id: '1234567890ABCD1234567890', minutes: 3000 }, ... ], data: 25600, dataEu: 8192 }, sms: { nationalCost: 0.10, nationalWholesale: 0.15, nationalPrice: 0.20, internationalCost: 0.50, internationalWholesale: 1.00, internationalPrice: 1.50 }, mms: { nationalCost: 0.50, nationalWholesale: 0.75, nationalPrice: 1.00, internationalCost: 2.50, internationalWholesale: 4.00, internationalPrice: 5.00 }, data: { nationalCost: 0.50, nationalWholesale: 1.00, nationalPrice: 1.50 }, destinations: { DK: { fixed: { wholesaleFee: 0.10, customerFee: 0.20, wholesaleRate: 0.07, customerRate: 0.10 }, mobile: { customerRate: 0.79 } } } }, { ... } ] }
Full, type DSL
{ offset: 0, limit: 100, total: 10000, products: [ { _id: '1234567890ABCDEF12345678', start: '2014-01-01T00:00:00.000Z', end: null, type: 'DSL', productCode: 'DSL5/5F', name: 'ADSL 5/5Mbit flex', unitType: 'MONTHS', recurrence: 'MONTHLY' recurrenceFullMonth: true, cost: 150.00, wholesale: 180.00, price: 250.00, reseller: '1234567890ABCDEF12345678', inheritFrom: '1234567890ABCDEF1234578', inheritBy: null, applyByResellerOnly: false, dslSpeed: '5120/5120FL' }, { ... } ] }
Full, type FIBER
{ offset: 0, limit: 100, total: 10000, products: [ { _id: '1234567890ABCDEF12345678', start: '2014-01-01T00:00:00.000Z', end: null, type: 'FIBER', productCode: 'F2432', name: 'Redundant cityring fiber', unitType: 'MONTHS', recurrence: 'MONTHLY' recurrenceFullMonth: true, cost: 1500.00, wholesale: 1800.00, price: 2500.00, reseller: '1234567890ABCDEF12345678', inheritFrom: '1234567890ABCDEF1234578', inheritBy: null, applyByResellerOnly: false }, { ... } ] }
Full, type NUMBER_RENT
{ offset: 0, limit: 100, total: 10000, products: [ { _id: '1234567890ABCDEF12345678', start: '2014-01-01T00:00:00.000Z', end: null, type: 'NUMBER_RENT', productCode: 'NUM01', name: 'Number rent', unitType: 'MONTH', recurrence: 'QUARTERLY' cost: 0.00, costExtra: 0.00, cost100: 0.00, wholesale: 20.00, wholesaleExtra: 2.50, wholesale100: 350.00, price: 25.00, priceExtra: 5.00, price100: 500.00, reseller: '1234567890ABCDEF12345678', inheritFrom: '1234567890ABCDEF1234578', inheritBy: null, applyByResellerOnly: false }, { ... } ] }
Full, type PBX_USER
{ offset: 0, limit: 100, total: 10000, products: [ { _id: '1234567890ABCDEF12345678', start: '2014-01-01T00:00:00.000Z', end: null, type: 'PBX_USER', productCode: '18233', name: 'User license', unitType: 'UNITS', recurrence: 'NONE' cost: 100.00, wholesale: 120.00, price: 150.00, reseller: '1234567890ABCDEF12345678', inheritFrom: '1234567890ABCDEF1234578', inheritBy: null, applyByResellerOnly: false, includedProducts: [], communicatorAccess: true }, { ... } ] } ==== Full, type MVNO_DATA_TOP_UP ==== <code javascript> { offset: 0, limit: 100, total: 10000, products: [ { _id: '1234567890ABCDEF12345678', start: '2014-01-01T00:00:00.000Z', end: null, type: 'MVNO_DATA_TOP_UP', productCode: 'DATA_5GB', name: '5Gb Data Top-up', unitType: 'UNITS', recurrence: 'NONE' cost: 65.00, wholesale: 85.00, price: 120.00, reseller: '1234567890ABCDEF12345678', inheritFrom: '1234567890ABCDEF1234578', inheritBy: null, applyByResellerOnly: false, mvnoTopUp: { data: 504800 } }, { ... } ] } ===== Full, type MVNO_ROW_ROAMING ===== <code javascript> { _id: ObjectID('1234567890ABCDEF102345678'), start: ISODate('2014-01-01T12:34:56.123Z'), end: null, type: 'MVNO_DATA_TOP_UP', productCode: 'MVNO_DATA_TOP_UP_5GB', name: 'Data top-up pakke: 5 Gb', unitType: 'UNITS', recurrence: 'NONE', recurrenceFullMonth: false, cost: 0.00, wholesale: 20.00, price: 25.00, reseller: '4234567890ABCDEF102345678', inheritFrom: '6534567890ABCDEF102345672', inheritFromReseller: '1364567890ABCDEF102345672', applyByResellerOnly: false, soc: 'ABCDE18GJH' }
Full, type OTHER
{ offset: 0, limit: 100, total: 10000, products: [ { _id: '1234567890ABCDEF12345678', start: '2014-01-01T00:00:00.000Z', end: null, type: 'OTHER', productCode: 'NUMSER', name: 'Number series, 10 premium numbers', unitType: 'UNITS', recurrence: 'NONE' cost: 1000.00, wholesale: 1200.00, price: 1400.00, reseller: '1234567890ABCDEF12345678', inheritFrom: '1234567890ABCDEF1234578', inheritBy: null, applyByResellerOnly: false }, { ... } ] }
Errors
| Error code | Message | Description |
|---|---|---|
| 422 | type | Type is invalid |
| 403 | access_denied | Insufficient access level |
| 500 | internal_error | <Unspecified> |
api/product/list.txt · Last modified: 2025/06/12 13:30 by Joakim Andersen