

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

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

# AWS合作夥伴中央帳戶 API 的通知
<a name="account-api-events"></a>

合作夥伴帳戶連線通知可讓合作夥伴隨時掌握直接影響其商業關係和營運工作流程的連線生命週期事件。這些事件對於合作夥伴來說至關重要：
+ 迅速回應新的協同合作
+ 保持對其連線產品組合狀態的意識
+ 建立或終止連線時採取適當的動作
+ 了解關係何時變更，以確保業務持續性

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

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

使用者需要適當的 IAM 許可，才能存取和管理帳戶連線 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`，可用於將許可範圍限定為特定事件類型。

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

如需詳細的 IAM 政策範例，請參閱 EventBridge 許可上的 AWS 文件。

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowPutRuleForPartnerCentralAccountEvents",
      "Effect": "Allow",
      "Action": "events:PutRule",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "events:source": "aws.partnercentral-account.connection"
        }
      }
    }
  ]
}
```

## 設定 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-account"],
    "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='MyConnectionInvitationReceivedRule',
    EventPattern=
    '{
        "source": ["aws.partnercentral-account"], 
        "detail-type": ["Partner Connection Invitation Received"], 
        "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>

以下是事件類型及其觸發條件。
+ [收到合作夥伴連線邀請](#connection-invitation-received)：通知接收者另一個合作夥伴想要建立連線
+ [已接受合作夥伴連線邀請](#connection-invitation-accepted)：通知寄件者已接受其邀請，且連線現在處於作用中狀態
+ [拒絕合作夥伴連線邀請](#connection-invitation-rejected)：通知寄件者其邀請遭拒
+ [已取消合作夥伴連線](#connection-cancelled)：當作用中連線終止時，通知其他連線的參與者
+ [已取消合作夥伴連線邀請](#connection-invitation-cancelled)：在採取任何動作之前，通知接收者寄件者已撤銷其邀請
+ [合作夥伴連線邀請已過期](#connection-invitation-expired)：通知寄件者和接收者邀請已過期

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

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

**Topics**
+ [已接收的合作夥伴連線邀請](#connection-invitation-received)
+ [已接受合作夥伴連線邀請](#connection-invitation-accepted)
+ [合作夥伴連線邀請遭拒](#connection-invitation-rejected)
+ [已取消合作夥伴連線](#connection-cancelled)
+ [已取消合作夥伴連線邀請](#connection-invitation-cancelled)
+ [合作夥伴連線邀請已過期](#connection-invitation-expired)

#### 已接收的合作夥伴連線邀請
<a name="connection-invitation-received"></a>

##### 觸發內容
<a name="connection-invitation-received-context"></a>

當透過 CreateConnectionInvitation API 成功建立連線邀請並保留在 PAC 的資料存放區時，就會產生此事件。建立邀請成功後會立即傳送事件，並保留在 PAC 的資料存放區中，而不只是在進行 API 呼叫時。

建立新的連線邀請時，系統會自動傳送事件。每個建立的邀請一個事件，沒有相同邀請的重複事件。

##### 收件人
<a name="connection-invitation-received-recipients"></a>

連線邀請中接收者AWS的帳戶。

##### 預期的處理方式
<a name="connection-invitation-received-handling"></a>

典型的客戶動作：
+ 即時通知：觸發業務團隊有關新合作夥伴關係機會的提醒
+ 工作流程自動化：使用待定邀請自動更新合作夥伴管理系統
+ 決策支援：根據連線類型，將邀請路由給適當的決策者
+ 稽核記錄：記錄邀請接收以進行合規和合作夥伴關係追蹤
+ 回應自動化：對於信任的合作夥伴，可能會自動接受特定邀請類型

常見整合模式：
+ Lambda 函數 → 更新合作夥伴入口網站儀表板
+ SQS 佇列 → 批次程序邀請以供檢閱
+ SNS 主題 → 向業務團隊傳送電子郵件/Slack 通知
+ API 目的地 → Webhook 到外部 CRM/合作夥伴管理系統

##### 範例
<a name="connection-invitation-received-example"></a>

```
{
  "version": "1",
  "id": "<event id>",
  "detail-type": "Partner Connection Invitation Received",
  "source": "aws.partnercentral-account",
  "time": "<ISO 8601 date time>",
  "region": "us-east-1",
  "account": "<corresponding partner AWS account>",
  "resources": [ "<<Connection Invitation ARN>>" ],
  "detail": {
    "catalog": "AWS",
    "connectionInvitation" :{
        "arn": "<<Connection Invitation ARN>>",
        "id": "pacinv-****",
        "connectionType": "OpportunityCollaboration",
        "inviterEmail": "abc@def.com",
        "invitationMessage": "We'd like to collaborate on a joint solution for cloud security. Please accept this connection invitation to proceed.",
        "senderCompanyName": "<<Sender Partner Account Name>>",
        "senderProfileId": "pprofile-****",
        "expiresAt": "<ISO 8601 date time>"
    }
  }
}
```

#### 已接受合作夥伴連線邀請
<a name="connection-invitation-accepted"></a>

##### 觸發內容
<a name="connection-invitation-accepted-context"></a>

當成功接受連線邀請，並透過 AcceptConnectionInvitation API 建立連線並保留在 PAC 的資料存放區時，就會產生此事件。邀請接受成功完成並建立連線後，會立即傳送事件。

接受連線邀請時，系統會自動傳送事件。每個接受的邀請一個事件，沒有相同接受的重複事件。

##### 收件人
<a name="connection-invitation-accepted-recipients"></a>

涉及連線邀請的兩個AWS帳戶：最初傳送邀請的寄件者帳戶，以及接受邀請的接收者帳戶。

##### 預期的處理方式
<a name="connection-invitation-accepted-handling"></a>

典型的客戶動作：
+ 合作夥伴關係啟用：觸發工作流程以啟用第 2 層業務活動
+ 狀態更新：更新具有作用中連線狀態的合作夥伴管理系統
+ 通知：提醒業務團隊成功建立合作夥伴關係
+ 存取佈建：自動授予適當的協同合作許可
+ 分析：追蹤合作夥伴關係轉換率和成功指標

常見整合模式：
+ Lambda 函數 → 啟用資料共用許可並更新合作夥伴入口網站
+ SQS 佇列 → 業務設定的批次處理連線啟用
+ SNS 主題 → 向業務和技術團隊傳送電子郵件/Slack 通知
+ API 目的地 → Webhook 到 CRM 系統以更新合作夥伴關係狀態

##### 範例
<a name="connection-invitation-accepted-example"></a>

```
{
  "version": "1",
  "id": "<event id>",
  "detail-type":  "Partner Connection Invitation Accepted",
  "source": "aws.partnercentral-account",
  "time": "<ISO 8601 date time>",
  "region": "us-east-1",
  "resources": [ "<<Connection Invitation ARN>>" , "<<Connection ARN>>" ],
  "account": "<corresponding partner AWS account>",
  "detail": {
    "catalog": "AWS",
    "connectionInvitation" :{
        "arn": "<<Connection Invitation ARN>>",
        "id": "pacinv-****",
        "connectionType": "OpportunityCollaboration"
    },
    "connection": {
        "arn": "<<Connection ARN>>",
         "id": "pac-*****",
         "Participant1AccountId": "<<Sender AWS AccountId>>", 
         "Participant2AccountId": "<<Receiver AWS AccountId>>",
         "status": "ACTIVE"
     }
  }
}
```

#### 合作夥伴連線邀請遭拒
<a name="connection-invitation-rejected"></a>

##### 觸發內容
<a name="connection-invitation-rejected-context"></a>

當透過 RejectConnectionInvitation API 成功拒絕連線邀請時，就會產生此事件。邀請拒絕處理後立即傳送事件，並保留在 PAC 的資料存放區中。

拒絕連線邀請時，系統會自動傳送事件。每個邀請拒絕一個事件，相同拒絕沒有重複的事件。

##### 收件人
<a name="connection-invitation-rejected-recipients"></a>

最初傳送連線邀請AWS的帳戶 （寄件者帳戶）。

##### 預期的處理方式
<a name="connection-invitation-rejected-handling"></a>

典型的客戶動作：
+ 狀態更新：更新具有拒絕狀態的合作夥伴管理系統
+ 後續動作：觸發替代合作夥伴關係方法的工作流程
+ 通知：提醒業務團隊有關合作夥伴關係決策
+ 清除：從內部系統移除擱置中的邀請參考

常見整合模式：
+ Lambda 函數 → 更新合作夥伴入口網站並觸發後續工作流程
+ SQS 佇列 → 批次處理拒絕以進行業務分析
+ SNS 主題 → 向業務開發團隊傳送電子郵件/Slack 通知
+ API 目的地 → Webhook 到 CRM 系統以更新機會狀態

##### 範例
<a name="connection-invitation-rejected-example"></a>

```
{
  "version": "1",
  "id": "<event id>",
  "detail-type": "Partner Connection Invitation Rejected",
  "source": "aws.partnercentral-account",
  "time": "<ISO 8601 date time>",
  "region": "us-east-1",
  "account": "<corresponding partner AWS account>",
  "resources": [ "<<Connection Invitation ARN>>" ],
  "detail": {
    "catalog": "AWS",
    "connectionInvitation" :{
        "arn": "<<Connection Invitation ARN>>",
        "id": "pacinv-****",
        "connectionType": "OpportunityCollaboration",
        "invitationMessage": "We'd like to collaborate on a joint solution for cloud security. Please accept this connection invitation to proceed.",
        "receiverProfileId": "pprofile-****"
    }
  }
}
```

#### 已取消合作夥伴連線
<a name="connection-cancelled"></a>

##### 觸發內容
<a name="connection-cancelled-context"></a>

當作用中連線成功取消，且作用中狀態更新為透過 CancelConnection API 在 PAC 的資料存放區中終止時，就會產生此事件。處理連線取消並更新連線狀態後，會立即傳送事件。

連線終止時，系統會自動傳送事件。每個連線取消一個事件，相同取消沒有重複的事件。

##### 收件人
<a name="connection-cancelled-recipients"></a>

連線中其他參與者AWS的帳戶 （而非啟動取消的參與者）。

##### 預期的處理方式
<a name="connection-cancelled-handling"></a>

典型的客戶動作：
+ 存取撤銷：立即撤銷許可並停用資料共用
+ 狀態更新：使用終止的連線狀態更新合作夥伴管理系統
+ 通知：提醒業務和技術團隊終止合作夥伴關係
+ 清除：移除連線參考並清除共用資源
+ 分析：追蹤連線持續時間和終止模式

常見整合模式：
+ Lambda 函數 → 撤銷許可並更新合作夥伴入口網站狀態
+ SQS 佇列 → 清除工作流程的批次處理連線終止
+ SNS 主題 → 向業務和技術團隊傳送電子郵件/Slack 通知
+ API 目的地 → Webhook 到 CRM 系統以更新合作夥伴關係狀態

##### 範例
<a name="connection-cancelled-example"></a>

```
{
  "version": "1",
  "id": "<event id>",
  "detail-type": "Partner Connection Cancelled",
  "source": "aws.partnercentral-account",
  "time": "<ISO 8601 date time>",
  "region": "us-east-1",
  "resources": [ "<<Connection ARN>>" ],
  "account": "<corresponding partner AWS account>",
  "detail": {
    "catalog": "AWS",
    "connection" :{
        "arn": "<<Connection Invitation ARN>>",
        "id": "pac-****",
        "connectionType": "OpportunityCollaboration",
        "canceledBy": "<<AWS account ID>>"
    }
  }
}
```

#### 已取消合作夥伴連線邀請
<a name="connection-invitation-cancelled"></a>

##### 觸發內容
<a name="connection-invitation-cancelled-context"></a>

當透過 CancelConnectionInvitation API 成功取消待定連線邀請時，就會產生此事件。邀請取消處理後立即傳送事件，並將邀請狀態更新為 CANCELED。

取消連線邀請時，系統會自動傳送事件。每個連線邀請取消一個事件，相同取消沒有重複的事件。

##### 收件人
<a name="connection-invitation-cancelled-recipients"></a>

應該接收連線邀請AWS的帳戶 （接收者帳戶）。

##### 預期的處理方式
<a name="connection-invitation-cancelled-handling"></a>

典型的客戶動作：
+ 狀態更新：更新合作夥伴管理系統以移除擱置中的邀請參考
+ 通知：提醒業務團隊潛在的合作夥伴關係機會已撤銷
+ 清除：從內部追蹤系統移除邀請參考
+ 分析：追蹤合作夥伴關係洞見的邀請取消模式

常見整合模式：
+ Lambda 函數 → 更新合作夥伴入口網站並移除待定邀請通知
+ SQS 佇列 → 取消批次程序以進行業務分析
+ SNS 主題 → 向業務開發團隊傳送電子郵件/Slack 通知
+ API 目的地 → Webhook 到 CRM 系統以更新機會狀態

##### 範例
<a name="connection-invitation-cancelled-example"></a>

```
{
  "version": "1",
  "id": "<event id>",
  "detail-type": "Partner Connection Invitation Cancelled",
  "source": "aws.partnercentral-account",
  "time": "<ISO 8601 date time>",
  "region": "us-east-1",
  "account": "<corresponding partner AWS account>",
  "resources": [ "<<Connection Invitation ARN>>" ],
  "detail": {
    "catalog": "AWS",
    "connectionInvitation" :{
        "arn": "<<Connection Invitation ARN>>",
        "id": "pacinv-****",
        "connectionType": "OpportunityCollaboration",
        "invitationMessage": "We'd like to collaborate on a joint solution for cloud security. Please accept this connection invitation to proceed.",
        "senderProfileId": "pprofile-****"
    }
  }
}
```

#### 合作夥伴連線邀請已過期
<a name="connection-invitation-expired"></a>

##### 觸發內容
<a name="connection-invitation-expired-context"></a>

當待定連線邀請在到達其 ExpiresAt 時間戳記後自動過期，而不被接收者接受或拒絕時，就會產生此事件。到達邀請過期時間時，系統會自動觸發事件。

連線邀請過期時，系統會自動傳送事件。每個邀請一個事件已過期，但沒有相同過期的重複事件。

##### 收件人
<a name="connection-invitation-expired-recipients"></a>

涉及連線邀請的兩個AWS帳戶：最初傳送邀請的寄件者帳戶，以及收到邀請的接收者帳戶。

##### 預期的處理方式
<a name="connection-invitation-expired-handling"></a>

典型的客戶動作：
+ 狀態更新：更新合作夥伴管理系統，將邀請標記為過期
+ 後續動作：觸發重新參與的工作流程或其他合作夥伴關係方法
+ 通知：提醒業務團隊錯失合作夥伴關係機會
+ 清除：從內部追蹤系統移除過期的邀請參考

常見整合模式：
+ Lambda 函數 → 更新合作夥伴入口網站並觸發後續工作流程
+ SQS 佇列 → 用於業務分析的批次程序過期
+ SNS 主題 → 向業務開發團隊傳送電子郵件/Slack 通知
+ API 目的地 → Webhook 到 CRM 系統以更新機會狀態

##### 範例
<a name="connection-invitation-expired-example"></a>

```
{
  "version": "1",
  "id": "<event id>",
  "detail-type": "Partner Connection Invitation Expired",
  "source": "aws.partnercentral-account",
  "time": "<ISO 8601 date time>",
  "region": "us-east-1",
  "resources": [ "<<Connection Invitation ARN>>" ],
  "detail": {
    "catalog": "AWS",
    "connectionInvitation": {
        "arn": "<<Connection Invitation ARN>>",
        "id": "pacinv-****",
        "connectionType": "OpportunityCollaboration",
        "inviterEmail": "abc@def.com",
        "invitationMessage": "We'd like to collaborate on a joint solution for cloud security. Please accept this connection invitation to proceed.",
        "senderProfileId": "pprofile-****",
        "receiverProfileId": "pprofile-****"
    }
  }
}
```