api:internet:request:create
Table of Contents
API : Internet Request Create
Introduction
This request will create a request for Internet Access. It is used to ask for if a given technology/speed can be delivered at a given address and which the initiation and monthly price will be.
Please note that the address must be validated in the address lookup API before it can be accepted.
Request
| URL | https://api.telecomx.dk/internet/request | ||
|---|---|---|---|
| Method | POST | ||
| Access level | OWNER if user belongs to the customer. RESELLER if customer belongs to the reseller or a sub reseller. ADMIN. |
||
| Property | Type | Description | |
| Body | type | String | Type of circuit: DSL or FIBER |
| customer | Id | Id of customer, if linked to a customer - otherwise null. | |
| reseller | Id | Id of reseller, if not linked to a customer, the request belongs to the reseller. | |
| notes | String | Notes about the request | |
| address | Object | Installation address | |
| address._id | Id | Unique ID of the address, if using existing address on customer. | |
| address.address | String | Road, number, floor, door | |
| address.zip | Number | Zip code | |
| address.city | String | City name | |
| address2 | Object | Second address. For specific products. Point-to-Point connections. (FIBER only). | |
| address._id | Id | Unique ID of the address, if using existing address on customer | |
| address.address | String | Road, number, floor, door | |
| address.zip | Number | Zip code | |
| address.city | String | City name | |
| product | Id | Id of the product | |
| takeover | Boolean | True if this is a takeover (DSL only). | |
| takeoverCircuit | String | Name of existing circuit, if takeover (DSL only). | |
| takeoverCustomer | String | Customer ID/number at donor operator, if takeover (DSL only). | |
| ipAddresses | Number | Number of IP addresses. (1, 2, 4, 8, 16, 32) (FIBER Only) | |
| commitment1 | Boolean | True to get an offer for a 1 year commitment (FIBER only). | |
| commitment2 | Boolean | True to get an offer for a 2 year commitment (FIBER only). | |
| commitment3 | Boolean | True to get an offer for a 3 year commitment (FIBER only). | |
| reference | String | A reference id/name/customer. | |
| notify | Array | List of id's of employees to notify by e-mail when request has been answered. | |
| startDate | Date | [optional] Desired date for delivery of the Internet Access account, omit for as soon as possible. | |
| installCallNumber | String | Number that technician will call 30 minutes before arriving to install the service. | |
| installCallName | String | Name of contact to call. | |
| installTime | String | Wanted time of delivery Valid values 7_30_TO_16, 7_30_TO_12. 12_TO_16 | |
| Offers | Array | List of offered solutions | |
| offers[]._id | Id | Unique id of the offer. | |
| offers[].product | Id | Product offered - describes speed and technology. | |
| offers[].initiationFeeProduct | Id | Id of the product used for initiation | |
| offers[].initiationCost | Number | Initiation price for TCX (FIBER only). | |
| offers[].initiationWholesale | Number | Initiation price for reseller (FIBER only). | |
| offers[].initiationCustomer | Number | Initiation price for customer (FIBER only). | |
| offers[].monthlyCost | Number | Price pr. month for TCX (FIBER only). | |
| offers[].monthlyWholesale | Number | Price pr. month for reseller (FIBER only). | |
| offers[].monthlyCustomer | Number | Price pr. month for customer (FIBER only). | |
| offers[].commitment | Number | Number of months before the account can be cancelled. | |
| offers[].providerName | String | Name of the provider. | |
| offers[].providerOfferId | String | Id of the providers offer. | |
Query examples
{ type: 'Fiber', reseller: '12345678901234567890AAAA', address: { address: 'Vallensbækvej 20A, 3. th.', zip: 2605, city: 'Brøndby' }, product: '12345678901234567890BBBB', commitment1: true, commitment2: true, commitment3: false, ipAddresses: 32, reference: 'REQ567365836', notify: [ '1234567890123457890FEDD' ], notes: 'Main building on the right', startDate: '2018-01-01T00:00:00.000Z', installCallNumber: '71919999', installCallName: 'Donald Duck', installTime: '7_30_TO_16' }
Response
| Property | Type | Description |
|---|---|---|
| _id | Id | Unique id of the request. |
| type | String | Type of circuit: DSL or FIBER |
| customer | Id | Id of customer, if linked to a customer - otherwise null. |
| reseller | Id | Id of reseller, if not linked to a customer, the request belongs to the reseller. |
| notes | String | Notes about the request |
| address | Object | Installation address |
| address._id | Id | Unique ID of the address, if using existing address on customer. |
| address.address | String | Road, number, floor, door |
| address.zip | Number | Zip code |
| address.city | String | City name |
| address2 | Object | Second address. For specific products. Point-to-Point connections. (FIBER only). |
| address._id | Id | Unique ID of the address, if using existing address on customer |
| address.address | String | Road, number, floor, door |
| address.zip | Number | Zip code |
| address.city | String | City name |
| product | Id | Id of the product |
| takeover | Boolean | True if this is a takeover (DSL only). |
| takeoverCircuit | String | Name of existing circuit, if takeover (DSL only). |
| takeoverCustomer | String | Customer ID/number at donor operator, if takeover (DSL only). |
| ipAddresses | Number | Number of IP addresses. (1, 2, 4, 8, 16, 32) (FIBER Only) |
| commitment1 | Boolean | True to get an offer for a 1 year commitment (FIBER only). |
| commitment2 | Boolean | True to get an offer for a 2 year commitment (FIBER only). |
| commitment3 | Boolean | True to get an offer for a 3 year commitment (FIBER only). |
| reference | String | A reference id/name/customer. |
| notify | Array | List of employees to notify by e-mail when request has been answered. |
| notify[]._id | Id | Id of employee. |
| notify[].name | String | Name of employee. |
| startDate | Date | [optional] Desired date for delivery of the Internet Access account, omit for as soon as possible. |
| installCallNumber | String | Number that technician will call 30 minutes before arriving to install the service. |
| installCallName | String | Name of contact to call. |
| installTime | String | Wanted time of delivery Valid values 7_30_TO_16, 7_30_TO_12. 12_TO_16 |
| Offers | Array | List of offered solutions |
| offers[]._id | Id | Unique id of the offer. |
| offers[].product | Id | Product offered - describes speed and technology. |
| offers[].initiationFeeProduct | Id | Id of the product used for initiation |
| offers[].initiationCost | Number | Initiation price for TCX (FIBER only). |
| offers[].initiationWholesale | Number | Initiation price for reseller (FIBER only). |
| offers[].initiationCustomer | Number | Initiation price for customer (FIBER only). |
| offers[].monthlyCost | Number | Price pr. month for TCX (FIBER only). |
| offers[].monthlyWholesale | Number | Price pr. month for reseller (FIBER only). |
| offers[].monthlyCustomer | Number | Price pr. month for customer (FIBER only). |
| offers[].commitment | Number | Number of months before the account can be cancelled. |
| offers[].providerName | String | Name of the provider. |
| offers[].providerOfferId | String | Id of the providers offer. |
| created | Date | Date and time when the request was created. |
| createdBy | Id | Id of employee who created the request. |
| answered | Date | Date and time when the request was answered (offers expires 30 days after this date). |
Note that properties holding no value may be omitted from the object.
Example
{ _id: '123457890123457890AAAA', type: 'FIBER', customer: null, reseller: '1234567890123457890CCCC', notes: 'In stairwell behind the door', address: { _id: '12345678901234567890DDDD', address: 'Vallensbækvej 20A, 3. th.', zip: '2605', city: 'Brøndby' }, address2: null, product: '12345678901234567890EEEE', takeover: true, takeoverCircuit: 'fake347465', takeoverCustomer: '5646756475', ipAddresses: 8, commitment1: true, commitment2: true, commitment3: true, reference: 'Donald Duck', notify: [ { _id: '1234567890123456780FEDD', name: 'Donald Duck' } ], startDate: '2018-01-01T00:00:00.000Z', installCallNumber: '71919999', installCallName: 'Donald', installTime: '7_30_TO_12', Offers: [ { _id: '12345678901234567890FFFF', product: '1234567890123457890AABB', initiationFeeProduct: '1234567890124567890AACC', initiationCost: 1000, initiationWholesale: 2000, initiationCustomer: 3000, monthlyCost: 500, monthlyWholesale: 600, monthlyCustomer: 700, commitment: 36, providerName: 'Nianet', providerOfferId: '4656367R' }, { ... } ], created: '2018-01-01T00:00:00.000Z', createdBy: '1234567890123457890FEDE', answered: '2018-01-01T12:00:00.000Z' }
Errors
| Error code | Message | Description |
|---|---|---|
| 409 | type | Value is not one of the permitted values. |
| 422 | notes | Invalid length. At most 4096 is required. |
| 404 | address._id | Address not found |
| 404 | address2._id | Address not found |
| 422 | product | Product is not valid for customer |
| 422 | product | Product not found |
| 422 | takeoverCircuit | Circuit is required for takeover |
| 422 | takeoverCustomer | Customer id is required for takeover |
| 422 | ipAddresses | IP address is required and must be 1,2,4,8,16 or 32 |
| 422 | startDate | Date must not be between 1 month ago and 6 months into the future |
| 422 | offers[].product | Product is not valid for customer |
| 422 | offers[].product | Product not found |
| 422 | offers[].initiationFeeProduct | Product is not valid for customer |
| 422 | offers[].initiationFeeProduct | Product not found |
| 422 | offers[].initiationCost | Must be between 0 and 500000 |
| 422 | offers[].initiationWholesale | Must be between 0 and 500000 |
| 422 | offers[].initiationCustomer | Must be between 0 and 500000 |
| 422 | offers[].monthlyCost | Must be between 0 and 500000 |
| 422 | offers[].monthlyWholesale | Must be between 0 and 500000 |
| 422 | offers[].monthlyCustomer | Must be between 0 and 500000 |
| 422 | offers[].commitment | Must be between 0 and 60 months |
| 422 | notify[] | Recipient not found |
| 403 | access_denied | Insufficient access level |
| 500 | internal_error | <Unspecified> |
api/internet/request/create.txt · Last modified: 2018/09/29 12:57 by Per Møller