Pricing - Internet On-Demand

This section provides a comprehensive guide for integrating Console Connect IO-D - Pricing API, it provides a detailed guideline on usage, response schema definition, and API behavior.

Prerequisite

The following requirements must be met to perform the provided code samples.

  1. API Key - Contact the Console Connect Support team to request for an API Key Email: support@consoleconnect.com
  2. Access Rights - User must have role: Network Admin/NETWORKCONTROL. You may verify your role here
  3. Acceptance of Agreement - API users must sign the Specific Terms for API Use.
  4. Your company has been verified on the Console Connect platform.

I. Internet On-Demand Pricing - Company and Port

This service calculates IO-D service charge rate by company & ports, it accepts company ID (companyId), port ID (portId), bandwidth (bandwidth), duration value (durationValue), duration unit (durationUnit) and an optional discount code (discountCode) as query parameters and responds with calculation details based on the payload configuration provided.

I.I. Acquiring user details

The user ID, company ID, and company username is obtained upon execution of API GET /api/auth/token. This provides information to the currently authenticated user

curl -X GET https://api.consoleconnect.com/api/auth/token\
    -H "Authorization: Bearer <API_KEY>"

If the request was successful, it will respond with a JSON object similar to this:

{
  "id": "xxxxxxxxxxxxxxxxxxxxxxxxxx",
   "companies": [
        {
            "id": "xxxxxxxxxxxxxxxxxxxxxxxxxx",
            "name": "Demo",
            "username": "demo",
            // other properties...
        }
    ]
    // other properties...
}

Note:

Take note of your company id (companies[0].id), and company username (companies[0].username).

I.II. Listing ports for your company

To list all ports owned by your company execute the following curl command:

curl -X GET https://api.consoleconnect.com/api/company/:companyUsername/ports?deleted=false`\
    -H "Authorization: Bearer <API_KEY>"
