

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# FAQs
<a name="faqs"></a>

 使用这些常见问题和答案来帮助进行自定义集成。

**Topics**
+ [一般常见问题解答](general-faq.md)
+ [技术常见问题解答—字段](technical-faq-fields.md)
+ [技术常见问题解答—亚马逊 S3](technical-faq-s3.md)
+ [技术常见问题解答——线索和机会](technical-faq-leads-and-opps.md)
+ [技术常见问题解答—版本控制和向后兼容性](technical-faq-versioning.md)

# 一般常见问题解答
<a name="general-faq"></a>

## 整合是如何运作的？
<a name="how-does-the-integration-work"></a>

 **问：我能否访问用于发送和接收文件的亚马逊简单存储服务 (Amazon S3) 存储桶？**

是。合作伙伴可以使用有权访问 Amazon S3 存储桶的 AWS Identity and Access Management (IAM) 的 secret/access 密钥以编程方式访问 Amazon S3 存储桶。合作伙伴无法通过控制台访问 Amazon S3 存储桶，因为这些存储桶位于亚马逊 Web Services (AWS) 自己的账户中。

 **问：合作伙伴的开发者需要什么技能？**

合作伙伴的开发人员需要熟悉他们的客户关系管理 (CRM) 系统和 Amazon S3。

 **问：示例代码文件是否包含完整的代码，还是必须由合作伙伴编写代码？**

合作伙伴需要根据提供的示例代码文件编写代码。

 **问：如果合作伙伴使用 Python、Golang 或任何其他语言开发解决方案，那么 AWS Partner Network (APN) 客户互动 (ACE) 是否会为此集成提供这些语言的任何软件开发套件 (SDK)？**

否。

 **问：从 Amazon S3 存储桶到内部 ACE 的同步过程是什么？**

每隔一小时，就会运行一个批处理过程来提取文件并同步信息。 AWS 销售团队在记录中进行的任何更新最多可能需要一小时才能发送到合作伙伴的存储桶。合作伙伴可能会立即收到有关更新的电子邮件通知，但更新 AWS 可能仍会延迟一小时。

 **问：ACE 上传潜在客户和机会文件的频率是多少？**

ACE 每隔一小时发送一次潜在客户和机会数据。

 **问：ACE 有沙盒环境吗？**

是。我们确实有 ACE 的沙盒环境，但出于安全原因，我们无法向合作伙伴提供访问权限。如果您想获得新的机会或潜在客户，请在 Partner Central 上提出支持案例。

 **问：我们如何维护合作伙伴的 CRM 和 APN 中的标识符？**

为了给我们的合作伙伴提供更大的灵活性，我们在系统中使用了两组标识符。

1.  `apnCrmUniqueIdentifier`: AWS 管理此标识符。首先是`OXXXXXX`机会和`LXXXXXX`潜在客户。

1.  `PartnerCrmUniqueIdentifier`/`partnerCrmLeadId`：合作伙伴在其 CRM 中分别管理机会和潜在客户的此标识符。合作伙伴应添加此标识符，同时获取新的机会，将更新追溯到其 CRM。

 如果在没有`apnCrmUniqueIdentifier`或的情况下发送机会`partnerCrmUniqueIdentifier`，则将其 AWS 视为新机会`apnCrmUniqueIdentifier`并为该机会分配新的机会。

 使用`apnCrmUniqueIdentifier`或发送机会时`partnerCrmUniqueIdentifier`，将其 AWS 视为更新操作，并使用有效载荷数据更新现有机会。

 **问：如何防止在两个系统中创建重复记录？**

在合作伙伴 CRM 方面，发送给 ACE 的每条记录都必须有一个唯一的标识符，该标识符被称为`partnerCrmUniqueIdentifier`。同样，ACE 还为每条记录维护一个唯一的标识符，该标识符被称为`apnCrmUniqueIdentifier`。发送数据时，ACE 和合作伙伴都必须包含这两个字段，这有助于确定记录是新商机（如果为空）还是现有机会（如果已填写）。

