

 AWS 合作夥伴中心 API 參考已重組。如需支援的 API 操作的詳細資訊，請參閱 [AWS 合作夥伴中心 API 參考](https://docs.aws.amazon.com/partner-central/latest/APIReference/Welcome.html)。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# AWS Partner Central Selling API 的通知
<a name="selling-api-events"></a>

銷售 API 的事件提供有關狀態變更或機會詳細資訊的即時通知。這些事件有助於讓您的系統與AWS Partner Central 保持同步，並有助於確保及時回應和更新。

**Topics**
+ [完成監控事件的先決條件](#events-prerequites)
+ [設定 Amazon EventBridge 以監控事件](#eventbridge-setup)
+ [進一步了解銷售 API 事件](#learn-about-events)

## 完成監控事件的先決條件
<a name="events-prerequites"></a>

使用者需要適當的 IAM 許可，才能存取和管理 Partner Central 銷售 API 發佈的事件。如需 EventBridge 可用動作、資源和條件索引鍵的詳細資訊，請參閱《[Amazon EventBridge 使用者指南》中的在 Amazon EventBridge 中使用 IAM 政策條件](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-use-conditions.html#events-pattern-detail-type)。 * EventBridge * 其中一個條件索引鍵是 `events:detail-type`，可用於將許可範圍限定為特定事件類型。

下列範例政策示範如何自訂和限制提議事件的許可。`AllowPutRuleForPartnercentralSellingEvents` 陳述式允許建立規則，但僅適用於來自`aws.partnercentral-selling`來源的事件。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Sid": "AllowPutRuleForPartnercentralSellingEvents",
    "Effect": "Allow",
    "Action": "events:PutRule",
    "Resource": "*",
    "Condition": {
      "ForAllValues:StringEquals": {
        "events:source": "aws.partnercentral-selling"
      }
    }
  }
}
```

------

## 設定 Amazon EventBridge 以監控事件
<a name="eventbridge-setup"></a>

若要監控銷售 API 事件，您可以建立符合您要擷取之事件的 EventBridge 規則。您可以使用AWS Management Console或AWS SDKs來建立和管理規則。下列各節說明如何使用兩種方法建立規則。無論您使用何種方法，都必須在美國東部 （維吉尼亞北部） `us-east-1`區域中建立規則。

### AWS Management Console設定
<a name="eventbridge-console-setup"></a>

若要使用 設定 EventBridge 規則AWS Management Console，請遵循《[Amazon EventBridge 使用者指南》中的建立對 Amazon EventBridge 中的事件做出反應的規則](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule.html)中的步驟。 * EventBridge * 建立規則時，您必須將事件匯流排設定為**預設值**，並在美國東部 （維吉尼亞北部） `us-east-1`區域中建立規則。

以下是事件規則的範例：

```
{
    "source": ["aws.partnercentral-selling"],
    "detail": {
        "catalog": ["AWS"]
    }
}
```

### AWS開發套件設定
<a name="eventbridge-sdk-setup"></a>

您可以使用AWS SDKs以程式設計方式建立和管理 EventBridge 規則。如需詳細資訊，請參閱《*Amazon EventBridge API 參考*》中的 [PutRule](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutRule.html)。

下列範例使用適用於 Python 的AWS SDK (Boto3)：

```
import boto3

client = boto3.client('events', region_name='us-east-1')

response = client.put_rule(
    Name='MyOpportunityCreatedRule',
    EventPattern=
    '{
        "source": ["aws.partnercentral-selling"], 
        "detail-type": ["Opportunity Created"], 
        "detail": {"catalog": ["AWS"]}
    }',
    State='ENABLED'
)
print('Rule ARN:', response['RuleArn'])
```

## 進一步了解銷售 API 事件
<a name="learn-about-events"></a>

下列各節說明銷售 API 事件類型、觸發它們的案例，以及事件範例。

### Event types (事件類型)
<a name="types-of-events"></a>

以下是事件類型及其觸發條件。
+ [機會建立](#opportunity-created)：在建立新機會時觸發。
+ [機會已更新](#opportunity-updated)：當機會 （機會或其對應的AWS機會摘要） 更新時觸發。
+ [建立的參與邀請](#engagement-invitation-created)：建立AWS推薦邀請時觸發。
+ [已接受業務開發邀請](#engagement-invitation-accepted)：當合作夥伴接受AWS業務開發邀請時觸發，確認他們對與 合作AWS的機會感興趣。
+ [拒絕業務開發邀請](#engagement-invitation-rejected)：當合作夥伴拒絕AWS業務開發邀請時觸發。
+ [參與邀請已過期](#engagement-invitation-expired)：當合作夥伴拒絕 EngagementInvitation 時，會觸發此事件。它會通知傳送和接收合作夥伴邀請已過期。
+ [新增的參與成員](#engagement-member-added)：當新成員在接受邀請後加入參與時，會觸發此事件。它會通知所有目前的業務開發成員有關要新增至業務開發的新成員。
+ [建立業務開發資源快照](#engagement-resource-snapshot-created)：建立新的業務開發相關資源 （例如機會） 快照修訂版時，會觸發此事件。它會通知業務開發的所有目前成員有關相關資源快照的變更。
+ [建立業務](#engagement-created)開發：在建立新的業務開發時觸發。
+ [業務開發已更新](#engagement-updated)：在業務開發更新時觸發。

### 事件案例
<a name="events-summary"></a>

下表說明事件在不同情況下的運作方式。下列假設適用於這些案例：
+ AWS也是這些案例中的合作夥伴。
+ `ResourceSnapshotJob` 是由合作夥伴正確設定。
+ 機會更新的欄位也位於資源快照的機會範本上。


| **身為合作夥伴的您所採取的動作** | **收到的事件** | **參與者類型** | 
| --- | --- | --- | 
| 您建立機會 | 已建立機會 |  | 
| 您可以使用 StartEngagementFromOpportunityTask來提交機會 | 機會已更新、已建立業務開發、已建立業務開發資源快照、新增業務開發成員、已建立業務開發邀請 |  | 
| AWS核准您提交的機會 | 已接受業務開發邀請、已新增業務開發成員、已更新機會、已建立業務開發資源快照 |  | 
| AWS拒絕您提交的機會 | 業務開發邀請遭拒、機會已更新、業務開發資源快照已建立 |  | 
| 您可以將AWS Marketplace優惠與機會建立關聯 | 機會已更新 |  | 
| 將解決方案與機會建立關聯 | 機會已更新，已建立業務開發資源快照 |  | 
| 您更新機會 | 機會已更新、業務開發資源快照已建立 （如果 ResourceSnapshotJob 已設定，且 欄位更新位於範本上，則為選用） |  | 
| AWS更新您的機會 | 機會已更新，已建立業務開發資源快照 |  | 
| 您邀請其他合作夥伴參與 | 已建立業務開發邀請 | 寄件者 | 
| 合作夥伴已接受您加入參與的邀請 | 已接受業務開發邀請，已新增業務開發成員 | 寄件者 | 
| 合作夥伴拒絕您加入參與的邀請 | 參與邀請遭拒 | 寄件者 | 
| 合作夥伴在 15 天內都不會對您發出加入參與的邀請採取行動 | 參與邀請已過期 | 寄件者 | 
| 您收到其他合作夥伴的邀請來加入業務開發 | 已建立業務開發邀請 | 接收者 | 
| 您接受其他合作夥伴透過 加入業務開發的邀請 StartEngagementByAcceptingInvitationTask | 已接受業務開發邀請、已新增業務開發成員、已建立機會、已更新機會、已建立業務開發資源快照 | 接收者 | 
| 您拒絕從其他合作夥伴加入參與的邀請 | 參與邀請遭拒 | 接收者 | 
| 您在 15 天內未對邀請加入其他合作夥伴的參與採取行動 | 參與邀請已過期 | 接收者 | 
| 您建立業務開發 | 已建立參與 | 寄件者 | 
| 您更新業務開發 | 已更新業務開發 | 寄件者、收件人 | 

### 範例事件
<a name="example-rules"></a>

下列各節提供上一節先前列出的事件範例。

**Topics**
+ [已建立機會](#opportunity-created)
+ [機會已更新](#opportunity-updated)
+ [已建立業務開發邀請](#engagement-invitation-created)
+ [已接受業務開發邀請](#engagement-invitation-accepted)
+ [參與邀請遭拒](#engagement-invitation-rejected)
+ [參與邀請已過期](#engagement-invitation-expired)
+ [已新增業務開發成員](#engagement-member-added)
+ [已建立業務開發資源快照](#engagement-resource-snapshot-created)
+ [已建立參與](#engagement-created)
+ [已更新業務開發](#engagement-updated)

#### 已建立機會
<a name="opportunity-created"></a>

合作夥伴使用此事件來：
+ 通知使用者已建立新的機會。
+ 觸發自動化工作流程，例如更新 CRM 系統或通知銷售團隊有關新機會的建立。

下列範例顯示典型的機會建立事件。

```
{
    "version": "1",
    "id": "01234567-0123-0123-0123-0123456789ab",
    "source": "aws.partnercentral-selling",
    "detail-type": "Opportunity Created",
    "time": "2023-04-16T15:23:45Z",
    "region": "us-east-1",
    "account": "123456789012",
    "detail": {
        "schemaVersion": "{{<version number>}}",
        "catalog": "{{<Sandbox | AWS>}}",
        "opportunity": {
            "identifier": "String"
        }
    }
}
```

#### 機會已更新
<a name="opportunity-updated"></a>

合作夥伴使用此事件來：
+ 通知使用者現有機會已更新。
+ 觸發自動化工作流程，例如更新 CRM 系統或通知銷售團隊。

下列範例顯示典型的 機會更新事件。

```
{
    "version": "1",
    "id": "01234567-0123-0123-0123-0123456789ab",
    "source": "aws.partnercentral-selling",
    "detail-type": "Opportunity Updated",
    "time": "2023-04-16T15:23:45Z",
    "region": "us-east-1",
    "account": "123456789012",
    "detail": {
        "schemaVersion": "{{<version number>}}",
        "catalog": "{{<Sandbox | AWS>}}",
        "opportunity": {
             "identifier": "String"
        }
    }
}
```

#### 已建立業務開發邀請
<a name="engagement-invitation-created"></a>

合作夥伴使用此事件來：
+ 通知使用者他們收到的新 EngagementInvitation。
+ 觸發自動化工作流程以接受或拒絕邀請，例如更新 CRM 系統或通知銷售團隊。

下列範例顯示典型的建立業務開發邀請事件。

```
{
    "version": "0",
    "id": "01234567-0123-0123-0123-0123456789ab",
    "detail-type": "Engagement Invitation Created",
    "source": "aws.partnercentral-selling",
    "account": "123456789012",
    "time": "2023-04-15T12:34:56Z",
    "region": "us-east-1",
    "resources": [
      "arn:aws:partnercentral:us-east-1::catalog/AWS/engagement-invitation/engi-v7p8z56whnauo"
    ],
    "detail": {
      "catalog": "AWS",
      "engagementInvitation": {
        "arn": "arn:aws:partnercentral:us-east-1::catalog/AWS/engagement-invitation/engi-v7p8z56whnauo",
        "id": "engi-v7p8z56whnauo",
        "engagementId": "eng-12345678901234",      
        "senderAccountId": "string",
        "receiverAccountId": "string",      
        "senderCompanyName": "string",
        "expirationDate": "string",
        "participantType": "Enum", //Sender/Receiver
		"payloadType": "LeadInvitation" //OpportunityInvitation|LeadInvitation
      }
    }
}
```

#### 已接受業務開發邀請
<a name="engagement-invitation-accepted"></a>

合作夥伴使用此事件來：
+ 通知使用者已接受 EngagementInvitation。
+ 更新其內部記錄，以反映業務開發中的新合作夥伴。
+ 觸發自動化工作流程以同步資料，或通知其他團隊成員有關新的業務開發成員。

下列範例顯示典型的參與邀請接受事件。

```
{
    "version": "0",
    "id": "01234567-0123-0123-0123-0123456789ab",
    "detail-type": "Engagement Invitation Accepted",
    "source": "aws.partnercentral-selling",
    "account": "123456789012",
    "time": "2023-04-16T15:23:45Z",
    "region": "us-east-1",
    "resources": ["arn:aws:partnercentral:us-east-1::catalog/AWS/engagement-invitation/engi-v7p8z56whnauo"],
    "detail": {
        "catalog": "AWS",
        "engagementInvitation": {
            "arn": "arn:aws:partnercentral:us-east-1::catalog/AWS/engagement-invitation/engi-v7p8z56whnauo",
            "id": "engi-v7p8z56whnauo",
            "engagementId": "eng-12356whnauo",       
            "participantType": "Enum", //Sender/Receiver
            "senderAccountId": "string",
            "receiverAccountId": "string",
            "payloadType": "LeadInvitation" //OpportunityInvitation|LeadInvitation
        }
    }
}
```

#### 參與邀請遭拒
<a name="engagement-invitation-rejected"></a>

合作夥伴使用此事件來：
+ 通知使用者 EngagementInvitation 已被拒絕。
+ 更新其內部記錄以反映遭拒的邀請。
+ 觸發任何必要的工作流程，例如通知銷售團隊拒絕。

下列範例顯示典型的參與邀請遭拒事件。

```
{
    "version": "0",
    "id": "01234567-0123-0123-0123-0123456789ab",
    "detail-type": "Engagement Invitation Rejected",
    "source": "aws.partnercentral-selling",
    "account": "123456789012",
    "time": "2023-04-17T09:48:27Z",
    "region": "us-east-1",
    "resources": ["arn:aws:partnercentral:us-east-1::catalog/AWS/engagement-invitation/engi-v7p8z56whnauo"],
    "detail": {
        "catalog": "AWS",
        "engagementInvitation": {
            "arn": "arn:aws:partnercentral:us-east-1::catalog/AWS/engagement-invitation/engi-v7p8z56whnauo",
            "id": "engi-v7p8z56whnauo",
            "engagementId": "eng-12356whnauo",
            "participantType": "Enum", //Sender/Receiver
            "senderAccountId": "string",
            "receiverAccountId": "string",    
            "payloadType": "LeadInvitation" //OpportunityInvitation|LeadInvitation 
        } 
    }
}
```

#### 參與邀請已過期
<a name="engagement-invitation-expired"></a>

合作夥伴使用此事件來：
+ 通知使用者 EngagementInvitation 已過期且無法再對其採取行動。
+ 更新其內部記錄以反映過期的邀請。
+ 觸發任何必要的工作流程，例如通知銷售團隊過期的邀請。

下列範例顯示典型的 參與邀請已過期事件。

```
{
    "version": "0",
    "id": "01234567-0123-0123-0123-0123456789ab",
    "detail-type": "Engagement Invitation Expired",
    "source": "aws.partnercentral-selling",
    "account": "123456789012",
    "time": "2023-04-18T18:20:15Z",
    "region": "us-east-1",
    "resources": [
      "arn:aws:partnercentral:us-east-1::catalog/AWS/engagement-invitation/engi-v7p8z56whnauo"
    ],
    "detail": {
      "catalog" : "AWS",    
      "engagementInvitation": {
        "arn": "arn:aws:partnercentral:us-east-1::catalog/AWS/engagement-invitation/engi-v7p8z56whnauo",
        "id": "engi-v7p8z56whnauo",
        "engagementId": "eng-12356whnauo",        
        "participantType": "Enum", //Sender/Receiver
        "senderAccountId": "string",
        "receiverAccountId": "string",
        "payloadType": "LeadInvitation" //OpportunityInvitation|LeadInvitation
      }  
    }
}
```

#### 已新增業務開發成員
<a name="engagement-member-added"></a>

合作夥伴使用此事件來：
+ 通知使用者參與成員資格的變更。
+ 更新其內部記錄以反映新的業務開發成員。
+ 觸發任何必要的工作流程，例如通知團隊成員變更。

下列範例顯示典型的 參與成員新增事件。

```
{
    "version": "0",
    "id": "01234567-0123-0123-0123-0123456789ab",
    "detail-type": "Engagement Member Added",
    "source": "aws.partnercentral-selling",
    "account": "123456789012",
    "time": "2023-04-16T15:23:45Z",
    "region": "us-east-1",
    "resources": [
      "arn:aws:partnercentral:us-east-1::catalog/AWS/engagement/eng-v7p8z56whnauo"
    ],
    "detail": {
      "catalog" : "AWS",
      "engagement": {
        "id": "eng-v7p8z56whnauo"
      },
      "engagementMember": {
        "accountId": "string",
        "companyName": "string"
      }
    }
}
```

#### 已建立業務開發資源快照
<a name="engagement-resource-snapshot-created"></a>

合作夥伴使用此事件來追蹤與參與相關的資源變更，並觸發自動化工作流程，例如更新 CRM 系統或通知銷售團隊。快照範本會決定更新類型：

`OpportunitySummaryView`  
+ 通知業務開發的所有成員，業務開發已更新。

`AwsOpportunitySummaryFullView`  
+ 追蹤 AWS 專門針對業務開發中的機會所做的更新。
+ 只有機會擁有者可以看到此通知和快照。
+ 包括無法透過`OpportunitySummaryView`範本取得的交易規模調整更新。

下列範例顯示典型的 業務開發資源快照已建立事件。

```
{
    "version": "0",
    "id": "01234567-0123-0123-0123-0123456789ab",
    "detail-type": "Engagement Resource Snapshot Created",
    "source": "aws.partnercentral-selling",
    "account": "123456789012",
    "time": "2023-04-18T18:20:15Z",
    "region": "us-east-1",
    "resources": [
      "arn:aws:partnercentral:us-east-1::catalog/AWS/engagement/eng-v7p8z56whnauo"
    ],
    "detail": {
      "catalog" : "AWS",
      "resourceSnapshot": {
        "arn": "arn:aws:partnercentral-selling:us-east-1::catalog/AWS/engagement/eng-v7p8z56whnauo/resource/Opportunity/o-12312/template/temp-name/snapshot/snapshot-19232",
        "engagementId": "eng-v7p8z56whnauo",
        "resourceType": "Opportunity",      
        "resourceId" : "O123211231",
        "createdBy": "123123123123",
        "targetMemberAccounts": ["123123123123", "aws"], 
        "resourceSnapshotTemplateName": "temp-name"
      }
    }
}
```

#### 已建立參與
<a name="engagement-created"></a>

合作夥伴使用此事件來：
+ 通知使用者已建立新的業務開發。
+ 觸發自動化工作流程，例如更新 CRM 系統，或通知銷售團隊新的互動建立。

下列範例顯示典型的 Engagement Created 事件。

```
{
    "version": "0",
    "id": "01234567-0123-0123-0123-0123456789ab",
    "detail-type": "Engagement Created",
    "source": "aws.partnercentral-selling",
    "account": "123456789012",
    "time": "2023-04-18T18:20:15Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:partnercentral:us-east-1::catalog/AWS/engagement/eng-567a1j5hxp35lo"
    ],
    "detail": {
        "catalog": "AWS",
        "engagement": {
            "engagementArn": "arn:aws:partnercentral:us-east-1::catalog/AWS/engagement/eng-567a1j5hxp35lo",
            "engagementId": "eng-567a1j5hxp35lo",
            "CreatedAt": "2023-04-18T18:20:15Z",
            "CreatedBy": "aws",
            "ContextTypes": ["Lead"]
            
        }
    }
}
```

#### 已更新業務開發
<a name="engagement-updated"></a>

合作夥伴使用此事件來：
+ 通知使用者現有業務開發已更新。
+ 觸發自動化工作流程，例如更新 CRM 系統或通知銷售團隊。

下列範例顯示典型的 Engagement Updated 事件。

```
{
    "version": "0",
    "id": "01234567-0123-0123-0123-0123456789ab",
    "detail-type": "Engagement Updated",
    "source": "aws.partnercentral-selling",
    "account": "123456789012",
    "time": "2023-04-18T18:20:15Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:partnercentral:us-east-1::catalog/AWS/engagement/eng-567a1j5hxp35lo"
    ],
    "detail": {
        "catalog": "AWS",
        "engagement": {
            "engagementArn": "arn:aws:partnercentral:us-east-1::catalog/AWS/engagement/eng-567a1j5hxp35lo",
            "engagementId": "eng-567a1j5hxp35lo",
            "LastModifiedAt": "2023-04-18T18:20:15Z",
            "LastModifiedBy": "aws",
            "ContextTypes": ["Lead", "CustomerProject"]
        }
    }
}
```