If the request was successful, it will respond with a detailed list of ports for the given company.
{
  "results": [
    {
      "dcpCompanyId": null,
      "name": "XXXX CONNECTIVITY",
      "speed": {
        "value": 1000,
        "name": "1000 Mbps"
      },
      "speedOverprovisioningFactor": 1,
      "singleService": false,
      "locationId": null,
      "dataCenterFacilityId": "xxxxxxxxxxxxxxxxxxxxxxxx",
      "popId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "metroId": "xxxxxxxxxxxxxxxxxxxxxxxx",
      "status": "ACTIVE",
      "serviceStatus": "OPEN",
      "linkState": "UP",
      "linkStateUpSince": null,
      "linkStateSyncedAt": "2021-06-08T01:05:03.507Z",
      "type": "NNI",
      "isEdgePort": false,
      "edgePayload": null,
      "mediaType": "COPPER",
      "partner": {
        "type": "NONE",
        "connectionSpeeds": []
      },
      "ip": {
        "ipv4": null,
        "ipv6": null
      },
      "capabilities": {
        "model6Limit": false,
        "model6LimitNumber": null,
        "singleService": false
      },
      "activeChangedAt": "2021-06-08T01:05:33.694Z",
      "firstActiveAt": "2021-06-08T01:05:03.706Z",
      "updatedAt": "2023-01-24T02:08:29.005Z",
      "createdAt": "2021-06-08T01:04:59.457Z",
      "deleted": false,
      "deletedAt": null,
      "importedAt": null,
      "importer": null,
      "salesRecordId": "123456",
      "paymentType": "plan",
      "payg": null,
      "onboarded": true,
      "onboardedBy": "xxxxxxxxxxxxxxxxxxxxxxxx",
      "onboardedAt": "2021-06-08T01:04:59.455Z",
      "onboardedStatus": "COMPLETE",
      "onboardedStatusDetail": null,
      "onboardedDeviceName": "usw01.pop01.hkg39",
      "onboardedInterfaceName": "GigabitEthernet0/0/11",
      "onboardedAllocatedBandwidth": 10,
      "billingId": "xxxxxxxxxxxxxxxxxxxxxxxx",
      "vlanRanges": [
        {
          "start": 1000,
          "end": 1010
        }
      ],
      "iciLink": "A",
      "reportingLabels": [
        "Meeting place port"
      ],
      "supportedServices": [
        "L2"
      ],
      "cosTransparency": null,
      "cosMapping": {
        "GOLD": [
          ""
        ],
        "SILVERPLUS": [],
        "SILVER": [
          ""
        ],
        "BRONZE": []
      },
      "externalId": "port-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "ticketLink": null,
      "crossConnectXcOwner": null,
      "crossConnectFullDemarc": null,
      "interconnectEnabled": null,
      "interconnectProvider": null,
      "interconnectOrderNumber": null,
      "interconnectCircuitId": null,
      "interconnectCompletedAt": null,
      "interconnectVlanRange": null,
      "interconnectNniPortName": null,
      "localLoopEnabled": null,
      "localLoopId": null,
      "localLoopCustomerId": null,
      "localLoopProviderName": null,
      "localLoopSalesRecordId": null,
      "localLoopBandwidth": null,
      "localLoopCompletedAt": null,
      "localLoopASideAddress": null,
      "localLoopASideXConnectId": null,
      "localLoopZSideAddress": null,
      "localLoopGsmpId": null,
      "id": "xxxxxxxxxxxxxxxxxxxxxxxx",
      "accessCircuit": {
        "crossConnectMediaType": null
      },
      "companyId": "xxxxxxxxxxxxxxxxxxxxxxxx",
      "capacity": {
        "total": 1000,
        "utilised": 365,
        "remaining": 635
      },
      "company": {
        "officeAddress": null,
        "system": {
          "welcomeMessage": true
        },
        "company": {
          "industry": null,
          "companySize": null,
          "dateFounded": null,
          "clientId": null,
          "first": null,
          "last": null,
          "address": null,
          "city": null,
          "state": null,
          "zip": null,
          "phone": null,
          "fax": null,
          "businessType": "Internet Exchange",
          "website": "sample.com",
          "registeredName": "updatedone2",
          "addresses": [
            {
              "geo": {
                "type": "Point",
                "coordinates": []
              },
              "primary": true,
              "registered": true,
              "address": "2 Stuart Road",
              "city": "Tegucigalpa",
              "state": "hk",
              "zip": "4000",
              "country": "HN",
              "email": null,
              "phone": "01234567891"
            }
          ],
          "partnerType": null,
          "isIoTDemoCompany": false
        },
        "cloudProviderDetails": {
          "asn": {
            "range": [
              4200099007,
              4200099009
            ]
          },
          "cloudType": "vultr",
          "companyType": "B2B",
          "bgpAuthority": "PCCWGLOBAL"
        },
        "stats": {
          "members": 186,
          "interconnections": 0,
          "followers": 0,
          "following": 0,
          "privateArticles": 0,
          "privateEvents": 0,
          "privatePosts": 0,
          "articles": 14,
          "events": 0,
          "posts": 29
        },
        "accountManagerEmail": null,
        "accountManagerId": null,
        "createdAt": "2019-08-09T05:32:18.613Z",
        "updatedAt": "2024-07-25T06:51:06.162Z",
        "username": "qe1",
        "deletedAt": null,
        "deleted": false,
        "verified": true,
        "tags": [
          "promoted"
        ],
        "status": "ACTIVE",
        "displayOrder": 0,
        "external": [
          {
            "id": "15",
            "type": "SDWAN",
            "status": "UNSYNCED"
          }
        ],
        "groups": [],
        "location": null,
        "summary": "<p>Testing adding new image12</p>",
        "headline": "wholesale",
        "background": "xxxxxxxxxxxxxxxxxxxxxxxx",
        "avatarId": "xxxxxxxxxxxxxxxxxxxxxxxx",
        "name": "SAMPLE NAME",
        "type": "COMPANY",
        "oldAvatarId": "xxxxxxxxxxxxxxxxxxxxxxxx",
        "verifiedIdentity": true,
        "portsActive": 14,
        "categories": [
          "Analytics",
          "AI",
          "IoT"
        ],
        "overviewImage": "xxxxxxxxxxxxxxxxxxxxxxxx",
        "isCloudProvider": true,
        "signedCompanyRefId": 4,
        "signedCompanyVerified": true,
        "billingAccount": "115475",
        "businessRegistrationNumber": "123456",
        "selectiveQinQTunnelProvider": [],
        "companies": [],
        "id": "xxxxxxxxxxxxxxxxxxxxxxxx",
        "online": false
      },
      "dataCenterFacility": {
        "system": {
          "welcomeMessage": null
        },
        "company": {
          "privacy": {
            "network": {
              "mode": "PUBLIC",
              "blackListIds": [],
              "whiteListIds": []
            },
            "community": {
              "mode": "PUBLIC",
              "blackListIds": [],
              "whiteListIds": []
            }
          },
          "businessType": null,
          "partnerType": null,
          "companySize": null,
          "dateFounded": null,
          "registeredName": null,
          "businessRegistrationCertReference": null,
          "businessRegistrationCertUploadedAt": null,
          "businessRegistrationCertRejectedReason": null,
          "clientId": null,
          "first": null,
          "last": null,
          "address": null,
          "city": null,
          "state": null,
          "zip": null,
          "phone": null,
          "fax": null,
          "addresses": [
            {
              "geo": {
                "type": "Point",
                "coordinates": []
              },
              "registered": false,
              "address": "",
              "city": "Hong Kong",
              "state": "",
              "zip": "zipcode",
              "country": "HK",
              "email": null,
              "phone": null
            }
          ],
          "regionalInternetRegistry": [],
          "businessRegistrationCertVerified": "UNVERIFIED",
          "website": "http://www.company.com1",
          "emailDomains": [],
          "industry": "",
          "businessDevelopmentManagerTypePreference": "UNSPECIFIED",
          "isIoTDemoCompany": false
        },
        "dataCenterFacility": {
          "airportCodes": [],
          "speeds": [],
          "metroId": "dataCenterFacility",
          "ready": true,
          "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
          "nniReady": true,
          "brandId": null,
          "canBundleCrossConnect": false
        },
        "cloudProviderDetails": {
          "asn": {
            "range": []
          },
          "bgpAuthority": "PCCWGLOBAL",
          "companyType": "DCP"
        },
        "stats": {
          "members": 0,
          "interconnections": 0,
          "followers": 5,
          "following": 0,
          "privateArticles": 0,
          "privateEvents": 0,
          "privatePosts": 0,
          "articles": 0,
          "events": 0,
          "posts": 0
        },
        "overviewImage": null,
        "businessRegistrationNumber": null,
        "signedCompanyRefId": null,
        "accountManagerEmail": null,
        "accountManagerId": null,
        "createdAt": "2018-02-20T04:49:09.604Z",
        "updatedAt": "2024-07-10T04:22:15.894Z",
        "username": "hkg05",
        "deletedAt": null,
        "deleted": false,
        "verified": true,
        "tags": [
          "offnet",
          "monthly-ports"
        ],
        "status": "ACTIVE",
        "displayOrder": -299,
        "groups": [],
        "location": null,
        "summary": "",
        "headline": null,
        "background": null,
        "avatarId": null,
        "name": "hkg39-Asia-HK-APAC",
        "type": "DATA_CENTER_FACILITY",
        "popIds": [
          "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
        ],
        "costbookLocationId": "xxxxxxxxxxxxxxxxxxxxxxxx",
        "costbookLocation": {
          "name": "ASIA 1",
          "id": "xxxxxxxxxxxxxxxxxxxxxxxx",
          "deletedAt": null,
          "createdAt": "2019-05-21T04:09:32.819Z",
          "updatedAt": "2019-11-05T01:31:28.426Z",
          "tags": [
            "generated"
          ],
          "gatewayIds": [],
          "regionIds": [
            "xxxxxxxxxxxxxxxxxxxxxxxx"
          ],
          "regions": [
            {
              "name": "APAC",
              "id": "xxxxxxxxxxxxxxxxxxxxxxxx",
              "deletedAt": null,
              "createdAt": "2017-12-18T00:26:28.610Z",
              "updatedAt": "2018-09-11T04:15:10.124Z",
              "deleted": false,
              "priceMultiplier": 1,
              "insightRegion": "Asia"
            }
          ],
          "gateways": []
        },
        "verifiedIdentity": false,
        "provider": [
          "PCCWGLOBAL"
        ],
        "destinationPortOnly": false,
        "categories": [],
        "nnis": null,
        "isCloudProvider": false,
        "l3CostbookLocationId": "xxxxxxxxxxxxxxxxxxxxxxxx",
        "bundleCrossConnectChargeId": null,
        "signedCompanyVerified": false,
        "selectiveQinQTunnelProvider": [],
        "companies": [],
        "id": "xxxxxxxxxxxxxxxxxxxxxxxx",
        "online": false
      },
      "connections": [
        {
          "id": "xxxxxxxxxxxxxxxxxxxxxxxx",
          "name": "SAMPLE NAME",
          "status": "ERROR",
          "speed": 10,
          "type": "LAYER2",
          "srcConfigTag": null,
          "typeFriendly": "IBM Direct Link"
        },
        {
          "id": "xxxxxxxxxxxxxxxxxxxxxxxx",
          "name": "SAMPLE NAME2",
          "status": "ERROR",
          "speed": 10,
          "type": "LAYER2",
          "srcConfigTag": null,
          "typeFriendly": "IBM Direct Link"
        }
      ],
      "metro": {
        "name": "Hong Kong",
        "code": "HKG",
        "country": "hk",
        "rir": "APNIC",
        "regionIds": [
          "xxxxxxxxxxxxxxxxxxxxxxxx"
        ],
        "id": "xxxxxxxxxxxxxxxxxxxxxxxx",
        "deletedAt": null,
        "createdAt": "2017-12-18T00:45:44.120Z",
        "updatedAt": "2024-02-25T05:02:47.267Z",
        "logo": null,
        "description": "a",
        "ready": true,
        "canCreateController": false,
        "deleted": false,
        "tags": []
      }
    }
  ]
}