# 技术常见问题解答—字段
<a name="technical-faq-fields"></a>

 **问：集成是否支持 CSV 格式？**

不是。 该集成仅接受 JSON 文件格式。

 **问：什么时候必须从出站文件夹中删除文件？**

只有在成功处理文件后才将其删除。

 **问：如果我不小心从出站文件夹中删除了文件，在哪里可以找到原始文件？**

这些文件位于`opportunity-outbound-archive`和`lead-outbound-archive`文件夹中。

 **问：在开发过程中，我该怎么做才能获得支持？**

如需开发期间的帮助，请通过合作伙伴中心与 AWS Partner Network (APN) 支持部门联系。

 **问：`opportunityOwnerName`和有什么区别`opportunityOwnerEmail`？**
+ `opportunityOwnerName`：机会所有者在合作伙伴组织中的姓名。这必须是合作伙伴中心用户。
+ `opportunityOwnerEmail`：合作伙伴组织中机会所有者的电子邮件。这必须是合作伙伴中心用户。如果未提供，则机会由合作伙伴中心联盟负责人作为所有者创建。

 **问：所有日期字段（`targetCloseDate`、`lastModifiedDate``createdDate`、和`acceptBy`）的时区是什么？**

日期字段的时区为格林威治标准时间 (GMT)。

 **问：入站 JSON 文件是否有版本控制？**

不是。 Amazon Web Services (AWS) 不支持文件的版本控制。APN 客户参与 (ACE) 在收到文件后立即处理文件，然后在成功处理后删除该文件。如果我们再次收到相同的文件名，则该文件名将被拒绝。

 **问：亚马逊简单存储服务 (Amazon S3) Simple Storage JSON 文件中的哪些字段表示特定销售线索和机会的创建和最新更新日期？**

`createdDate` 和 `lastModifiedDate` 

 **问：如何确定机会是新的还是现有的？**

该字段`PartnerCrmUniqueIdentifier`是我们要求合作伙伴提供的每个机会的唯一标识符。此标识符必须在合作伙伴系统的源 CRM 中定义。我们用它来确定中是否存在机会 AWS。如果存在，我们会使用共享的信息更新机会。如果没有，我们就会创造一个新的机会。

 当我们向合作伙伴发送数据时，我们会同时包含`PartnerCrmUniqueIdentifier`和`apnCrmUniqueIdentifier`。如果分享的机会 AWS 是首次发送的，则您将看不到任何价值`PartnerCrmUniqueIdentifier`。这可以帮助你把这个机会当作 ACE 的新机会对待。一旦你将其摄取到你的 CRM 中，你就会将更新`PartnerCrmUniqueIdentifier`和`apnCrmUniqueIdentifier`同时发送回给我们。

 **问：Amazon S3 中是否可以有多个出站和结果 JSON 文件？**

 是。有时我们可能会在出站文件夹中生成更多文件。同样，如果您将文件发送到入站文件夹，我们会对其进行处理并将结果文件保留在结果文件夹中。处理后必须标记或删除结果文件。

 **问：出站文件是否包含多条记录？**

是。出站文件可以包含多条记录。

 **问：如果在 “机会” 部分下的单个输入 JSON 文件中发送了 20 个入站机会，而其中一个机会不符合 APN 标准，会发生什么？**

如果格式不正确，无论情况如何，整个文件都会被拒绝。如果格式正确，但我们这边只有一个机会无法处理，则结果文件将包含所有 20 个机会及其状态，以及失败机会的错误消息。

 **问：如果成功处理 JSON 文件，需要验证的关键属性有哪些？**

这些是帮助您了解 JSON 文件是否成功处理的关键属性。

```
{
  "inboundApiResults": [
    {
      "warnings": null,  // no warnings
      "partnerCrmUniqueIdentifier": "XXXX", //uniqueId from Partner side 
      "isSuccess": true, // file successfully processed
      "errors": null, //no errors reported 
      "apnCrmUniqueIdentifier": "OXXXX" //uniqueId from AWS side
    }
  ]
}
```

 **问：如果我发送的 JSON 无效会怎样？**

