

# Produtos de portal no API Gateway
<a name="apigateway-portals-portal-product"></a>

Um *produto de portal* representa um serviço ou funcionalidade que você deseja compartilhar. Seu produto de portal consiste em endpoints REST e páginas do produto. Os *endpoints REST do produto* são os pontos de acesso ao seu produto do portal e consistem no caminho e no método de uma API REST e no estágio em que ela é implantada. As *páginas do produto* são a documentação que você fornece para explicar como os consumidores da API podem usar os endpoints do seu produto. Um produto do portal pode conter todo o estágio `Prod` como uma coleção de endpoints REST do produto ou apenas o recurso `GET /pets` implantado no estágio `Prod` como um único endpoint REST do produto.

Seu produto do portal é personalizável. É possível adicionar documentação personalizada, renomear os endpoints REST do produto, reorganizar a ordem de exibição, adicionar novas seções e compartilhar produtos entre contas da AWS. Para que todas as alterações feitas em seu produto do portal sejam implementadas, você deve publicar novamente os portais que utilizem seu produto do portal.

## Exemplo de produto do portal de adoção de animais de estimação
<a name="apigateway-portals-portal-product-example"></a>

Por exemplo, você pode ter várias APIs REST que representem um serviço de adoção de animais de estimação. É possível usar o API Gateway para criar um produto do portal `pet adoption`. Esse produto do portal ajudaria os clientes a descobrir quais APIs utilizar para conhecer e adotar animais de estimação. Esse produto do portal utiliza APIs REST que você já criou, mas permite reagrupá-las e organizá-las. Você também pode fornecer documentação sobre os termos e condições de uso do produto do portal de adoção de animais de estimação e permitir que os clientes experimentem suas APIs. Essas informações são todas armazenadas em seu produto do portal.

A tabela a seguir mostra três APIs que representam um produto do portal de adoção de animais de estimação e seus nomes de operação de endpoint REST e nomes de seção de página correspondentes.


| ID da API REST | Caminho e método da API REST | Estágio da API REST | Nome de operação | Seções da página | 
| --- | --- | --- | --- | --- | 
| kf5387miad |  GET /dogs  | Prod |  View dogs  |  AdoptAnimals  | 
| kf5387miad  | GET /dogs/\$1dogId\$1  | Prod | View dog  | AdoptAnimals  | 
| ra8obxcevg  | GET /cats  | Prod | View cats  | AdoptAnimals  | 
| ra8obxcevg  | GET /cats/\$1catId\$1  | Prod | View cat  | AdoptAnimals  | 
| h0rpx9cm62  |  ANY /user/\$1userId\$1/\$1petId\$1\$1  | Beta | Request visit  | AdoptProcess  | 

Neste exemplo, duas APIs REST, `ra8obxcevg` e `kf5387miad`, estão agrupadas na seção `AdoptAnimals`. O resultado dessa navegação de ordenação seria semelhante ao seguinte em um portal:

![\[Portal da adoção de animais de estimação\]](http://docs.aws.amazon.com/pt_br/apigateway/latest/developerguide/images/apigateway-portal.png)


Como o método `ANY` é abrangente, o portal mostra todos os métodos HTTP aceitos. Esse portal também contém documentação que foi criada pelo proprietário do produto do portal.

## Próximas etapas
<a name="apigateway-portals-portal-product-next-steps"></a>

Para começar a usar os produtos do portal, faça o seguinte:
+ Para criar um produto do portal, consulte [Criar um produto do portal no API Gateway](apigateway-portals-create-portal-product.md).
+ Para saber mais sobre o recurso Experimente, consulte [Habilitar o botão Experimente para um endpoint REST do produto do API Gateway em seu portal](apigateway-portals-try-it.md).
+ Para saber mais sobre páginas de produto, consulte [Criar uma página do produto no API Gateway](apigateway-portals-create-product-page.md).
+ Para saber mais sobre como compartilhar seu produto do portal, consulte [Compartilhar produtos do portal no API Gateway](apigateway-portals-share-resources.md).

Depois de criar um produto do portal, você pode publicá-lo em um portal. Para obter mais informações, consulte [Criar um portal no API Gateway](apigateway-portals-create-portal.md).

# Criar um produto do portal no API Gateway
<a name="apigateway-portals-create-portal-product"></a>

O procedimento a seguir mostra como criar um produto do portal. Portal é uma coleção de *produtos do portal*. Depois de criar seu produto do portal, você vai criar endpoints REST e as páginas do produto. Para saber mais sobre como produtos do portal, consulte [Produtos de portal no API Gateway](apigateway-portals-portal-product.md).

## Considerações
<a name="apigateway-portals-portal-product-considerations"></a>

As considerações a seguir podem afetar a maneira como você cria um produto do portal:
+ Seu produto do portal pode conter APIs REST privadas e públicas. As APIs privadas não comportam o recurso Experimente e, como resultado, têm uma diferença visual em seu portal. Como proprietário do portal, talvez você precise fornecer uma documentação para explicar isso.
+ Se você criar seu produto do portal usando a AWS CLI ou AWS SDKs, seu portal não terá nenhum endpoint nem páginas do produto. Você precisa adicionar esses recursos utilizando a AWS CLI ou o console. Para saber como criar um endpoint REST do produto, consulte [Criar um endpoint REST de produto no API Gateway](apigateway-portals-create-product-rest-endpoint.md). Para saber como criar uma função para um serviço, consulte[Criar uma página do produto no API Gateway](apigateway-portals-create-product-page.md).

## Criar um produto do portal
<a name="apigateway-portals-portal-product-create"></a>

O procedimento a seguir mostra como criar um produto do portal.

**Como criar um produto do portal**

1. Inicie uma sessão no console do API Gateway em [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1. No painel de navegação principal, selecione **Produtos do portal**.

1. Escolha **Criar produto**.

1. Em **Nome do projeto**, digite o nome de seu produto do portal.

1. Em **Descrição do produto**, insira uma descrição.

1. Escolha **Next (Próximo)**.

1. Para selecionar os endpoints REST do seu produto, em **Endpoints de API**, escolha uma API e, depois, selecione um estágio.

1. Para adicionar um endpoint aos endpoints REST do produto, selecione o endpoint de API e escolha **Adicionar ao produto**.
**nota**  
Não escolha **Próximo** sem primeiro selecionar **Adicionar ao produto**.  

![\[Produto do portal\]](http://docs.aws.amazon.com/pt_br/apigateway/latest/developerguide/images/apigateway-portal-product.png)


   O endpoint de API aparecerá na lista **Endpoints de API selecionados**.

1. Escolha **Next (Próximo)**.

1. Analise sua seleção e escolha **Criar produto**.

Depois de criar seu produto do portal usando o console, todas as suas páginas do produto e páginas de endpoint REST estarão no modo de rascunho e não aparecerão no portal. Para que as páginas do produto e as páginas de endpoint REST fiquem visíveis para os consumidores, você precisa adicionar seu rascunho a uma seção. Se você criar o produto do portal utilizando a AWS CLI ou AWS SDKs, precisará adicionar o rascunho à seção no comando AWS CLI. Independentemente de como você adiciona seu rascunho a uma seção, precisará publicar o portal que usa seus produtos para que ele fique visível para os consumidores.

**Como adicionar seu rascunho a uma seção da página**

1. Seus rascunhos estão listados na guia **Documentação**. Há **páginas de documentação de rascunho** para as páginas do produto e **páginas de referência de API de rascunho** para as páginas de endpoint REST do produto. Escolha as **páginas de referência de API de rascunho**.

1. Escolha a página de referência de API de rascunho.

   Se você não tiver nenhum endpoint REST de produto, não terá nenhuma página de referência de API de rascunho. Para saber como criar um endpoint REST do produto, consulte [Criar um endpoint REST de produto no API Gateway](apigateway-portals-create-product-rest-endpoint.md).

1. Selecione **Editar página**.

1. Nessa página, você pode substituir qualquer parte existente da documentação da API ou usar a documentação do API Gateway. Para permitir que o conteúdo da página de endpoint REST do seu produto fique visível para os consumidores, em **Nome da seção**, insira um nome. Se esse fosse o endpoint `/pets-GET`, o nome da página poderia ser `Pets`.

1. Escolha **Salvar alterações**.

1. O novo nome da página que você criou aparece na seção **Páginas de referência de API**.

   Para permitir que a nova página fique visível para os consumidores, você ainda precisa publicar novamente o portal. Para obter mais informações, consulte [Publicar um portal no API Gateway](apigateway-portals-publish-portal.md). 

# Criar um endpoint REST de produto no API Gateway
<a name="apigateway-portals-create-product-rest-endpoint"></a>

Um endpoint REST do produto é um ponto de acesso ao seu produto do portal. Cada endpoint consiste no caminho e no método de uma API REST e no estágio em que ela é implantada. O endpoint inclui qualquer documentação que você definiu para sua API REST ou pode ser atualizado com documentação personalizada. Ao criar o endpoint REST do produto, você define as seguintes configurações:
+ O nome da operação do endpoint REST do produto. Se sua API REST tiver o caminho e o método `GET /pets`, em um portal, o nome será `/pets`. Usando o nome da operação, você pode alterar o nome do endpoint REST do produto para `Pet summaries`. Isso não afeta sua API existente.
+ O recurso Experimente para o endpoint do seu produto. Isso permite que os consumidores de API experimentem as APIs em seu portal. Se você criar um endpoint de produto para uma API privada, o recurso Experimente será definido como `UNAVAILABLE`. Para obter mais informações, consulte [Habilitar o botão Experimente para um endpoint REST do produto do API Gateway em seu portal](apigateway-portals-try-it.md).
+ Se você atualmente tem partes de documentação definidas para sua API REST, poderá importar a documentação ou substituir a existente e criar outra em nível de produto utilizando o [GitHub Flavored Markdown](https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax). A substituição de documentação não é propagada de volta para as partes da documentação da API do API Gateway. Se você importar suas partes da documentação atual, o API Gateway sincronizará as alterações em sua API com o endpoint REST do produto.

## Criar um endpoint REST de produto
<a name="apigateway-portals-create-product-rest-endpoint-create"></a>

O procedimento a seguir mostra como adicionar um endpoint REST de um produto a um produto do portal existente. Para saber como criar um produto do portal e um endpoint REST do produto juntos, consulte [Criar um produto do portal no API Gateway](apigateway-portals-create-portal-product.md).

**Como criar um endpoint REST de produto para um portal de produtos**

1. Inicie uma sessão no console do API Gateway em [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1. No painel de navegação principal, selecione **Produtos do portal**.

1. Escolha um produto do portal.

1. Escolha a guia **Endpoints associados** e, depois, **Adicionar endpoints**.

1. Para selecionar os endpoints REST do seu produto, em **Endpoints de API**, escolha uma API e, depois, selecione um estágio.

1. Para adicionar um endpoint aos endpoints REST do produto, selecione o endpoint de API e escolha **Adicionar ao produto**.

   O endpoint de API aparecerá na lista **Endpoints de API selecionados**.

1. Selecione **Enviar**.

1. A página de endpoint REST do produto agora é um rascunho. Escolha **Páginas de referência de API de rascunho** e, depois, escolha a página do endpoint REST do produto para finalizar o conteúdo da página.

1. Selecione **Editar página**.

1. Para substituir a documentação existente do API Gateway, em **Fonte de documentação**, ative **Substituir a documentação** e faça o seguinte:

   1. Em **Exibir conteúdo**, escolha **Criar substituição**.

   1. Em **Nome da operação**, insira um novo nome de operação. 

   1. Em **Corpo da página**, insira sua documentação personalizada.

   1. (Opcional) Em **Endpoint**, insira um endpoint personalizado que aparece no seu portal.

1. Para permitir que os clientes invoquem sua API no portal, selecione **Recurso Experimente**. Para obter mais informações, consulte [Habilitar o botão Experimente para um endpoint REST do produto do API Gateway em seu portal](apigateway-portals-try-it.md).

1. Em **Nome da seção**, insira um nome ou escolha uma seção existente. Quando você adiciona o endpoint REST do seu produto a uma seção, os consumidores podem visualizar seu conteúdo em um portal publicado.

1. Escolha **Salvar alterações**.

Para permitir que a nova página fique visível para os consumidores, você ainda precisa publicar novamente o portal. Para obter mais informações, consulte [Publicar um portal no API Gateway](apigateway-portals-publish-portal.md). 

# Criar uma página do produto no API Gateway
<a name="apigateway-portals-create-product-page"></a>

Uma página de produto ajuda seus consumidores a entender e usar seus produtos. A documentação está em nível de produto, portanto, todos os portais que incluem seu produto têm essa documentação. O API Gateway comporta dois tipos de páginas de produtos escritas no [GitHub Flavored Markdown](https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax):

Página Visão geral  
Quando você cria seu produto, o API Gateway gera automaticamente uma página **Visão geral** para seu produto com base nas informações que você fornece ao criar seu produto. Essa página tem uma formatação adicional que não pode ser alterada. Você pode modificar o texto ou remover a página do produto do portal.

Páginas personalizadas  
Página personalizada é uma página escrita em Markdown. Você pode usar essa seção para ver os termos e condições ou um tutorial sobre como usar seu produto. Você pode transformar qualquer página personalizada em uma página de visão geral. Quando você transforma uma página personalizada em uma página de visão geral, o conteúdo da página é formatado para corresponder à página de visão geral.

## Considerações
<a name="apigateway-portals-create-product-page-considerations"></a>

As considerações a seguir podem afetar o uso de páginas do produto:
+ Essa documentação não está em nível de API e não inclui métodos, recursos ou parâmetros de solicitação. Para saber como modificar a documentação em nível de API de um produto, consulte [Atualizar um endpoint REST de um produto no API Gateway](apigateway-portals-update-product-endpoint.md).
+ Você não pode fazer upload diretamente de um arquivo `.md` para o seu produto.
+ É possível modificar a ordem das páginas do produto modificando a lista de páginas na ordem de exibição do seu produto do portal. Para obter mais informações, consulte [Atualizar um produto do portal no API Gateway](apigateway-portals-update-portal-product.md).
+ Você precisa publicar novamente todos os portais que incluam seu produto para que as alterações na documentação sejam implementadas.
+ Se você tiver vários portais que usam o mesmo produto, as páginas do produto serão as mesmas em todos os portais. Para ter os mesmos endpoints REST do produto, mas páginas de produto diferentes, crie vários produtos.

## Criar uma página de produto
<a name="apigateway-portals-create-product-page-create"></a>

O procedimento a seguir mostra como criar um produto do produto.

**Como criar uma página do produto**

1. Inicie uma sessão no console do API Gateway em [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1. No painel de navegação principal, selecione **Produtos do portal**.

1. Escolha um produto.

1. Em **Documentação**, escolha **Criar página personalizada**.

1. Em **Título da página**, insira o título da página. 

1. Em **Corpo**, insira sua documentação complementar usando o GitHub Flavored Markdown.

   A seção **Versão prévia** mostra como seu conteúdo aparece em um portal. O estilo visual final pode mudar com base nas configurações do seu portal.

1. Escolha **Criar página do produto**.

1. Sua página do produto agora está no modo de rascunho. Escolha **Páginas de documentação de rascunho** e, depois, escolha a página do produto para finalizar o conteúdo dela.

1. Selecione **Editar página**.

1. Em **Nome da seção**, insira um nome ou escolha uma seção existente. Quando você adiciona a página a uma seção, os consumidores podem visualizar seu conteúdo em um portal publicado.

1. Escolha **Salvar alterações**.

Para permitir que a nova página fique visível para os consumidores, você ainda precisa publicar novamente o portal. Para obter mais informações, consulte [Publicar um portal no API Gateway](apigateway-portals-publish-portal.md). 

# Atualizar um produto do portal no API Gateway
<a name="apigateway-portals-update-portal-product"></a>

Ao atualizar um produto do portal, você pode alterar o nome, a descrição ou a ordem de exibição de como os endpoints REST e as páginas do produto aparecem. Para modificar a ordem de exibição, você modifica a lista de páginas das páginas do produto e o nome da seção dos endpoints do produto. Se você fizer isso usando a AWS CLI ou os SDKs, especifique o ARN da página do produto ou o ARN do endpoint REST do produto. Você precisa publicar novamente todos os portais que usam seus produtos para que seus consumidores de API vejam as alterações exibidas em um portal.

## Atualizar um produto do portal
<a name="apigateway-portals-update-portal-product-update"></a>

O procedimento a seguir mostra como alterar a lista de seções para reordenar os endpoints REST do produto conforme eles aparecerão em um portal. Neste procedimento, presumimos que você tenha pelo menos dois endpoints REST em seu produto do portal.

**Como atualizar um produto do portal**

1. Inicie uma sessão no console do API Gateway em [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1. No painel de navegação principal, selecione **Produtos do portal**.

1. Escolha um produto.

1. Na guia **Documentação**, em **Páginas do produto**, escolha **Gerenciar**.

1. Arraste e solte os endpoints REST do produto para reordená-los. Você também pode mover os endpoints REST e as páginas do produto para a seção de páginas de rascunho. As páginas nas páginas de rascunho não ficarão visíveis no seu portal.

1. (Opcional) Troque os nomes dos endpoints REST do produto ou adicione uma nova seção de referência de API. Essas alterações não afetarão suas APIs REST.

1. Escolha **Salvar alterações**.

# Atualizar um endpoint REST de um produto no API Gateway
<a name="apigateway-portals-update-product-endpoint"></a>

Ao atualizar um endpoint REST do produto, você pode alterar todas as configurações do endpoint do produto, exceto o caminho e o método de uma API REST e o estágio em que ela é implantada. Todas as alterações nos endpoints do seu produto são atualizadas automaticamente, mas você precisa publicar novamente todos os portais que usam seus produtos para ver as alterações exibidas no portal.

## Atualizar um endpoint REST de produto
<a name="apigateway-portals-update-product-endpoint-update"></a>

O procedimento a seguir mostra como atualizar um endpoint REST do produto para substituir a documentação atual da API pela documentação de referência de API personalizada.

**Como atualizar um endpoint REST de produto**

1. Inicie uma sessão no console do API Gateway em [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1. No painel de navegação principal, selecione **Produtos do portal**.

1. Escolha um produto.

1. Na guia **Documentação**, em **Páginas de referência de API**, escolha o nome de um endpoint REST do produto, como **/dogs - GET**.

1. Em **Versão prévia**, escolha **Editar página**.

1. Em **Fonte de documentação**, ative **Substituir a documentação**.

1. Em **Exibir conteúdo**, escolha **Substituir o conteúdo existente**.

   Se você escolher **Remover todo o conteúdo**, o conteúdo será removido da página, mas você poderá escolher **Substituir o conteúdo existente** para acessar a documentação novamente.

1. Em **Corpo da página**, insira a documentação de referência de API personalizada utilizando o [GitHub Flavored Markdown](https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax).

   Essa documentação não será propagada de volta para o API Gateway.

1. Escolha **Salvar alterações**.

1. Você precisa publicar novamente todos os portais que usem o produto em questão para as alterações serem implementadas.

# Atualizar uma página do produto no API Gateway
<a name="apigateway-portals-update-product-page"></a>

Quando você atualizar uma página de produto, poderá alterar todas as configurações da página do produto. Todas as alterações na página do seu produto são atualizadas automaticamente, mas você precisa publicar novamente todos os portais que usam seus produtos para ver as alterações exibidas no portal.

# Compartilhar produtos do portal no API Gateway
<a name="apigateway-portals-share-resources"></a>

Você pode compartilhar um produto do portal em todas as Contas da AWS utilizando o AWS RAM. Quando você compartilha um produto do portal, a outra conta pode utilizá-lo no próprio portal. Com produtos do portal compartilhados, você pode criar um único catálogo das APIs da sua organização e aplicar padrões de governança em todo o seu ecossistema de APIs. Ao mesmo tempo, o compartilhamento de produtos do portal oferece flexibilidade para os provedores de API desenvolverem, testarem e manterem APIs em suas próprias contas.

## Considerações
<a name="apigateway-portals-share-resources-considerations"></a>

As considerações a seguir podem afetar a maneira como você compartilha recursos do portal:
+ Quando você compartilha seu produto com outra conta, esta não pode modificar nenhuma propriedade da sua API REST. Isso inclui os endpoints de integração, a estratégia de autorização ou a configuração do estágio.
+ Quando você adiciona o produto do portal de outra conta ao seu portal, o proprietário do produto não pode visualizar nem controlar nenhuma outra propriedade do seu portal. O proprietário do produto do portal apenas sabe que o produto está sendo usado no seu portal.
+ Os produtos do portal do API Gateway são compartilhados em nível de Região da AWS.
+ É possível usar um compartilhamento de recursos com várias entidades principais e, depois de criar o compartilhamento de recursos, adicionar mais entidades principais a ele. Recomendamos que, quando possível, você reutilize seu compartilhamento de recursos.
+ Se as duas contas estiverem na mesma organização que está utilizando o AWS Organizations, o compartilhamento de recursos será aceito automaticamente. Ainda assim você precisa criar o compartilhamento de recursos usando o AWS RAM.
+ Se as duas contas estiverem na mesma organização que está usando o AWS Organizations e o compartilhamento de recursos dentro da organização estiver habilitado, todas as entidades principais na organização com as quais você compartilhar receberão acesso automaticamente aos compartilhamentos de recursos. Não há necessidade de convite, e você pode ignorar o compartilhamento de recursos.
+ Se a conta com a qual você compartilhou o produto não aceitar o compartilhamento de recursos em **12 horas**, você deverá compartilhar o recurso novamente.
+ Após a criação do compartilhamento de recursos, o AWS RAM atualiza a política de compartilhamento referente ao produto a fim de impedir o acesso a entidades principais sem o acesso explícito `allow`. Para ter mais informações, consulte [Determining whether a request is allowed or denied within an account](https://docs.aws.amazon.com//IAM/latest/UserGuide/reference_policies_evaluation-logic.html#policy-eval-denyallow) no Guia do usuário do IAM.

  A política de recurso atualizada será semelhante ao seguinte:

  ```
  {
      "Version": "2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "apigateway:GetProduct",
                  "apigateway:ListEndpoints",
                  "apigateway:ListPages",
                  "apigateway:GetEndpoint",
                  "apigateway:GetPage"
              ],
              "Resource": [
                  "arn:aws:apigateway:us-east-1:111122223333:/portalproducts/product-id",
                  "arn:aws:apigateway:us-east-1:111122223333:/portalproducts/product-id/*"
              ]
          }
      ]
  }
  ```

  O AWS RAM impediu que entidades principais sem acesso “allow” explícito adicionassem o produto ao portal, adicionando o seguinte:

  ```
  "StringNotEquals": { "aws:PrincipalAccount": "555555555555" }
  ```

Para saber como compartilhar um produto, consulte [Compartilhar seu produto do portal com um proprietário do portal no API Gateway](apigateway-portals-share-products.md). Para saber como adicionar um produto compartilhado com você ao seu portal, consulte [Adicionar um produto compartilhado ao seu portal no API Gateway](apigateway-portals-use-shared-products.md).

# Compartilhar seu produto do portal com um proprietário do portal no API Gateway
<a name="apigateway-portals-share-products"></a>

Como proprietário do produto, você pode compartilhá-lo com um proprietário do portal em outra Conta da AWS utilizando AWS RAM. Você mantém o controle total de todas as páginas do produto e das páginas de endpoint REST do produto.

## Considerações
<a name="apigateway-portals-share-products-considerations"></a>

As seguintes considerações podem afetar a maneira como você compartilha produtos do portal:
+ Você pode compartilhar ou cancelar o compartilhamento de seus produtos do portal a qualquer momento. Se você cancelar o compartilhamento de um produto do portal enquanto ele estiver sendo utilizado em um portal publicado, o proprietário do portal não poderá visualizar o produto, visualizar nenhuma atualização feita nele nem publicar novamente ou visualizar o portal até remover o produto.
+ Você pode visualizar os produtos do portal compartilhados com outras contas.
+ Você não pode modificar nenhum portal que contenha seu produto do portal, a menos que você crie o próprio portal.

## Compartilhar o produto do portal
<a name="apigateway-portals-share-products-share"></a>

O procedimento a seguir mostra como criar um compartilhamento de recursos.

------
#### [ Console de gerenciamento da AWS ]

Para usar o Console de gerenciamento da AWS, consulte [Creating a resource share in AWS RAM](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing-create.html) no *Guia do usuário do AWS RAM*.

Em **Selecionar tipo de recurso**, escolha **Produto do API Gateway**.

------
#### [ AWS CLI ]

O [create-resource-share](https://docs.aws.amazon.com/cli/latest/reference/ram/create-resource-share.html) indicado abaixo cria um compartilhamento de recursos para seu nome de domínio personalizado privado. Pode levar alguns minutos para que as associações de entidades principais entre recurso e principal sejam concluídas. Para entidades principais, forneça um ID de conta ou um ID de organização, como `arn:aws:organizations::123456789012:organization/o-1234abcd`. Você pode fornecer várias entidades principais para seu compartilhamento de recursos.

```
aws ram create-resource-share \ 
 --region us-west-2 \ 
 --name portal-product-resource-share \ 
 --permission-arns arn:aws:ram::aws:permission/AWSRAMDefaultPermissionAPIGatewayDeveloperPortalProduct \ 
 --resource-arns arn:aws:apigateway:us-west-2:111122223333:/portalproducts/p000000000 \ 
 --principals 222222222222
```

------

Para cancelar o compartilhamento do seu produto do portal, utilize AWS RAM para excluir o compartilhamento de recursos.

A qualquer momento, você pode modificar a política de compartilhamento de produtos a fim de modificar quais entidades principais podem utilizar seus produtos nos respectivos portais.

**Como atualizar a política de compartilhamento de produtos**

1. Inicie uma sessão no console do API Gateway em [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1. No painel de navegação principal, selecione **Produtos do portal**.

1. Escolha um produto.

1. Na guia **Compartilhamento de produtos**, em **Política de compartilhamento de produtos**, selecione **Gerenciar política de compartilhamento de produtos**.

1. Se você não compartilhou seu produto antes, sua política de compartilhamento de produtos negará todo o acesso a outras contas dos seus produtos do portal. Você precisa atualizar a política para permitir o acesso de determinadas contas ao seu produto do portal.

1. Depois de atualizar sua política de compartilhamento de produtos, escolha **Salvar alterações**.

# Adicionar um produto compartilhado ao seu portal no API Gateway
<a name="apigateway-portals-use-shared-products"></a>

Como proprietário de um portal, você pode utilizar produtos do portal compartilhados com você por outras contas no seu portal. Você mantém total controle do seu portal.

## Considerações
<a name="apigateway-portals-use-shared-products-considerations"></a>

As considerações a seguir podem afetar a maneira como você compartilha recursos do portal:
+ Você precisa aceitar o compartilhamento de recursos do produto do proprietário para utilizar o produto dele em seu portal. Se você e o proprietário do produto estiverem nas mesmas organizações, o AWS RAM poderá concluir algumas etapas de compartilhamento para você.
+ Se o proprietário do produto cancelar o compartilhamento de um produto enquanto ele estiver no seu portal publicado, ele ainda estará visível no portal, mas você não poderá publicar o portal novamente até removê-lo. É sua responsabilidade, como proprietário do portal, remover o produto, pois o proprietário não pode fazer isso por você.
+ Você pode visualizar os produtos do portal, as respectivas páginas e as páginas do endpoint REST do produto, mas não pode modificar nenhum desses recursos.
+ Se um produto for compartilhado, você não poderá compartilhá-lo com outra conta.

## (Opcional) Aceitar o compartilhamento de recursos
<a name="apigateway-portals-use-shared-products-accept"></a>

Se o proprietário do produto criar um compartilhamento de recursos, você terá **12 horas** para aceitá-lo. Se você estiver na mesma organização que está usando o AWS Organizations como proprietário do produto, o compartilhamento será aceito automaticamente. Se estiver em uma organização que tem recursos compartilhados automáticos habilitados, o recurso será compartilhado automaticamente com você.

------
#### [ Console de gerenciamento da AWS ]

Para usar o Console de gerenciamento da AWS, consulte [Accepting and rejecting resource share invitations](https://docs.aws.amazon.com/ram/latest/userguide/working-with-shared-invitations.html) no *Guia do usuário do AWS RAM*. 

------
#### [ AWS CLI ]

Para encontrar todos os recursos compartilhados com você, use o seguinte comando [get-resource-share-invitations](https://docs.aws.amazon.com/cli/latest/reference/ram/get-resource-share-invitations.html):

```
aws ram get-resource-share-invitations \
    --region us-west-2
```

Use o ARN de compartilhamento de recursos resultante para aceitar o convite de compartilhamento de recursos. O comando [accept-resource-share-invitation](https://docs.aws.amazon.com/cli/latest/reference/ram/accept-resource-share-invitation.html) a seguir aceita o compartilhamento de recursos.

```
aws ram accept-resource-share-invitation \
    --resource-share-invitation-arn arn:aws:ram:us-west-2:123456789012:resource-share-invitation/1e3477be-4a95-46b4-bbe0-c4001EXAMPLE \
    --region us-west-2
```

------

## Adicionar um produto compartilhado ao seu portal
<a name="apigateway-portals-use-shared-products-add"></a>

Depois de aceitar o compartilhamento de recursos, você vai adicionar o produto ao seu portal.

------
#### [ Console de gerenciamento da AWS ]

**Como adicionar um produto compartilhado ao seu portal**

1. Inicie uma sessão no console do API Gateway em [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1. No painel de navegação principal, selecione **Portais**.

1. Escolha um portal.

1. Na guia **Produtos**, para **Produtos do portal**, escolha **Adicionar produtos**.

1. Adicione um produto ao seu portal. Os produtos compartilhados são exibidos como `shared` na lista de produtos.

1. Escolha **Salvar alterações**.

------
#### [ AWS CLI ]

Para localizar todos os produtos do portal compartilhados com você, utilize o seguinte comando `get-portal-products`:

```
aws apigatewayv2 get-portal-products \
    --resource-owner OTHER_ACCOUNTS \
    --region us-west-2
```

Para adicionar um produto compartilhado ao seu portal, utilize o seguinte comando `update-portal`:

```
aws apigateway update-portal \
    --included-portal-product-arns arn:aws:apigateway:us-west-2:111122223333:/portalproducts/p000000000 \
    --region us-west-2
```

------

# Habilitar o botão Experimente para um endpoint REST do produto do API Gateway em seu portal
<a name="apigateway-portals-try-it"></a>

Use o botão Experimente para permitir que um consumidor de API invoque o endpoint do seu produto por meio do seu portal. Quando um consumidor de API usa o botão Experimente, ele insere os parâmetros de solicitação do método e invoca o endpoint do produto. Depois, o API Gateway invoca sua API pela Internet pública e exibe a resposta na janela Experimente. Você pode usar uma página de produto personalizada para fornecer informações adicionais sobre os parâmetros necessários para acessar sua API.

O API Gateway utiliza os seguintes limites para proteger suas APIs:
+ O API Gateway permite apenas três solicitações por segundo para sua API.
+ O API Gateway utiliza um tempo limite integrado de 29 mil ms. Sua API real pode ter um limite de tempo maior, mas o API Gateway não aplica esse tempo limite quando um cliente utiliza o botão Experimente.
+ O API Gateway limita a carga útil de resposta a 6 MB.

## Considerações
<a name="apigateway-portals-try-it-considerations"></a>

As seguintes considerações podem afetar a maneira como você realiza um teste:
+ O botão Experimente não é aceito quando você visualiza um portal.
+ O botão Experimente não é aceito por APIs REST com os seguintes recursos:
  + APIs privadas
  + APIs que usam TLS mútuo.
  + APIs que usam certificados SSL privados ou autoassinados.

  Como proprietário do portal, você é responsável por se comunicar com seus consumidores de API. Esse é o motivo pelo qual o botão Experimente não existe para nenhuma API REST que não seja aceita. O API Gateway não explica isso para você.

## Habilitar o botão Experimente para um endpoint REST do produto
<a name="apigateway-portals-try-it-procedure"></a>

O procedimento a seguir mostra como ativar o botão Experimente para um endpoint do produto.

Para saber como utilizar o botão Experimente em um portal, consulte [Usar um portal do API Gateway](apigateway-portals-use-portal.md).

**Habilitar o botão Experimente para um endpoint REST do produto**

1. No painel de navegação principal, selecione **Produtos do portal**.

1. Escolha um produto.

1. Na guia **Documentação**, em **Páginas de referência de API**, escolha o nome de um endpoint REST do produto, como **/dogs - GET**.

1. Selecione **Editar página**.

1. Para permitir que os clientes invoquem sua API no portal, selecione **Recurso Experimente**.

1. Escolha **Salvar alterações**.

1. Você precisa publicar novamente todos os portais que usem o produto em questão para as alterações serem implementadas.

# Excluir um produto do portal no API Gateway
<a name="apigateway-portals-delete-product"></a>

Quando você excluir um produto do portal, não será possível recuperá-lo.

## Excluir um produto do portal
<a name="apigateway-portals-delete-product-delete"></a>

O procedimento a seguir mostra como excluir um produto do portal.

**Como excluir um produto do portal**

1. Inicie uma sessão no console do API Gateway em [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1. No painel de navegação principal, selecione **Produtos do portal**.

1. Escolha um produto do portal.

1. Escolha **Excluir**.

1. Confirme sua escolha e selecione **Excluir**.

1. Você precisa publicar novamente todos os portais que usem o produto em questão para as alterações serem implementadas.