Note:

Take note of your port ID (Sample: results[0].id).

I.III. Calculate Pricing

Request Query Schema

  • Company ID companyId - Your company ID.

  • Port ID portId - Your port ID.

  • Bandwidth bandwidth - The desired bandwidth or rate limit (in Mbps) for the IO-D service.

  • Duration value durationValue - The desired duration value

  • Duration unit durationUnit - The duration unit

Info

durationUnit Enum values: day (d), week (w), month (m), year (y)

Note:

Maximum duration value by units: days:6 | weeks:3 | months:36 | years:3

Sample IO-D Pricing - Company and Port API execution configured with duration of less than a month::

curl -X GET "https://api.test.consoleconnect.com/v2/pricing/gia/byCompanyAndPort?companyId=xxxxxxxxxxxxxxxxxxxxxxxx&portId=xxxxxxxxxxxxxxxxxxxxxxxx&bandwidth=10&durationValue=6&durationUnit=d"`\
    -H "Authorization: Bearer <API_KEY>>"

Note

Notice the durationValue & durationUnit which is equivalent to 6 days. Response may vary based on the configured duration (more than or less than a month). See Common Response Definition for more details.

See sample response for the pricing details below:

  { 
    "onceOff": {
      "giaCost": 73.97,
      "ipCosts": {
        "ipv426Cost": 34.52,
        "ipv427Cost": 24.66,
        "ipv428Cost": 0,
        "ipv429Cost": null,
        "ipv430Cost": null
      }
    },
    "burstRate": 0.004050035038912062,
    "duration": {
      "unit": "d",
      "value": 6
    }
  }

II. Internet On-Demand Pricing - By DCF

This service calculates IO-D service charge rate by a specific DCF, it accepts DCF ID (dcfId), bandwidth (bandwidth), duration value (durationValue), duration unit (durationUnit) and an optional discount code (discountCode) and company ID (companyId) as query parameters and responds with calculation details based on the configuration provided.

II.I. Searching DCFs

This endpoint provides DCF filtering capability and it returns a list of Data Center Facilities (DCF) details.

Info

Below is a sample curl command that accepts (optional) criteria, page & page size query parameters.

curl -X GET "https://api.consoleconnect.com/v2/data-center-facility/search?criteria={}&page=1&pageSize=10"`\
    -H "Authorization: Bearer <API_KEY>"