您会收到以下错误响应：“`[{input JSON}]`不属于类型`object`”。

 **问：单个入站 JSON 文件中可以包含多少 lead/opportunity 条记录？**

一个文件中最多可以有 50 条记录。

# 技术常见问题解答—亚马逊 S3
<a name="technical-faq-s3"></a>

 **问：在哪里可以获得亚马逊简单存储服务 (Amazon S3) Simple Service REST API 文档？**

有关更多信息，请参阅 [Amazon S3 REST API 简介](https://docs.aws.amazon.com/AmazonS3/latest/API/Welcome.html)。

 **问：如何获取 Amazon Web Services AWS Key Management Service (AWS KMS) 密钥详细信息以进行身份验证以访问 Amazon S3 存储桶？**

AWS Partner Network (APN) 共享包含密钥名称的策略。

 **问：如何通过 Salesforce.com (SFDC) 对亚马逊 S3 进行身份验证？**

使用示例代码文件 [s3\$1authentication.cls 对 SFDC 中的 Amazon S3 进行](https://github.com/aws-samples/partner-crm-integration-samples/blob/main/code-snippets/S3_Authentication.cls)身份验证。

 **问：如何将文件从 AWS 软件开发套件 (SDK) 上传到 S3？**

使用以下 AWS CLI 命令将文件上传到 S3。

```
aws s3 cp example.json s3://awsexamplebucket/opportunity- inbound/filename.json --acl bucket-owner-full-control
```

 示例代码文件 [Sample\$1 AceOutboundBatch .cls 包含用于从 SF](https://github.com/aws-samples/partner-crm-integration-samples/blob/main/code-snippets/Sample_AceOutboundBatch.cls) DC 上传数据文件的代码。

 **问：谁拥有亚马逊 S3 存储桶？**

AWS 拥有并管理 Amazon S3 存储桶。您可以通过 AWS Identity and Access Management (IAM) 用户以编程方式访问自己的 Amazon S3 存储桶。

 **问：是否有单独的文件夹或存储桶用于接收和发送文件？**

有一个存储桶，里面有不同的文件夹，用于接收和发送文件。有关这些文件夹的更多详细信息，请参阅用户指南。

 **问：我需要使用访问Amazon S3存储桶 AWS Lambda，还是可以使用客户关系管理 (CRM) 系统直接访问它？**

您可以通过两种方式访问它。

 **问：Amazon S3 存储桶是安全还是加密？**

是。我们启用了 Amazon S3 提供的默认加密机制。

 **问：是否可以启用亚马逊简单通知服务 (Amazon SNS) Simple Notification Service 监听 Amazon S3 存储桶，这样我就只能对事件采取行动，而不必定期进行轮询？**

不是。 目前，APN 客户互动 (ACE) 不支持此功能。

 **问：我可以访问哪些文件夹？每个文件夹的用途是什么？**

您可以在中找到 Amazon S3 文件夹的列表[集成先决条件](crm-integration-setting-up.md)。

# 技术常见问题解答——线索和机会
<a name="technical-faq-leads-and-opps"></a>

## 发送和接收潜在客户和机会
<a name="send-and-receive-leads-and-opportunities"></a>

 **问：有文件命名约定吗？**

每个文件名都必须是唯一的。我们建议使用文件名`PartnerProvided FileName+{timestamp}.json`。

 **问：结果的结构是什么？**

可以从以下位置下载结果（成功和错误）的示例文件：
+  [领先业绩成功示例 sample.json](https://github.com/aws-samples/partner-crm-integration-samples/blob/main/lead-samples/Lead-Results-Success-Sample.json) 
+  [机会结果成功示例 sample.json](https://github.com/aws-samples/partner-crm-integration-samples/blob/main/opportunity-samples/Opportunity-Results-Success-Sample.json) 
+  [有错误的潜在业绩 sample.json](https://github.com/aws-samples/partner-crm-integration-samples/blob/main/lead-samples/Lead-Results_With-Errors-Sample.json) 
+  [存在错误的机会结果 sample.json](https://github.com/aws-samples/partner-crm-integration-samples/blob/main/opportunity-samples/Opportunity-Results_With-Errors-Sample.json) 

 **问：结果的命名惯例是什么？**

`PartnerProvidedFileName_result.json` 

 **问：如果我提交第二个同名的 JSON 文件会怎样？**

我们不会处理该文件，文件将移至存档文件夹。

 **问：入站文件的大小限制是多少？**

入站文件大小限制为 1MB。

 **问：可以批处理到一个 JSON 文件中的机会和潜在客户数量是否有上限？**

鉴于 1MB 的限制，我们建议您为每个文件提供一个机会或潜在客户。

 **问：我收到了拒绝访问的错误消息，所以我无法上传文件。我应该怎么办？**

合作伙伴收到*拒绝访问*消息的原因有两个。

1.  您已将文件上传到文件`outbound`夹，而不是`inbound`文件夹。将文件上传到该文件`inbound`夹。

1.  您需要提供访问控制列表 (ACL)。使用以下 Amazon Web Services (AWS) CLI 命令上传数据文件：

```
aws s3 cp example.json s3://awsexamplebucket --acl bucket-owner-full-control
```

 **问：如果上传了扩展名为`.pdf``.docx`、或其他扩展名的文件，`.json`会发生什么？**

我们拒绝这些文件并生成包含原因详细信息的`*.error.json`文件。

 **问：在生产环境中收到数据问题错误消息后我该怎么做？**

1. 如果需要在合作伙伴的客户关系管理 (CRM) 系统中更正数据，请在更正数据后，将修改后的文件发送到亚马逊简单存储服务 (Amazon S3) Simple S3 Service。

1. 如果需要对数据进行任何澄清，请联系您的合作伙伴开发经理 (PDM)。

1. 如需任何其他技术支持，请在 APN 门户网站上提出 AWS Partner Network (APN) 支持案例。

 **问：我在哪里可以找到结果文件以及它们有多长时间可用？**

结果文件位于`lead-inbound-results`和`opportunity-inbound-results`文件夹中。在您删除它们之前，它们一直可用。成功拉取后，您可以删除文件。

 **问：如果我需要在删除结果文件后找到它，在哪里可以找到它？**

您可以在`lead-inbound-results-archive/YYYY/MM/DD`和`opportunity-inbound-results-archive/YYYY/MM/DD`文件夹中找到结果文件。

 **问：如果 APN 处理文件时出现任何故障，如何通知我？**

APN 有警报，可自动创建 Sev2 票证以跟踪处理错误。我们会审核、解决这些问题并将其传达给合作伙伴。

 **问：机会启动后可以更新哪些字段？**

以下字段只能由独立软件供应商 (ISV) Accelerate 合作伙伴更新：
+ `isThisForMarketplace` 
+ `isNetNewBusinessForCompany` 
+ `deliveryModel` 
+ `awsFieldEngagement` 
+ `additionalComments` 

 **问：我收到了 “*记录不可编辑*” 错误。这是什么意思？**

当您向合作伙伴发送推荐的新机会时，该机会将通过验证流程，APN 客户参与 (ACE) 团队必须批准或拒绝该机会。当机会正在审核中且尚未通过验证时，您无法更新记录，并且会收到此错误。

 **问：如果我这边没有活动（例如：我没有处理文件或没有发送任何入库机会），会发生什么？**

如果您没有发送任何信息或没有处理我们提供的文件，则我们目前没有机制来提醒您。我们鼓励您监控您的系统，以确保信息流向 APN。

 **问：提交 new/updated 入站机会/潜在客户后，JSON 结果多久才会出现在结果文件夹中？**

处理几乎是实时的。您应该在不到五分钟的时间内收到文件。

 **问：如果我发送的入站机会 CRM 不符合 APN 标准的 format/length 限制，系统将如何处理？ 它会生成错误报告吗？**

如果文件不是字段定义格式，则 APN 的结果文件会调用该文件。

 **问：启动时我还没有 AWS 账户 ID。我该怎么办？**

按照 ACE 流程，`Launched`表示工作负载已完成并开始计费。这需要一个 AWS 账户 ID。有关更多信息，请参阅 [ACE 计划 FAQs](https://partnercentral.awspartner.com/partnercentral2/s/resources?Id=0690h000003xjjXAAQ)。

 **问：在用户验收测试 (UAT) 之后，在转向生产的过程中应如何处理历史数据？**

默认情况下，当 ACE 中发生任何更新时，我们会将这些机会发送到 Amazon S3 存储桶。对于您不想处理的历史数据，您需要为提供虚拟值，例如`X0001, X0002….X000N`在数据提取中为不想在系统中处理的内容提供虚拟值。`partnerCrmUniqueIdentifier`你需要编写代码来识别这些标识符并相应地处理它们。其余的机会提供了正确的`partnerCrmUniqueIdentifier`价值。这可确保您完全控制系统中要处理的内容和不处理的内容。

 **问：出站文件是否包含多条记录？**

是。出站文件可以包含多条记录。

 **问：为什么某些字段的数据会发送 “*接受” 以供查看*？**

对于 AWS 推荐的机会或销售线索，所有 PII 字段都标有 “*接受” 标签以供查看*，直到您接受机会或潜在客户。接受后，您将在下一个同步周期中收到所有数据字段。

 **问：首次同步新的 AWS 推荐机会或潜在客户时，我该怎么做？**

首次同步新的机会或潜在客户时，您需要接受或拒绝以获取更多数据（例如：客户联系人）。

## 创建和更新机会/潜在客户
<a name="creating-and-updating-opportunitiesleads"></a>

 **问：如何通过整合将新的*合作伙伴推荐（源自）*机会引入 ACE？**

要通过集成在 ACE 中创造新的机会，您需要将定义的 JSON 格式的所需机会信息提取到该`opportunity-inbound`文件夹中。 AWS 处理此信息，在 ACE 中创建新机会，并在`opportunity-inbound-processed-results`文件夹中共享 successful/failed 创建操作的结果。

 **问：整合如何区分新机会提交和更新？**

每个机会`PartnerCrmUniqueIdentifier`上的字段都是必填的唯一标识符。此标识符必须在您的系统源 CRM 中定义。 AWS 使用它来确定 ACE 中是否已存在机会。如果在 ACE 中可用，我们会使用共享的信息来更新机会，但如果 ACE 中没有，我们会使用共享的信息来创造新的机会。

 **问：如果我已经通过集成实现了更新功能，我需要做些什么才能使用集成提交（创造）新的机会？**

您需要对现有集成进行以下更改：

1.  开始在文件夹中获取新的创建机会。`opportunity-inbound`在同一文件夹中提供更新。

1.  确保创建所需的必填字段在共享的机会 JSON 中可用。

1.  确认每个新机会都有 ACE/Partn `PartnerCrmUniqueIdentifier` er Central 中不存在的唯一机会。一个重要的上线最佳实践是将 ACE 中的现有数据映射并更新到您的 CRM `PartnerCrmUniqueIdentifier` 中的每个数据，这样我们就不会在收到更新时创建重复数据。如需帮助，请联系 ACE。

 **问：作为上线流程的一部分，如何使用我的 ACE 更新现有机会？`PartnerCrmUniqueIdentifier`** 

 ACE 团队为您提供所有开放机会的清单，以帮助您为产品发布做准备。您必须将 ACE 中的这些现有机会映射到相应的机会`PartnerCrmUniqueIdentifier`，并将更新后的文件返回给 ACE，以便集成到 AWS的 CRM 中。

 如果您选择仅同步机会 AWS 提供的子集，则必须开发逻辑来绕过任何您不想处理的机会的 AWS 更新。这种方法还应应用于 future 入职后的机会。对于需要在两者之间`partnerCrmUniqueIdentifier`进行协调的机会，您必须提供相关信息 CRMs。此外，您还应指明哪些机会不会更新（例如：标记已关闭或已关闭的机会），以将其排除在更新之外。必须为所有 AWS 共享且您接受的未平仓/活跃机会分配一个。`partnerCrmUniqueIdentifier`

 **问：我能否仅更新机会或潜在客户中的特定字段？**

是。您只能提供需要更新的字段以及必要的标识符。

 **问：是否可以更改 *ApnCrmUniqueIdentifier***？

不是。 对于每个机会，此标识符保持不变 AWS ，并唯一标识每个机会。

 **问：如果我提供的*partnerCrmUnique标识符*不正确**怎么办？

如果您提供的标识符不正确，则会创建一个新的机会。确保准确性以避免数据重复。

 **问：我能否更新已 AWS 提交的商机？**

是。您可以使用正确的方法更新 AWS 提交的机会`partnerCrmUniqueIdentifier`。

 **问：我预计多久能收到已提交的机会的结果？**

处理几乎是实时的，通常在几分钟之内即可在`opportunity-inbound-processed-results`文件夹中获得结果。

 **问：如果提交的机会出现处理错误，我该怎么办？**

查看结果文件中的错误详情，解决问题，并向 ACE 支持团队寻求进一步帮助。

 **问：我能否通过整合删除机会？**

不是。 不支持直接删除。您可以更新机会以反映 “*已关闭*” 状态。

 **问：“*记录不可编辑*” 错误是什么意思？**

如果您尝试在 ACE 审核中更新机会，则会发生此错误。只有经过验证，才能编辑这些机会。

 **问：如果不发送更新或新机会怎么办？**

如果您不通过集成发送更新或新机会，则不会收到和处理任何新数据。

 **问：结果文件有多长时间可用？**

结果文件在合理的时间内可用。您应该及时检索并管理它们。

# 技术常见问题解答—版本控制和向后兼容性
<a name="technical-faq-versioning"></a>

 **问：Amazon Web Services (AWS) 数据交换中的有效载荷是什么？**

有效负载是采用 JSON 格式的结构化数据，发送到入站 AWS 或出站发送 AWS。此 JSON 结构中的每个键都被称为一个*字段*，每个字段都有一个关联的*值。*

 **问：有效载荷版本是如何确定的？**

负载版本是在有效载荷本身的`version`字段中指定的。符合字段定义 v13 的有效载荷被视为有效载荷版本 1.0，而遵循字段定义 v14 或更高版本中定义的格式的负载被称为 Payload 版本 2.0。

 **问：在这种情况下，向后兼容意味着什么？它是如何处理的？**

向后兼容性可确保在较新的有效载荷版本中引入新的和必填字段时，现有机会不会失败。 AWS 通过为新版本中必填的字段自动分配默认值来维护这一点。您可能会注意到 AWS Partner Network (APN) 客户互动 (ACE) 用户界面中没有通过客户关系管理 (CRM) 集成明确提供的值。每个字段的详细信息和条件在字段描述或有关该字段的其他详细信息中进行了说明。

 **问：向后兼容性是一项永久性功能吗？**

不是。 向后兼容性是有时限的，旨在为您提供计划和实施即将到来的变更的灵活性。它将在规定的截止日期之后停止工作，该截止日期将在今年晚些时候作为更广泛发布的一部分宣布。

 **问：当我开始发送 2.0 版本的有效载荷时会发生什么？**

发送版本为 2.0 的有效负载后，系统会假设所有必要的更改都已实现，并且新有效载荷版本的验证适用于所有后续更改。必须不要在 1.0 版和 2.0 版有效负载之间部分实现功能。

 **问：更新到 2.0 版后，我能否恢复到有效载荷版本 1.0？**

不是。 过渡到有效载荷版本 2.0 是一个单向过程。更新到 2.0 版后，就无法恢复到有效负载的 1.0 版。