使用 API 创建服务密钥
本主题介绍通过 API 创建服务密钥的流程,包括如何获取 Port ID(productUid),以及使用服务密钥创建 VXC。
有关服务密钥的概览,请参阅 设置服务密钥 和 管理服务密钥。有关服务密钥 API 的更多信息,请参阅 Service Keys (API Documentation)。
先决条件
在创建 service key 之前,确保您具备:
- 访问 Megaport Portal 的权限。
-
在 Megaport 网络上拥有一个 Port、MCR 或 MVE。
-
一个有效的访问令牌。有关更多信息,请参阅 创建 API 密钥。
获取 Port 的 productUid
-
在 Postman 中,单击左侧导航中的 Product Details(产品详情),然后选择 GET Product List(GET 产品列表)。
-
单击 Send(发送)。
-
在返回的产品详情中,找到要为其创建服务密钥的 Port 的
productUid值。本示例使用以下 Port:
"productName": "CoreSite LA1" 位于 "city": "洛杉矶" 其 "productUid": "8611b645-ea50-46eb-b400-1c2fb858a303"
创建服务密钥
在找到要为其创建服务密钥的产品的 productUid 值后,可以使用 Megaport API 创建服务密钥。
创建服务密钥
-
在 Postman 中,单击左侧导航中的 Connections(连接),然后选择 Service Keys > POST Generate Service Key(服务密钥 > POST 生成服务密钥)。
-
复制接入点(Port)的
productUid,并更新请求体。在本示例中,Port 的
productUid值为8611b645-ea50-46eb-b400-1c2fb858a303。{ "productUid": "8611b645-ea50-46eb-b400-1c2fb858a303", "description": "Documentation Service Key - Single Use", "active": true, "_set_singleUse_to_false_to_make_service_key_multiUse": true, "singleUse": true, "maxSpeed": "500", "preApproved": true, "vlan": 3, "validFor": { "_make_start_timestamp_equal_to_now": 1608506197135, "start": 1608506197135, "_make_end_timestamp_equal_to_1_month_forward": 1612015200000, "end": 1612015200000 } } -
在 Body 中指定其他参数,例如速率限制(
maxSpeed)、密钥的有效期限(validFor),以及您是否需要一次性密钥("singleUse": true)或多次使用密钥("singleUse": false)。日期以 UNIX 时间戳格式输入。您可以使用工具如 https://www.epochconverter.com/ 或 https://it-tools.tech/date-converter 来确定要输入的正确值。仅对于一次性密钥,指定 VLAN ID(
vlan),或将vlan设置为-1,以创建未打标签的 VXC。注意
只有当相关 MVE vNIC 或 Port 上不存在未打标签的连接时,您才能创建一次性未打标签服务密钥。
这是 B 端的 VLAN ID。如果您指定了 VLAN ID,Megaport 会检查所请求的 VLAN ID 是否可用。当客户使用该服务密钥在您的 Port 上创建连接时,他们可以为 A 端指定 VLAN ID。
有关 VLAN ID 的更多信息,请参阅管理 VLAN ID。
-
完成后,点击 Send 发送请求。
POST /v2/service/key
成功响应会通过验证,并返回 200 OK 状态。
{
"message": "New service key [106e38ae-eb59-415f-ac81-526a5299851d] generated",
"terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy",
"data": {
"key": "106e38ae-eb59-415f-ac81-526a5299851d",
"createDate": 1712277262872,
"companyId": 1153,
"companyUid": "160208ae-01e4-4cb9-8d57-03a197bd47a8",
"companyName": "Megaport Lab",
"description": "Documentation Service Key - Single Use",
"productId": 193076,
"productUid": "8611b645-ea50-46eb-b400-1c2fb858a303",
"productName": "My new Port",
"vlan": 3,
"maxSpeed": 500,
"preApproved": true,
"singleUse": true,
"lastUsed": null,
"active": true,
"validFor": {
"start": 1608506197135,
"end": 1612015200000
},
"expired": true,
"valid": false,
"promoCode": null,
"productDto": {
"productUid": "8611b645-ea50-46eb-b400-1c2fb858a303",
"productName": "My new Port",
"portSpeed": 1000,
"locationId": 60,
"vxcPermitted": true,
"companyUid": "160208ae-01e4-4cb9-8d57-03a197bd47a8",
"companyName": "Megaport Lab",
"connectType": "DEFAULT",
"productId": 193076,
"productType": "MEGAPORT",
"provisioningStatus": "LIVE",
"createDate": 1712268634020,
"createdBy": "0b367492-186d-47ab-96e0-34ca03d29dcd",
"terminateDate": null,
"liveDate": 1712268694790,
"market": "US",
"costCentre": "Optional finance reference",
"usageAlgorithm": "NOT_POST_PAID",
"marketplaceVisibility": false,
"secondaryName": null,
"lagPrimary": false,
"lagId": null,
"aggregationId": null,
"contractStartDate": 1712268694807,
"contractEndDate": 1714831200000,
"contractTermMonths": 1,
"associatedVxcs": [],
"associatedIxs": [],
"attributeTags": {},
"virtual": false,
"buyoutPort": false,
"locked": false,
"adminLocked": false,
"diversityZone": null,
"nserviceId": 521477,
"cancelable": true
}
}
}
新的服务密钥现在会显示在 Megaport Portal 中。
编辑或禁用密钥
您可以编辑服务密钥的详细信息或永久禁用它。
您可能会出于多种原因需要禁用密钥。例如,您为某个 Port 创建了一个服务密钥并与您的客户共享,但在客户使用该密钥创建连接之前,该 Port 变得不可用,您希望阻止客户使用这个服务密钥。
编辑或禁用服务密钥的方法
-
在 Postman 中,打开左侧导航栏的 Connections 文件夹,并选择 Service Keys > PUT Update Service Key。
-
根据需要编辑服务密钥的详细信息。
-
若要永久禁用服务密钥,请将
active参数设置为false。
共享密钥
您可以按照自己的偏好共享服务密钥,例如通过电子邮件或即时消息。
注意
服务密钥的接收方无法更改或修改服务密钥参数。
使用服务密钥创建 VXC
收到服务密钥后,您可以使用服务密钥创建 VXC,以连接服务密钥中定义的 A 端接入点和您的 B 端接入点。
使用服务密钥创建 VXC 的方法
-
在 Postman 中,打开左侧导航栏的 Connections 文件夹,并选择 Service Keys > POST Create VXC with a Service Key。
-
在请求的 Body 中指定配置信息。
-
productUid- 输入您在 Megaport 站点的 Port 的productUid。 -
bEnd: productUid- 输入来自服务密钥查询的productUid位置。 -
serviceKey- Enter the full service key. -
ratelimit- 指定一个不超过服务密钥上设置的最大速率的ratelimit。 -
term- 指定 VXC 的合约期限。有效值为 1、12、24、36、48 和 60 个月。如果在订购 VXC 时未指定term,则默认为 1(无最低期限)。 -
shutdown- 您可以临时关闭并重新启用 VXC。有效值为true(关闭)和false(启用)。如果未提供,则默认为false(启用)。 -
promoCode- 您可以为服务订单输入促销代码。该代码不会被验证,因此如果代码不存在或不适用于该服务,调用仍会成功。 -
vlan- (可选)首选 A 端 VLAN。为此连接指定一个未使用的 VLAN ID。此 VLAN ID 必须在该 Port 上唯一,范围为 2 至 4093。如果您指定的 VLAN ID 已被使用,系统会显示下一个可用的 VLAN 号码。VLAN ID 必须唯一才能继续下单。如果您未指定值,Megaport 将自动分配。
提供方侧终端的 B 端 VLAN 会根据服务密钥自动填充。
{ "productUid": "7fba50bb-ac35-465b-9b8b-9a6d7335ec7a", "associatedVxcs": [ { "productName": "VXC from service key", "rateLimit": 100, "term": 12, "shutdown": false, "promoCode": "promox3mnthfree2", "serviceKey": "106e38ae-eb59-415f-ac81-526a5299851d", "aEnd": { "vlan": 2 }, "bEnd": { "productUid": "8611b645-ea50-46eb-b400-1c2fb858a303" } } ] } -
-
完成后,点击 Send 发送请求。
POST /v3/networkdesign/buy提示
如需在下单前测试请求并查看价格详情,请使用同样的 Body 配置调用
/v3/networkdesign/validate端点。
成功响应会通过校验,并具有 200 OK 状态码。
{
"message": "VXC [399f0fd8-8a69-4e15-abdb-537b0cb8a858] created. ",
"terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy",
"data": [
{
"createDate": 1610140443499,
"vxcOrderId": 55791,
"payerMegaPortId": 74841,
"nonPayerMegaPortId": 39950,
"payerMegaPortName": "My LA API Port",
"nonPayerMegaPortName": "BNE5-01-10G",
"payerCompanyId": 15,
"nonPayerCompanyId": 28,
"payerLocationId": 60,
"nonPayerLocationId": 44,
"salesId": null,
"payerCompanyName": "Megaport Lab",
"nonPayerCompanyName": "6YS",
"payerMegaPortNsId": 167551,
"nonPayerMegaPortNsId": 90147,
"payerVlanId": 2,
"nonPayerVlanId": 373,
"payerInnerVlanId": null,
"nonPayerInnerVlanId": null,
"payerApproverName": "Test Name",
"payerApproverId": 32278,
"nonPayerApproverName": null,
"nonPayerApproverId": null,
"payerApproval": 1610140443263,
"nonPayerApproval": 1610140443308,
"fixedTerm": true,
"duration": 1,
"rollover": true,
"serviceName": "from My LA API Port to BNE5-01-10G",
"payerStatus": "APPROVED",
"nonPayerStatus": "APPROVED",
"speed": 100,
"distanceBand": "ZONE",
"intercapPath": "",
"awsId": null,
"promoCode": null,
"rateType": "MONTHLY",
"vxcJTechnicalServiceId": 74842,
"vxcJTechnicalServiceUid": "399f0fd8-8a69-4e15-abdb-537b0cb8a858",
"provisionDate": 1610140443232,
"orderType": "NEW",
"monthlyDiscountAmount": null,
"discountMonths": null,
"amazonDirectConnectConfigDto": null,
"amsixConnectConfigDto": null,
"webAirProvItem": null,
"sdrcProvItem": null,
"rate": null,
"setup": null,
"asn": null,
"bgpPassword": null,
"usageAlgorithm": "POST_PAID_HOURLY_SPEED_LONG_HAUL_VXC",
"costCentre": null,
"azureServiceKey": null,
"oracleVirtualCircuitId": null,
"serviceKey": "106e38ae-eb59-415f-ac81-526a5299851d",
"connectType": "DEFAULT",
"payerConfig": {},
"nonPayerConfig": {},
"attributeTags": {},
"fullyApproved": true
}
]
}
在订购服务密钥 VXC 之后,系统会向你要连接的公司发送通知,接收方公司可以接受或拒绝该密钥。其不能更改密钥,但可以在接受之前请求修改服务密钥参数。
该服务密钥 VXC 将显示在两家公司的 Megaport Portal 中。