If the request was successful, it will respond with a detailed list of DCFs.
[{
  "company": {
    "privacy": {
      "network": {
        "mode": "PUBLIC",
        "blackListIds": [],
        "whiteListIds": []
      },
      "community": {
        "mode": "PUBLIC",
        "blackListIds": [],
        "whiteListIds": []
      }
    },
    "addresses": [
      {
        "registered": false,
        "address": "",
        "city": "Hong Kong",
        "state": "",
        "zip": "zipcode",
        "country": "HK",
        "email": null,
        "phone": null,
        "geo": {
          "type": "Point",
          "coordinates": []
        }
      }
    ],
    "parentIds": [],
    "regionalInternetRegistry": [],
    "businessRegistrationCertVerified": "UNVERIFIED",
    "website": "http://www.company.com1",
    "emailDomains": [],
    "industry": "",
    "businessDevelopmentManagerTypePreference": "UNSPECIFIED",
    "isIoTDemoCompany": false
  },
  "username": "DCF_COMPANY_USERNAME",
  "name": "SAMPLE-DCF-NAME",
  "tags": [
    "offnet",
    "monthly-ports"
  ],
  "dataCenterFacility": {
    "airportCodes": [],
    "speeds": [],
    "metroId": "xxxxxxxxxxxxxxxxxxxxxxxx",
    "ready": true,
    "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "nniReady": true,
    "brandId": null,
    "canBundleCrossConnect": false
  },
  "stats": {
    "members": 0,
    "interconnections": 0,
    "followers": 5,
    "following": 0,
    "privateArticles": 0,
    "privateEvents": 0,
    "privatePosts": 0,
    "articles": 0,
    "events": 0,
    "posts": 0
  },
  "provider": [
    "PCCWGLOBAL"
  ],
  "selectiveQinQTunnelProvider": [],
  "externalId": null,
  "destinationPortOnly": false,
  "verified": true,
  "nnis": null,
  "id": "xxxxxxxxxxxxxxxxxxxxxxxx",
  "bundleCrossConnectChargeId": null,
  "deletedAt": null,
  "createdAt": "2018-02-20T04:49:09.604Z",
  "updatedAt": "2024-07-10T04:22:15.894Z",
  "products": [
    {
      "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "companyId": null,
      "dataCenterFacilityId": "xxxxxxxxxxxxxxxxxxxxxxxx",
      "slug": null,
      "status": "PUBLISHED",
      "transactionType": "ENQUIRE",
      "productType": "Data centers",
      "promoted": true,
      "name": "Sample Product Name",
      "headline": "Sample Headline",
      "description": "Demo description",
      "logo": null,
      "overviewImage": null,
      "background": null,
      "categories": [
        "Data Center"
      ],
      "tags": null,
      "promoTitle": "Sample Title",
      "promoHeadline": "Sample Headline",
      "callToActionLabel": "Order rack",
      "callToActionLink": null,
      "vendorUrl": null,
      "hubspotFormId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "productFamilyId": null,
      "isAddon": false,
      "productCode": null,
      "created_at": "2021-02-16T04:18:06.026Z",
      "updated_at": "2021-05-19T06:43:38.193Z"
    }
  ],
  "isFollowing": false
}]

