更新软件包外部测试版提交

在 Microsoft Store 提交 API 中使用此方法,更新现有软件包外部测试版提交。 使用此方法成功更新提交后,必须 提交提交 以供引入和发布。

有关如何使用 Microsoft 商店提交 API 创建包飞行提交的过程的详细信息,请参阅 管理包飞行提交

必备条件

若要使用此方法,首先需要执行以下操作:

  • 如果尚未这样做,请完成Microsoft应用商店提交 API 的所有 先决条件
  • 请获取 Azure AD 访问令牌,以便在此方法的请求标头中使用。 获取访问令牌后,在它到期前,你有 60 分钟的使用时间。 该令牌到期后,可以获取新的令牌。
  • 为你的某个应用创建软件包外部测试版提交。 可以在合作伙伴中心执行此操作,也可以使用 创建包路线提交 方法执行此操作。

请求

此方法具有以下语法。 请参阅以下部分,获取标头和请求正文的使用示例和描述。

方法 请求 URI
放置 https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/flights/{flightId}/submissions/{submissionId}

请求头

标头 类型 说明
授权 字符串 必需。 Azure AD 访问令牌的格式为 Bearer<>。

请求参数

名称 类型 说明
应用ID 字符串 必需。 要更新软件包外部测试版提交的应用的应用商店 ID。 有关应用商店 ID 的详细信息,请参阅 “查看应用标识详细信息”。
航班编号 字符串 必需。 要更新提交的软件包外部测试版的 ID。 此 ID 在创建软件包外部测试版获取应用的软件包外部测试版请求的响应数据中提供。 对于在合作伙伴中心中创建的外部测试版,此 ID 也可以在合作伙伴中心中外部测试版页面的 URL 中找到。
提交ID (submissionId) 字符串 必需。 要更新的提交的 ID。 此 ID 在创建软件包外部测试版提交请求的响应数据中提供。 对于在合作伙伴中心中创建的提交,此 ID 也可以在合作伙伴中心提交页面的 URL 中找到。
PackageId 字符串 必需。 现有包的 ID。

请求正文

请求正文具有以下参数。

价值 类型 说明
航班套餐 数组 包含提供提交中关于每个程序包详细信息的对象。 有关响应正文中这些值的更多详细信息,请参阅外部测试版软件包资源。 调用此方法以更新应用提交时,请求正文中只需要 fileNamefileStatusminimumDirectXVersionminimumSystemRam 值。 其他值由合作伙伴中心进行填充。
包裹配送选项 物体 包含提交的逐步软件包推出和强制更新设置。 有关详细信息,请参阅 “程序包传递选项”对象
目标发布模式 字符串 提交的发布模式。 这可以是以下值之一:
  • 即时
  • 手动
  • 具体日期
目标发布日期 字符串 如果 targetPublishMode 设置为 SpecificDate,则提交的发布日期应采用 ISO 8601 格式。
认证说明 字符串 提供认证测试人员的其他信息,例如测试帐户凭据以及访问和验证功能的步骤。 有关详细信息,请参阅 认证说明

请求示例

以下示例演示如何为应用更新软件包外部测试版提交。

PUT https://manage.devcenter.microsoft.com/v1.0/my/applications/9NBLGGH4R315/flights/43e448df-97c9-4a43-a0bc-2a445e736bcd/submissions/1152921504621243649 HTTP/1.1
Authorization: Bearer <your access token>
Content-Type: application/json
{
  "flightPackages": [
    {
      "id": "existingPackage.Id",
      "fileName": "newPackage.appx",
      "fileStatus": "PendingUpload",
      "minimumDirectXVersion": "None",
      "minimumSystemRam": "None"
    }
  ],
  "packageDeliveryOptions": {
    "packageRollout": {
        "isPackageRollout": false,
        "packageRolloutPercentage": 0.0,
        "packageRolloutStatus": "PackageRolloutNotStarted",
        "fallbackSubmissionId": "0"
    },
    "isMandatoryUpdate": false,
    "mandatoryUpdateEffectiveDate": "1601-01-01T00:00:00.0000000Z"
  },
  "targetPublishMode": "Immediate",
  "targetPublishDate": "",
  "notesForCertification": "No special steps are required for certification of this app."
}

响应

以下示例演示了成功调用此方法的 JSON 响应正文。 该响应正文包含已更新提交的相关信息。 有关响应正文中这些值的更多详细信息,请参阅软件包外部测试版提交资源

{
  "id": "1152921504621243649",
  "flightId": "cd2e368a-0da5-4026-9f34-0e7934bc6f23",
  "status": "PendingCommit",
  "statusDetails": {
    "errors": [],
    "warnings": [],
    "certificationReports": []
  },
  "flightPackages": [
    {
      "fileName": "newPackage.appx",
      "fileStatus": "PendingUpload",
      "id": "",
      "version": "1.0.0.0",
      "languages": ["en-us"],
      "capabilities": [],
      "minimumDirectXVersion": "None",
      "minimumSystemRam": "None"
    }
  ],
  "packageDeliveryOptions": {
    "packageRollout": {
        "isPackageRollout": false,
        "packageRolloutPercentage": 0.0,
        "packageRolloutStatus": "PackageRolloutNotStarted",
        "fallbackSubmissionId": "0"
    },
    "isMandatoryUpdate": false,
    "mandatoryUpdateEffectiveDate": "1601-01-01T00:00:00.0000000Z"
  },
  "fileUploadUrl": "https://productingestionbin1.blob.core.windows.net/ingestion/8b389577-5d5e-4cbe-a744-1ff2e97a9eb8?sv=2014-02-14&sr=b&sig=wgMCQPjPDkuuxNLkeG35rfHaMToebCxBNMPw7WABdXU%3D&se=2016-06-17T21:29:44Z&sp=rwl",
  "targetPublishMode": "Immediate",
  "targetPublishDate": "",
  "notesForCertification": "No special steps are required for certification of this app."
}

错误代码

如果无法成功完成请求,该响应中会包含以下 HTTP 错误代码之一。

错误代码 说明
400 由于请求无效,无法更新软件包外部测试版提交。
409 由于应用的当前状态,无法更新软件包外部测试版提交,或者应用使用合作伙伴中心功能,Microsoft应用商店提交 API当前不支持