

 AWS Partner Central API 참조가 재구성되었습니다. 지원되는 API 작업에 대한 자세한 내용은 [AWS Partner Central 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>

사용자는 Partner Central 판매 API에서 게시한 이벤트에 액세스하고 관리하려면 적절한 IAM 권한이 필요합니다. 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 규칙을 설정하려면 [Amazon EventBridge 사용 설명서의 Amazon EventBridge에서 이벤트에 반응하는 규칙 생성](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule.html)의 단계를AWS Management Console따릅니다. * EventBridge * 규칙을 생성할 때 이벤트 버스를 **기본**값으로 설정하고 미국 동부(버지니아 북부) `us-east-1` 리전에서 규칙을 생성해야 합니다.

다음은 이벤트 규칙의 예입니다.

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

### AWS SDK 설정
<a name="eventbridge-sdk-setup"></a>

AWS SDKs를 사용하여 EventBridge 규칙을 프로그래밍 방식으로 생성하고 관리할 수 있습니다. 자세한 내용은 *Amazon EventBridge API 참조*의 [PutRule](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutRule.html)을 참조하세요.

다음 예제에서는AWS SDK for Python(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 이벤트 유형, 이를 트리거하는 시나리오 및 이벤트 예제를 설명합니다.

### 이벤트 유형
<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 시스템 업데이트 또는 영업 팀에 새 참여 생성에 대한 알림과 같은 자동화된 워크플로를 트리거합니다.

다음 예제는 일반적인 참여 생성 이벤트를 보여줍니다.

```
{
    "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 시스템 업데이트 또는 영업 팀에 알리는 등의 자동화된 워크플로를 트리거합니다.

다음 예제에서는 일반적인 참여 업데이트 이벤트를 보여줍니다.

```
{
    "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"]
        }
    }
}
```