Info

Take note of DCF company username ([0].username) and DCF ID ([0].id)

II.II. (Optional) Acquiring user details

The user ID, company ID, and company username is obtained upon execution of API GET /api/auth/token. This provides information to the currently authenticated user

curl -X GET https://api.consoleconnect.com/api/auth/token\
    -H "Authorization: Bearer <API_KEY>"

If the request was successful, it will respond with a JSON object similar to this:

{
  "id": "xxxxxxxxxxxxxxxxxxxxxxxxxx",
   "companies": [
        {
            "id": "xxxxxxxxxxxxxxxxxxxxxxxxxx",
            "name": "Demo",
            "username": "demo",
            // other properties...
        }
    ]
    // other properties...
}

Note:

Take note of your company id (companies[0].id).

II.III. Calculate Pricing

Request Query Schema

  • DCF ID dcfId - Data Center Facility (DCF) ID.

  • Bandwidth bandwidth - The desired bandwidth or rate limit (in Mbps) for the IO-D service.

  • Duration value durationValue - The desired duration value.

  • Duration unit durationUnit - The duration unit.

Info

durationUnit Enum values: day (d), week (w), month (m), year (y)

Note:

Maximum duration value by units: days:6 | weeks:3 | months:36 | years:3

Sample IO-D Pricing - By DCF API execution configured with duration of more than a month:

