

Se reestructuró la referencia de la Centro de socios de AWS API. Para obtener más información sobre las operaciones de API compatibles, consulta la [referencia de la Centro de socios de AWS API](https://docs.aws.amazon.com/partner-central/latest/APIReference/Welcome.html).

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Notificaciones para el AWS Partner Central Selling API
<a name="selling-api-events"></a>

Los eventos de la API de ventas proporcionan notificaciones en tiempo real sobre los cambios en el estado o los detalles de las oportunidades. Estos eventos ayudan a mantener sus sistemas sincronizados con AWS Partner Central y ayudan a garantizar respuestas y actualizaciones oportunas.

**Topics**
+ [Complete el requisito previo para monitorear los eventos](#events-prerequites)
+ [Configurar Amazon EventBridge para monitorizar los eventos](#eventbridge-setup)
+ [Más información sobre la venta de eventos de API](#learn-about-events)

## Complete el requisito previo para monitorear los eventos
<a name="events-prerequites"></a>

Los usuarios necesitan los permisos de IAM adecuados para acceder a los eventos publicados por la API de ventas de Partner Central y gestionarlos. Para obtener más información sobre las acciones, los recursos y las claves de condición disponibles EventBridge, consulte [Uso de las condiciones de la política de IAM en Amazon EventBridge en](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-use-conditions.html#events-pattern-detail-type) la *Guía del EventBridge usuario de Amazon*. Una de las claves de condición es`events:detail-type`, que se puede utilizar para limitar los permisos a tipos de eventos específicos.

En el siguiente ejemplo de política se muestra cómo personalizar y establecer el alcance de los permisos para los eventos propuestos. La `AllowPutRuleForPartnercentralSellingEvents` declaración permite la creación de reglas, pero solo para los eventos de la `aws.partnercentral-selling` fuente. 

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

****  

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

------

## Configurar Amazon EventBridge para monitorizar los eventos
<a name="eventbridge-setup"></a>

Para supervisar los eventos de la API de ventas, debes crear una EventBridge regla que coincida con los eventos que deseas capturar. Puedes usar los SDK AWS Management Console o los AWS SDK para crear y gestionar reglas. En las siguientes secciones se explica cómo crear reglas mediante ambos métodos. Independientemente del método que utilice, debe crear la regla en la `us-east-1` región EE.UU. Este (Virginia del Norte).

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

Para configurar una EventBridge regla mediante el AWS Management Console, sigue los pasos que se indican en [Crear reglas que reaccionen a los eventos en Amazon](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule.html), EventBridge en la *Guía del EventBridge usuario de Amazon*. Al crear la regla, debes configurar el bus de eventos **como predeterminado** y crear la regla en la `us-east-1` región EE.UU. Este (Norte de Virginia).

A continuación se muestra un ejemplo de una regla de eventos:

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

### AWS Configuración del SDK
<a name="eventbridge-sdk-setup"></a>

Puede usar los AWS SDK para crear y administrar EventBridge reglas mediante programación. Para obtener más información, consulta [PutRule](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutRule.html)la *referencia de la EventBridge API de Amazon*.

El siguiente ejemplo usa el 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'])
```

## Más información sobre la venta de eventos de API
<a name="learn-about-events"></a>

En las siguientes secciones se describen los tipos de eventos de la API de venta, los escenarios que los desencadenan y algunos ejemplos de eventos.

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

A continuación se muestran los tipos de eventos y sus desencadenantes.
+ [Oportunidad creada](#opportunity-created): se activa cuando se crea una nueva oportunidad.
+ [Oportunidad actualizada](#opportunity-updated): se activa cuando se actualiza una oportunidad (AWS oportunidad o su resumen de oportunidad correspondiente).
+ [Invitación de participación creada](#engagement-invitation-created): se activa cuando se crea una invitación de AWS recomendación.
+ [Invitación de compromiso aceptada](#engagement-invitation-accepted): se activa cuando un socio acepta una invitación de AWS compromiso, lo que confirma su interés en colaborar con AWS ella en el momento de la oportunidad.
+ [Invitación de compromiso rechazada](#engagement-invitation-rejected): se activa cuando un socio rechaza una invitación de AWS compromiso.
+ La [invitación de compromiso ha caducado](#engagement-invitation-expired): este evento se activa cuando un socio rechaza una EngagementInvitation. Notifica al socio remitente y receptor que la invitación ha caducado.
+ [Se ha añadido un miembro de compromiso](#engagement-member-added): este evento se desencadena cuando un nuevo miembro se une al compromiso tras aceptar una invitación. Notifica a todos los miembros actuales de la participación que el nuevo miembro se ha agregado a la participación.
+ Creación de [una instantánea del recurso de participación: este evento se desencadena cuando se crea](#engagement-resource-snapshot-created) una nueva revisión de la instantánea de los recursos (como las oportunidades) asociados a una participación. Notifica a todos los miembros actuales de la participación acerca de los cambios en la instantánea del recurso asociado.
+ [Participación creada](#engagement-created): se activa cuando se crea una nueva participación.
+ [Interacción actualizada](#engagement-updated): se activa cuando se actualiza una participación.

### Escenarios de eventos
<a name="events-summary"></a>

En la siguiente tabla se describe cómo funcionan los eventos en diferentes escenarios. Para estos escenarios, se hacen las siguientes suposiciones:
+ AWS también es un socio en estos escenarios.
+ `ResourceSnapshotJob`está configurado correctamente por el socio.
+ Los campos actualizados sobre la oportunidad también se encuentran en la plantilla de oportunidades de Resource Snapshot.


| **Acción de su parte como socio** | **Eventos recibidos** | **Tipo de participante** | 
| --- | --- | --- | 
| Creas una oportunidad | Oportunidad creada |  | 
| Se utiliza StartEngagementFromOpportunityTask para enviar una oportunidad | Se actualizó la oportunidad, se creó la interacción, se creó una instantánea del recurso de participación, se agregó un miembro de la participación, se creó la invitación de participación |  | 
| AWS aprueba la oportunidad que ha presentado | Se aceptó la invitación de participación, se agregó un miembro de la participación, se actualizó la oportunidad y se creó una instantánea del recurso de participación |  | 
| AWS rechaza la oportunidad que ha enviado | Se rechazó la invitación de participación, se actualizó la oportunidad y se creó una instantánea del recurso de participación |  | 
| Asocias una AWS Marketplace oferta a una oportunidad | Oportunidad actualizada |  | 
| Asocias una solución a una oportunidad | Oportunidad actualizada, creación de una instantánea del recurso de participación |  | 
| Actualizas una oportunidad | Oportunidad actualizada, creación de una instantánea del recurso de participación (opcional si ResourceSnapshotJob está configurada y las actualizaciones de campo están en la plantilla) |  | 
| AWS actualiza tu oportunidad | Oportunidad actualizada, creación de una instantánea del recurso de participación |  | 
| Invitas a otro socio a una participación | Invitación de compromiso creada | Remitente | 
| Un socio acepta su invitación para unirse a un compromiso | Se acepta la invitación de compromiso, se agrega un miembro de compromiso | Remitente | 
| Tu invitación para unirte a un compromiso es rechazada por un socio | Invitación de compromiso rechazada | Remitente | 
| Tu pareja no tramitará tu invitación para unirte a un compromiso durante 15 días | La invitación de compromiso ha caducado | Remitente | 
| Recibes una invitación de otro socio para unirte a un compromiso | Invitación de compromiso creada | Receptor | 
| Aceptas la invitación de otro socio para unirte a un compromiso a través de StartEngagementByAcceptingInvitationTask | Se acepta la invitación de participación, se agrega un miembro de la participación, se crea la oportunidad, se actualiza la oportunidad, se crea una instantánea del recurso de participación | Receptor | 
| Rechazas la invitación de otro socio para unirte a una participación | Invitación de compromiso rechazada | Receptor | 
| No aceptas una invitación de otro socio para unirte a un compromiso durante 15 días | La invitación de compromiso ha caducado | Receptor | 
| Creas un compromiso | Compromiso creado | Remitente | 
| Actualizas un compromiso | Compromiso actualizado | Remitente, destinatario | 

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

En las siguientes secciones se proporcionan ejemplos de los eventos enumerados anteriormente en la sección anterior.

**Topics**
+ [Oportunidad creada](#opportunity-created)
+ [Oportunidad actualizada](#opportunity-updated)
+ [Se creó una invitación de compromiso](#engagement-invitation-created)
+ [Invitación de compromiso aceptada](#engagement-invitation-accepted)
+ [Invitación de compromiso rechazada](#engagement-invitation-rejected)
+ [La invitación de compromiso ha caducado](#engagement-invitation-expired)
+ [Se agregó un miembro de compromiso](#engagement-member-added)
+ [Se creó una instantánea del recurso de participación](#engagement-resource-snapshot-created)
+ [Compromiso creado](#engagement-created)
+ [Interacción actualizada](#engagement-updated)

#### Oportunidad creada
<a name="opportunity-created"></a>

Los socios utilizan este evento para:
+ Notificar a sus usuarios que se ha creado una nueva oportunidad.
+ Active flujos de trabajo automatizados, como la actualización de los sistemas de CRM o la notificación a los equipos de ventas sobre la creación de nuevas oportunidades.

El siguiente ejemplo muestra un evento típico creado por una oportunidad.

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

#### Oportunidad actualizada
<a name="opportunity-updated"></a>

Los socios utilizan este evento para:
+ Notificar a sus usuarios que se ha actualizado una oportunidad existente.
+ Active flujos de trabajo automatizados, como la actualización de los sistemas de CRM o la notificación a los equipos de ventas.

El siguiente ejemplo muestra un evento típico de Opportunity Updated.

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

#### Se creó una invitación de compromiso
<a name="engagement-invitation-created"></a>

Los socios utilizan este evento para:
+ Notificar a sus usuarios sobre las novedades EngagementInvitation que han recibido.
+ Active flujos de trabajo automatizados para aceptar o rechazar la invitación, por ejemplo, actualizando los sistemas de CRM o notificando a los equipos de ventas.

En el siguiente ejemplo, se muestra un evento típico creado con una invitación de participación.

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

#### Invitación de compromiso aceptada
<a name="engagement-invitation-accepted"></a>

Los socios utilizan este evento para:
+ Notificar a sus usuarios que el EngagementInvitation ha sido aceptado.
+ Actualice sus registros internos para que reflejen el nuevo socio del compromiso.
+ Active flujos de trabajo automatizados para sincronizar los datos o notificar a otros miembros del equipo sobre el nuevo miembro de Engagement.

El siguiente ejemplo muestra un evento típico de aceptación de una invitación de compromiso.

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

#### Invitación de compromiso rechazada
<a name="engagement-invitation-rejected"></a>

Los socios utilizan este evento para:
+ Notificar a sus usuarios de que EngagementInvitation ha sido rechazado.
+ Actualice sus registros internos para reflejar la invitación rechazada.
+ Active todos los flujos de trabajo necesarios, como notificar el rechazo al equipo de ventas.

El siguiente ejemplo muestra un evento típico de rechazo de una invitación de compromiso.

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

#### La invitación de compromiso ha caducado
<a name="engagement-invitation-expired"></a>

Los socios utilizan este evento para:
+ Notifique a sus usuarios que EngagementInvitation ha caducado y que ya no se puede actuar en consecuencia.
+ Actualice sus registros internos para que reflejen la invitación caducada.
+ Active todos los flujos de trabajo necesarios, como notificar al equipo de ventas que la invitación ha caducado.

El siguiente ejemplo muestra un evento típico de invitación de compromiso caducada.

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

#### Se agregó un miembro de compromiso
<a name="engagement-member-added"></a>

Los socios utilizan este evento para:
+ Notificar a sus usuarios sobre los cambios en la membresía de Engagement.
+ Actualice sus registros internos para reflejar el nuevo miembro de Engagement.
+ Active todos los flujos de trabajo necesarios, como notificar los cambios a los miembros del equipo.

El siguiente ejemplo muestra un 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"
      }
    }
}
```

#### Se creó una instantánea del recurso de participación
<a name="engagement-resource-snapshot-created"></a>

Los socios utilizan este evento para realizar un seguimiento de los cambios en los recursos asociados a una contratación y activar flujos de trabajo automatizados, como la actualización de los sistemas de CRM o la notificación a los equipos de ventas. La plantilla de instantáneas determina el tipo de actualización:

`OpportunitySummaryView`  
+ Notifique a todos los miembros de una participación que la participación se ha actualizado.

`AwsOpportunitySummaryFullView`  
+ Realice un seguimiento de las actualizaciones realizadas específicamente por AWS en relación con las oportunidades incluidas en un compromiso.
+ Esta notificación y esta instantánea solo son visibles para el propietario de la oportunidad.
+ Incluye actualizaciones sobre el tamaño de las ofertas, que no están disponibles en la `OpportunitySummaryView` plantilla.

En el siguiente ejemplo, se muestra un evento típico creado con una instantánea de un recurso de participación.

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

#### Compromiso creado
<a name="engagement-created"></a>

Los socios utilizan este evento para:
+ Notificar a sus usuarios que se ha creado una nueva interacción.
+ Active flujos de trabajo automatizados, como la actualización de los sistemas de CRM o la notificación a los equipos de ventas sobre la creación de nuevas interacciones.

El siguiente ejemplo muestra un 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"]
            
        }
    }
}
```

#### Interacción actualizada
<a name="engagement-updated"></a>

Los socios utilizan este evento para:
+ Notificar a sus usuarios que se ha actualizado un compromiso existente.
+ Active flujos de trabajo automatizados, como la actualización de los sistemas de CRM o la notificación a los equipos de ventas.

El siguiente ejemplo muestra un 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"]
        }
    }
}
```