

A referência AWS Partner Central da API foi reestruturada. Para obter mais informações sobre as operações de API suportadas, consulte a [Referência AWS Partner Central da API](https://docs.aws.amazon.com/partner-central/latest/APIReference/Welcome.html).

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Notificações para o AWS API de vendas da Central de Parceiros
<a name="selling-api-events"></a>

Os eventos da API de vendas fornecem notificações em tempo real sobre mudanças no status ou nos detalhes das oportunidades. Esses eventos ajudam a manter seus sistemas sincronizados com o AWS Partner Central e ajudam a garantir respostas e atualizações oportunas.

**Topics**
+ [Preencha o pré-requisito para monitorar eventos](#events-prerequites)
+ [Configure EventBridge a Amazon para monitorar eventos](#eventbridge-setup)
+ [Saiba mais sobre a venda de eventos de API](#learn-about-events)

## Preencha o pré-requisito para monitorar eventos
<a name="events-prerequites"></a>

Os usuários precisam das permissões apropriadas do IAM para acessar e gerenciar eventos publicados pela API de vendas do Partner Central. Para obter mais informações sobre as ações, os recursos e as chaves de condição disponíveis para EventBridge, consulte [Usando as condições da política do IAM na Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-use-conditions.html#events-pattern-detail-type) no *Guia EventBridge do usuário da Amazon*. Uma das chaves de condição é`events:detail-type`, que pode ser usada para definir permissões para tipos específicos de eventos.

O exemplo de política a seguir demonstra como personalizar e definir o escopo das permissões para os eventos propostos. A `AllowPutRuleForPartnercentralSellingEvents` declaração permite a criação de regras, mas somente para eventos da `aws.partnercentral-selling` fonte. 

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

****  

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

------

## Configure EventBridge a Amazon para monitorar eventos
<a name="eventbridge-setup"></a>

Para monitorar a venda de eventos de API, você cria uma EventBridge regra que corresponde aos eventos que você deseja capturar. Você pode usar o Console de gerenciamento da AWS ou os AWS SDKs para criar e gerenciar regras. As seções a seguir explicam como criar regras usando os dois métodos. Independentemente do método usado, você deve criar a regra na `us-east-1` região Leste dos EUA (Norte da Virgínia).

### Console de gerenciamento da AWS configuração
<a name="eventbridge-console-setup"></a>

Para configurar uma EventBridge regra usando o Console de gerenciamento da AWS, siga as etapas em [Criação de regras que reagem a eventos na Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule.html) no *Guia EventBridge do usuário da Amazon*. Ao criar a regra, você deve definir o barramento de eventos **como padrão** e criar a regra na `us-east-1` região Leste dos EUA (Norte da Virgínia).

Veja a seguir um exemplo de uma regra de evento:

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

### AWS Configuração do SDK
<a name="eventbridge-sdk-setup"></a>

Você pode usar os AWS SDKs para criar e gerenciar EventBridge regras de forma programática. Para obter mais informações, consulte [PutRule](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutRule.html)a *Amazon EventBridge API Reference*.

O exemplo a seguir usa o AWS SDK para 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'])
```

## Saiba mais sobre a venda de eventos de API
<a name="learn-about-events"></a>

As seções a seguir descrevem os tipos de eventos da API de venda, os cenários que os acionam e os exemplos de eventos.

### Tipos de eventos
<a name="types-of-events"></a>

A seguir estão os tipos de eventos e seus gatilhos.
+ [Oportunidade criada](#opportunity-created): acionada quando uma nova oportunidade é criada.
+ [Oportunidade atualizada](#opportunity-updated): acionada quando uma oportunidade (oportunidade ou seu resumo de AWS oportunidade correspondente) é atualizada.
+ [Convite de engajamento criado](#engagement-invitation-created): acionado quando um convite de AWS referência é criado.
+ [Convite de engajamento aceito](#engagement-invitation-accepted): acionado quando um parceiro aceita um convite de AWS engajamento, confirmando seu interesse em colaborar com a AWS oportunidade.
+ [Convite de noivado rejeitado](#engagement-invitation-rejected): acionado quando um parceiro rejeita um convite de AWS noivado.
+ O [convite de engajamento expirou](#engagement-invitation-expired): Este evento é acionado quando um parceiro rejeita um. EngagementInvitation Ele notifica o parceiro de envio e recebimento de que o convite expirou.
+ [Membro de engajamento adicionado](#engagement-member-added): esse evento é acionado quando um novo membro se junta ao Engajamento após aceitar um convite. Ele notifica todos os membros atuais do Engajamento sobre o novo membro que está sendo adicionado ao Engajamento.
+ [Criação de instantâneo do recurso de engajamento](#engagement-resource-snapshot-created): esse evento é acionado quando a nova revisão do instantâneo dos recursos (como oportunidades) associados a um compromisso é criada. Ele notifica todos os membros atuais do Engajamento sobre as alterações no recurso Snapshot associado.
+ [Engajamento criado](#engagement-created): acionado quando um novo engajamento é criado.
+ [Engajamento atualizado](#engagement-updated): acionado quando um engajamento é atualizado.

### Cenários de eventos
<a name="events-summary"></a>

A tabela a seguir descreve como os eventos operam em diferentes cenários. As seguintes suposições são feitas para esses cenários:
+ AWS também é parceira nesses cenários.
+ `ResourceSnapshotJob`está configurado corretamente pelo parceiro.
+ Os campos atualizados sobre a oportunidade também estão no modelo de oportunidade do Resource Snapshot.


| **Ação de você como parceiro** | **Eventos recebidos** | **Tipo de participante** | 
| --- | --- | --- | 
| Você cria uma oportunidade | Oportunidade criada |  | 
| Você usa StartEngagementFromOpportunityTask para enviar uma oportunidade | Oportunidade atualizada, engajamento criado, resumo do recurso de engajamento criado, membro do engajamento adicionado, convite de engajamento criado |  | 
| AWS aprova sua oportunidade enviada | Convite de engajamento aceito, membro de engajamento adicionado, oportunidade atualizada, resumo do recurso de engajamento criado |  | 
| AWS rejeita sua oportunidade enviada | Convite de engajamento rejeitado, oportunidade atualizada, resumo do recurso de engajamento criado |  | 
| Você associa uma AWS Marketplace oferta a uma oportunidade | Oportunidade atualizada |  | 
| Você associa uma solução a uma oportunidade | Oportunidade atualizada, resumo dos recursos de engajamento criado |  | 
| Você atualiza uma oportunidade | Oportunidade atualizada, instantâneo do recurso de engajamento criado (opcional se ResourceSnapshotJob estiver configurado e as atualizações de campo estiverem no modelo) |  | 
| AWS atualiza sua oportunidade | Oportunidade atualizada, resumo dos recursos de engajamento criado |  | 
| Você convida outro parceiro para um compromisso | Convite de engajamento criado | Remetente | 
| Seu convite para participar de um compromisso é aceito por um parceiro | Convite de noivado aceito, membro de engajamento adicionado | Remetente | 
| Seu convite para participar de um compromisso é rejeitado por um parceiro | Convite de compromisso rejeitado | Remetente | 
| Seu convite para participar de um compromisso não é atendido por um parceiro por 15 dias | O convite de noivado expirou | Remetente | 
| Você recebe um convite de outro parceiro para participar de um compromisso | Convite de engajamento criado | Receptor | 
| Você aceita o convite de outro parceiro para participar de um compromisso via StartEngagementByAcceptingInvitationTask | Convite de engajamento aceito, membro de engajamento adicionado, oportunidade criada, oportunidade atualizada, instantâneo do recurso de engajamento criado | Receptor | 
| Você rejeita o convite de outro parceiro para participar de um compromisso | Convite de compromisso rejeitado | Receptor | 
| Você não age sob convite para participar de um compromisso de outro parceiro por 15 dias | O convite de noivado expirou | Receptor | 
| Você cria um compromisso | Engajamento criado | Remetente | 
| Você atualiza um compromisso | Engajamento atualizado | Remetente, destinatário | 

### Eventos de exemplo
<a name="example-rules"></a>

As seções a seguir fornecem exemplos dos eventos listados anteriormente na seção anterior.

**Topics**
+ [Oportunidade criada](#opportunity-created)
+ [Oportunidade atualizada](#opportunity-updated)
+ [Convite de engajamento criado](#engagement-invitation-created)
+ [Convite de compromisso aceito](#engagement-invitation-accepted)
+ [Convite de compromisso rejeitado](#engagement-invitation-rejected)
+ [O convite de noivado expirou](#engagement-invitation-expired)
+ [Membro de engajamento adicionado](#engagement-member-added)
+ [Instantâneo do recurso de engajamento criado](#engagement-resource-snapshot-created)
+ [Engajamento criado](#engagement-created)
+ [Engajamento atualizado](#engagement-updated)

#### Oportunidade criada
<a name="opportunity-created"></a>

Os parceiros usam esse evento para:
+ Notifique seus usuários de que uma nova oportunidade foi criada.
+ Acione fluxos de trabalho automatizados, como atualizar os sistemas de CRM ou notificar as equipes de vendas sobre a criação de novas oportunidades.

O exemplo a seguir mostra um evento típico de Oportunidade Criada.

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

#### Oportunidade atualizada
<a name="opportunity-updated"></a>

Os parceiros usam esse evento para:
+ Notifique seus usuários de que uma oportunidade existente foi atualizada.
+ Acione fluxos de trabalho automatizados, como atualizar sistemas de CRM ou notificar equipes de vendas.

O exemplo a seguir mostra um evento típico de atualização de oportunidade.

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

#### Convite de engajamento criado
<a name="engagement-invitation-created"></a>

Os parceiros usam esse evento para:
+ Notifique seus usuários sobre as novidades que EngagementInvitation eles receberam.
+ Acione fluxos de trabalho automatizados para aceitar ou rejeitar o convite, como atualizar sistemas de CRM ou notificar equipes de vendas.

O exemplo a seguir mostra um evento típico criado por convite de engajamento.

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

#### Convite de compromisso aceito
<a name="engagement-invitation-accepted"></a>

Os parceiros usam esse evento para:
+ Notifique seus usuários de que o EngagementInvitation foi aceito.
+ Atualize seus registros internos para refletir o novo parceiro no Engajamento.
+ Acione fluxos de trabalho automatizados para sincronizar dados ou notificar outros membros da equipe sobre o novo membro do Engagement.

O exemplo a seguir mostra um evento típico aceito por convite de noivado.

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

#### Convite de compromisso rejeitado
<a name="engagement-invitation-rejected"></a>

Os parceiros usam esse evento para:
+ Notifique seus usuários de que o EngagementInvitation foi rejeitado.
+ Atualize seus registros internos para refletir o convite rejeitado.
+ Acione todos os fluxos de trabalho necessários, como notificar a equipe de vendas sobre a rejeição.

O exemplo a seguir mostra um evento típico de rejeição de convite de engajamento.

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

#### O convite de noivado expirou
<a name="engagement-invitation-expired"></a>

Os parceiros usam esse evento para:
+ Notifique seus usuários de que o EngagementInvitation expirou e não pode mais ser usado.
+ Atualize seus registros internos para refletir o convite expirado.
+ Acione todos os fluxos de trabalho necessários, como notificar a equipe de vendas sobre o convite expirado.

O exemplo a seguir mostra um evento típico de convite de engajamento expirado.

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

#### Membro de engajamento adicionado
<a name="engagement-member-added"></a>

Os parceiros usam esse evento para:
+ Notifique seus usuários sobre as mudanças na associação do Engagement.
+ Atualize seus registros internos para refletir o novo membro do Engagement.
+ Acione todos os fluxos de trabalho necessários, como notificar os membros da equipe sobre as mudanças.

O exemplo a seguir mostra um evento típico de Engagement Member Added.

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

#### Instantâneo do recurso de engajamento criado
<a name="engagement-resource-snapshot-created"></a>

Os parceiros usam esse evento para monitorar alterações nos recursos associados a um compromisso e acionar fluxos de trabalho automatizados, como atualizar sistemas de CRM ou notificar equipes de vendas. O modelo de snapshot determina o tipo de atualização:

`OpportunitySummaryView`  
+ Notifique todos os membros de um compromisso de que o compromisso foi atualizado.

`AwsOpportunitySummaryFullView`  
+ Acompanhe as atualizações feitas especificamente pela AWS para oportunidades dentro de um compromisso.
+ Essa notificação e esse instantâneo são visíveis somente para o proprietário da oportunidade.
+ Inclui atualizações de dimensionamento de negócios, que não estão disponíveis por meio do `OpportunitySummaryView` modelo.

O exemplo a seguir mostra um evento típico do Engagement Resource Snapshot Created.

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

#### Engajamento criado
<a name="engagement-created"></a>

Os parceiros usam esse evento para:
+ Notifique seus usuários de que um novo Engajamento foi criado.
+ Acione fluxos de trabalho automatizados, como atualizar os sistemas de CRM ou notificar as equipes de vendas sobre novas criações de engajamento.

O exemplo a seguir mostra um evento típico de 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"]
            
        }
    }
}
```

#### Engajamento atualizado
<a name="engagement-updated"></a>

Os parceiros usam esse evento para:
+ Notifique seus usuários de que um Engajamento existente foi atualizado.
+ Acione fluxos de trabalho automatizados, como atualizar sistemas de CRM ou notificar equipes de vendas.

O exemplo a seguir mostra um evento típico de 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"]
        }
    }
}
```