curl -X GET "https://api.test.consoleconnect.com/v2/pricing/gia/byDcf?dcfId=xxxxxxxxxxxxxxxxxxxxxxxx&bandwidth=10&durationValue=2&durationUnit=y"`\
    -H "Authorization: Bearer <API_KEY>"

Note

Notice the durationValue & durationUnit which is equivalent to 2 years. Response may vary based on the configured duration (more than or less than a month). See Common Response Definition for more details.

See sample response for the pricing details below:

{
  "contractTotals": {
    "giaCost": 3420,
    "ipCosts": {
      "ipv426Cost": 1596,
      "ipv427Cost": 1140,
      "ipv428Cost": 0,
      "ipv429Cost": null,
      "ipv430Cost": null
    }
  },
  "unitCosts": {
    "giaCost": 142.5,
    "ipCosts": {
      "ipv426Cost": 66.5,
      "ipv427Cost": 47.5,
      "ipv428Cost": 0,
      "ipv429Cost": null,
      "ipv430Cost": null
    }
  },
  "contractTotalsAmountSaved": null,
  "unitCostsAmountSaved": null,
  "burstRate": 0.04681165489,
  "duration": {
    "unit": "y",
    "value": 2
  }
}

III. Internet On-Demand Pricing - By DCF (Bulk)

This endpoint accepts DCF ID (dcfId) and price requests (priceRequests) as query parameters and responds with an array of price calculation details associated with the price requests (priceRequests) configuration provided in the API request.

III.I. Searching DCFs

This endpoint provides DCF filtering capability and it returns a list of Data Center Facilities (DCF) details.

Info

Below is a sample curl command that accepts (optional) criteria, page & page size query parameters.

curl -X GET "https://api.consoleconnect.com/v2/data-center-facility/search?criteria={}&page=1&pageSize=10"`\
    -H "Authorization: Bearer <API_KEY>"
