API SoftLayer: цена не корректируется в зависимости от местоположения Netscaler

Мы находимся в стадии разработки SL Portal, и на данный момент мы обнаружили, что со страницы управления SL, когда мы пытаемся сделать заказ, цена Netscaler всегда одинакова даже для всех различных центров обработки данных. Однако, когда мы получаем цену через API, тогда цена не была той же самой.

Пожалуйста, какова правильная цена для каждого центра обработки данных, и при создании нового сайта портала, что мы должны соблюдать?

Благодарю.

2 ответа

На портале отображаются стандартные цены. Стандартными ценами являются те, в которых поле locationGroupId имеет значение "ноль" или пустое.

Если вы заинтересованы в отображении точной цены для центра обработки данных, вы должны отобразить цену, значение которой в "pricingLocationGroup": "location": "region": "description" совпадает с выбранным центром данных. Посмотрите на цену ниже, в этом случае эта цена должна отображаться для центра обработки данных "SYD01 - Сидней" и "MEL01 - Мельбурн"

{
    "id": 83961,
    "locationGroupId": 545,
    "item": {
        "description": "Citrix NetScaler VPX 10.1 1000Mbps Standard",
        "id": 4423,
        "keyName": "CITRIX_NETSCALER_VPX_10_1_1000MBPS_STANDARD"
    } -
    "pricingLocationGroup": {
        "description": "Location Group 6"
        "id": 545,
        "locationGroupTypeId": 82,
        "name": "Location Group 6",
        "securityLevelId": null,
        "locations": [2]
          0:  {
               "id": 449612
               "longName": "Sydney 1"
               "name": "syd01"
               "regions": [1]
                0:  {
                     "description": "SYD01 - Sydney"
                     "keyname": "SYDNEY"
                     "sortOrder": 78
                    }-
                -
              }-
          1:  {
              "id": 449596
              "longName": "Melbourne 1"
              "name": "mel01"
              "regions": [1]
                0:  {
                 "description": "MEL01 - Melbourne"
                  "keyname": "MELBOURNE"
                  "sortOrder": 48
                }-

          }
    }

Если вы не заинтересованы в отображении точной цены для центра обработки данных, вы можете использовать стандартную цену

С уважением

Причина, по которой вы видите одинаковые цены на товары, заключается в том, что цены, выбранные контрольным порталом, являются, вероятно, "стандартными ценами". "Стандартная цена" означает, что ее можно использовать для заказа товара в любом месте.

Но... Как мы узнаем, является ли цена "стандартной ценой" или нет?

Следующий запрос помогает нам получить цены в соответствии с местоположением / центром обработки данных.

Пример REST:

https://[username]:[apikey]@api.softlayer.com/rest/v3/SoftLayer_Product_Package/192/getItemPrices?objectMask=mask[id,locationGroupId,item[id,keyName,description],pricingLocationGroup[locations[id, name, longName]]]

Method: GET

Куда:

Пакет, используемый для NetScaler, = 192.

Идентификатор цены с locationGroupId = null считается "стандартной ценой", и API будет внутренне переключать цены для клиента. Но рекомендуется сначала выполнить "verifyOrder", чтобы увидеть, в порядке ли желаемый заказ (плата может варьироваться).

Для получения более подробной информации, пожалуйста, просмотрите:

http://sldn.softlayer.com/blog/cmporter/Location-based-Pricing-and-You

Это запрос заказа по стандартным ценам:

https://[username]:[apikey]@api.softlayer.com/rest/v3/SoftLayer_Product_Order/verifyOrder.json

Method: POST

Json Payload:
=========================
{
  "parameters": [
    {
      "location": 138124,  // "DALLAS05"
      "packageId": 192,
      "complexType": "SoftLayer_Container_Product_Order_Network_Application_Delivery_Controller",
      "prices": [
        {
          "id": 22315 // "Citrix NetScaler VPX 10.1 10Mbps Standard"
        },
        {
          "id": 17238 // 2 Static Public IP Addresses
        }
      ],
      "quantity": 1
    }
  ]
}

=========================

Note: Remove the comments in order to get the request working.

Приведенный выше запрос может работать с разными центрами обработки данных.

Кроме того, мы можем использовать ценовые идентификаторы, которые не являются стандартными ценами.

Например, мы хотим получить:

  • Пункт: "Citrix NetScaler VPX 10.1, стандарт 10 Мбит / с"
  • Расположение: "Сингапур 1"

Идентификатор цены товара, который хорошо подходит, (SoftLayer_Product_Package::getItemPrices):

 …
    {
    "id": 51173
    "locationGroupId": 509
    "item": {
    "description": "Citrix NetScaler VPX 10.1 10Mbps Standard"
    "id": 4425
    "keyName": "CITRIX_NETSCALER_VPX_10_1_10MBPS_STANDARD"
    }-
    "pricingLocationGroup": {
    "description": "Location Group 5"
    "id": 509
    "locationGroupTypeId": 82
    "name": "Location Group 5"
    "securityLevelId": null
    "locations": [3]
    0:  {
    "id": 352494
    "longName": "Hong Kong 2"
    "name": "hkg02"
    }-
    1:  {
    "id": 449604
    "longName": "Tokyo 2"
    "name": "tok02"
    }-
    2:  {
    "id": 224092
    "longName": "Singapore 1"
    "name": "sng01"
    }-
    -
    }-
    } …

Где: Места, разрешенные для этой цены: Гонконг 2, Токио 2 и Сингапур 1.

Наш заказ изменит что-то вроде этого:

{
  "parameters": [
    {
      "location": 224092, // Singapore 1
      "packageId": 192,
      "complexType": "SoftLayer_Container_Product_Order_Network_Application_Delivery_Controller",
      "prices": [
        {
          "id": 51173
        },
        {
          "id": 17238
        }
      ],
      "quantity": 1
    }
  ]
}

Рекомендации:

http://sldn.softlayer.com/reference/services/SoftLayer_Product_Package/getItemPrices http://sldn.softlayer.com/reference/services/SoftLayer_Product_Package/getAllObjects http://sldn.softlayer.com/reference/services/SoftLayer_Product_Package http://sldn.softlayer.com/blog/cmporter/Location-based-Pricing-and-You http://sldn.softlayer.com/reference/services/SoftLayer_Location/getDatacenters

Я надеюсь, что эта информация поможет вам.

Другие вопросы по тегам