If the request was successful, it will respond with a detailed list of DCFs.
[{
  "company": {
    "privacy": {
      "network": {
        "mode": "PUBLIC",
        "blackListIds": [],
        "whiteListIds": []
      },
      "community": {
        "mode": "PUBLIC",
        "blackListIds": [],
        "whiteListIds": []
      }
    },
    "addresses": [
      {
        "registered": false,
        "address": "",
        "city": "Hong Kong",
        "state": "",
        "zip": "zipcode",
        "country": "HK",
        "email": null,
        "phone": null,
        "geo": {
          "type": "Point",
          "coordinates": []
        }
      }
    ],
    "parentIds": [],
    "regionalInternetRegistry": [],
    "businessRegistrationCertVerified": "UNVERIFIED",
    "website": "http://www.company.com1",
    "emailDomains": [],
    "industry": "",
    "businessDevelopmentManagerTypePreference": "UNSPECIFIED",
    "isIoTDemoCompany": false
  },
  "username": "DCF_COMPANY_USERNAME",
  "name": "SAMPLE-DCF-NAME",
  "tags": [
    "offnet",
    "monthly-ports"
  ],
  "dataCenterFacility": {
    "airportCodes": [],
    "speeds": [],
    "metroId": "xxxxxxxxxxxxxxxxxxxxxxxx",
    "ready": true,
    "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "nniReady": true,
    "brandId": null,
    "canBundleCrossConnect": false
  },
  "stats": {
    "members": 0,
    "interconnections": 0,
    "followers": 5,
    "following": 0,
    "privateArticles": 0,
    "privateEvents": 0,
    "privatePosts": 0,
    "articles": 0,
    "events": 0,
    "posts": 0
  },
  "provider": [
    "PCCWGLOBAL"
  ],
  "selectiveQinQTunnelProvider": [],
  "externalId": null,
  "destinationPortOnly": false,
  "verified": true,
  "nnis": null,
  "id": "xxxxxxxxxxxxxxxxxxxxxxxx",
  "bundleCrossConnectChargeId": null,
  "deletedAt": null,
  "createdAt": "2018-02-20T04:49:09.604Z",
  "updatedAt": "2024-07-10T04:22:15.894Z",
  "products": [
    {
      "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "companyId": null,
      "dataCenterFacilityId": "xxxxxxxxxxxxxxxxxxxxxxxx",
      "slug": null,
      "status": "PUBLISHED",
      "transactionType": "ENQUIRE",
      "productType": "Data centers",
      "promoted": true,
      "name": "Sample Product Name",
      "headline": "Sample Headline",
      "description": "Demo description",
      "logo": null,
      "overviewImage": null,
      "background": null,
      "categories": [
        "Data Center"
      ],
      "tags": null,
      "promoTitle": "Sample Title",
      "promoHeadline": "Sample Headline",
      "callToActionLabel": "Order rack",
      "callToActionLink": null,
      "vendorUrl": null,
      "hubspotFormId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "productFamilyId": null,
      "isAddon": false,
      "productCode": null,
      "created_at": "2021-02-16T04:18:06.026Z",
      "updated_at": "2021-05-19T06:43:38.193Z"
    }
  ],
  "isFollowing": false
}]

Info

Take note of DCF ID ([0].id)

III.II. Calculate Pricing

Request Query Schema

  • DCF ID dcfId - Your data center facility (DCF) of choice ID.

  • Price Requests priceRequests - A collection of different IO-D service configuration (bandwidth and duration) you desire to configure your IO-D service with.

    Price Requests item's attributes/fields:

    • Bandwidth bandwidth - The desired bandwidth or rate limit (in Mbps) for the IO-D service.
    • Duration value durationValue - The desired duration value
    • Duration unit durationUnit - The duration unit

    Info

    durationUnit Enum values: day (d), week (w), month (m), year (y)

    Note:

    Maximum duration value by units: days:6 | weeks:3 | months:36 | years:3

See below sample curl command, which passes 2 IO-D configuration items in price requests (priceRequests) query parameter:

  • Index 0 - Configured with service duration of more than a month.
  • Index 1 - Configured with service duration of less than a month.
curl -X GET "https://api.consoleconnect.com/v2/pricing/gia/bulkByDcf?dcfId=xxxxxxxxxxxxxxxxxxxxxxxx&priceRequests=[{"bandwidth":10,"durationValue":24,"durationUnit":"m"},{"bandwidth":10,"durationValue":6,"durationUnit":"d"}]"`\
    -H "Authorization: Bearer <API_KEY>"

Note

Notice the value of priceRequests, index 0's duration value and unit is equivalent to 24 months / 2 years where as index 1's duration value and unit is equivalent to 6 days.

The expected response for this API Service is an array of price calculation details - each price calculation item corellates with each of the item provided in the price requests (priceRequests) query parameter for the specified DCF ID (dcfId). See Common Response Definition for more details.

See sample response for the pricing details below.
[
  { // Recurring - with duration of more than a month
    "contractTotals": {
      "giaCost": 3420,
      "ipCosts": {
        "ipv426Cost": 1596,
        "ipv427Cost": 1140,
        "ipv428Cost": 0,
        "ipv429Cost": null,
        "ipv430Cost": null
      }
    },
    "unitCosts": {
      "giaCost": 142.5,
      "ipCosts": {
        "ipv426Cost": 66.5,
        "ipv427Cost": 47.5,
        "ipv428Cost": 0,
        "ipv429Cost": null,
        "ipv430Cost": null
      }
    },
    "contractTotalsAmountSaved": null,
    "unitCostsAmountSaved": null,
    "burstRate": 0.04681165489,
    "duration": {
      "unit": "m",
      "value": 24
    }
  },
  {  // OnceOff - with duration of less than a month
    "onceOff": {
      "giaCost": 73.97,
      "ipCosts": {
        "ipv426Cost": 34.52,
        "ipv427Cost": 24.66,
        "ipv428Cost": 0,
        "ipv429Cost": null,
        "ipv430Cost": null
      }
    },
    "burstRate": 0.004050035038912062,
    "duration": {
      "unit": "d",
      "value": 6
    }
  }
]

IV. Common Response Definition

IO-D Pricing By DCF API, IO-D Pricing By Company & Ports API and IO-D Pricing By DCF (Bulk) API share similar response structure (Recurring Response or OnceOff Response) that may vary depending on the provided duration (less than or more than a month).

IV.I. Recurring Response

Applicable charges for the service configured with duration of more than a month. See sample response above index 0.

Property/Attribute Definition

  • contractTotals - The full duration of service charge rates.
    • giaCost - The full duration of service charge rate
    • ipCost - The IP Block selection/option - each option equivalent to full duration of service charge rate, chargeable on top of giaCost.
  • unitCosts - Equivalent to monthly service charge rates.
    • giaCost - The monthly service charge rate.
    • ipCost - The IP Block selection/option - each option equivalent to monthly service charge rate, chargeable monthly on top of giaCost.
  • contractTotalsAmountSaved - The full duration computed saved amount.
  • unitCostsAmountSaved - Computed monthly saved amount.
  • burstRate - Burst rate/Mbps charge rate.
  • duration - Configured duration of service.
    • value - The configured duration value for the service.
    • unit - The configured duration unit for the service. Enum: days (d), weeks (w), months (m), years (y).

Note:

Depending on your IP Block of choice, charges may apply on top of giaCost. See [0].contractTotals.ipCost or [0].unitCosts.ipCost in the response sample above for the price details.

Notice null and 0 values in both [0].contractTotals.ipCost and [0].unitCosts.ipCost - null is equivalent to unavailable and 0 is equivalent to free of charge.

IV.II. OnceOff Response

Applicable charges for the service configured with duration of less than a month. See sample response above index 1.

Property Definition

  • onceOff - The full duration of service charge rate and IP Block options charge rate.
    • giaCost - The full duration of service charge rate
    • ipCost - The IP Block selection/option - each option equivalent to full duration of service charge rate, chargeable on top of giaCost.
  • burstRate - Burst rate/Mbps charge rate.
  • duration - Configured duration of service.
    • value - The configured duration value for the service.
    • unit - The configured duration unit for the service in day(s) (d) or in week(s) (w).