> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dodopayments.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Produtos

> Crie produtos de pagamento único, assinatura ou baseados em uso em minutos. Gerencie preços, mídia, campos e direitos automatizados - tudo em um só lugar.

<Info>
  Produtos são a base do Dodo Payments. Seja vendendo um download único, uma assinatura recorrente ou acesso baseado em uso, você começa criando um produto. Cada produto define como é precificado, apresentado no checkout e realizado após a compra.
</Info>

<CardGroup cols={3}>
  <Card title="One‑Time" icon="credit-card" href="/features/one-time-payment-products">
    Cobre uma vez por acesso vitalício ou um único item entregue.
  </Card>

  <Card title="Subscriptions" icon="repeat" href="/features/subscription">
    Fature conforme cronograma com testes gratuitos, prorrata e complementos.
  </Card>

  <Card title="Usage‑Based" icon="arrow-trend-up" href="/features/usage-based-billing/introduction">
    Medir consumo e conta pelo uso real.
  </Card>
</CardGroup>

## Criar um produto

Você pode criar produtos a partir do painel ou via API. Escolha o modelo de precificação de antemão: Pagamento Único, Assinatura ou Baseado em Uso e, em seguida, configure os detalhes. O modelo de precificação não pode ser alterado posteriormente; crie um novo produto se precisar de um modelo diferente.

<Steps>
  <Step title="Name & description">
    Forneça um título claro e uma descrição concisa voltada para valor. Markdown é compatível nas descrições.

    <Tip>
      Mantenha a primeira frase voltada para o cliente e orientada a resultados; ela aparece em destaque no checkout.
    </Tip>

    <Frame>
      <img src="https://mintcdn.com/dodopayments/r-ndtvzx3WhKqwER/images/products.png?fit=max&auto=format&n=r-ndtvzx3WhKqwER&q=85&s=fb41221c4f2af4de0155e71de1ac6904" alt="Produtos" style={{ maxHeight: '500px', width: 'auto' }} width="1911" height="927" data-path="images/products.png" />
    </Frame>
  </Step>

  <Step title="Pricing model & price">
    Selecione o modelo de precificação:

    * **Pagamento Único**: Preço fixo pago uma vez.
    * **Assinatura**: Preço recorrente com intervalo e teste opcional.
    * **Baseado em Uso**: Preço derivado de eventos medidos.

    Em seguida, defina os preços:

    * **Preço**: Quantia base e moeda.
    * **Desconto (%)**: Desconto opcional exibido no checkout e nas faturas.
    * Para assinaturas, defina **Repetir a cada** (por exemplo, 1 mês ou 1 ano) e **Dias de teste** se necessário. O preço da assinatura deve ser pelo menos **\$1** (ou o equivalente na moeda escolhida); valores abaixo desse mínimo não são suportados e a assinatura não funcionará.

    <Warning>
      Alterar o preço afeta apenas compras novas. Assinaturas existentes seguem as regras de alteração de plano.
    </Warning>
  </Step>

  <Step title="Product media">
    Envie imagens para mostrar o produto no checkout e nas faturas. Suporta PNG/JPG/WebP de até 3 MB. Reordene ou substitua a qualquer momento.
  </Step>

  <Step title="Automated entitlements (Under Advanced Settings)">
    Anexe o cumprimento que é ativado automaticamente após o pagamento:

    * **Chaves de Licença**: Emita e valide chaves únicas
    * **Downloads de Arquivos**: Conceda acesso seguro a arquivos
    * **Personalizado**: Acione sua própria lógica de direitos via webhooks

    Adicione ou remova benefícios conforme sua oferta evolui. Assinantes existentes ganham ou perdem acesso de acordo.
  </Step>
</Steps>

## Variantes e opções de preços

Em vez de variantes sob um único produto, crie produtos separados para cada opção de preço (por exemplo, Mensal e Anual). Em seguida, agrupe-os em uma **Coleção de Produtos** para apresentar todas as opções em um único checkout e permitir a troca de planos no Portal do Cliente.

<Frame>
  <img src="https://mintcdn.com/dodopayments/2YrxTqbaYgAm54C_/images/product-collection/checkout-page.png?fit=max&auto=format&n=2YrxTqbaYgAm54C_&q=85&s=1890932384bc32c8126c7993f3581855" alt="Coleções de Produtos" style={{ maxHeight: '500px', width: 'auto' }} width="1440" height="960" data-path="images/product-collection/checkout-page.png" />
</Frame>

### Por que essa abordagem?

* **Modelos de preços claros**: Cada produto tem um único e bem definido modelo de preços (pagamento único, assinatura ou baseado em uso)
* **APIs previsíveis**: Integrações mais simples sem lógica de variantes aninhadas
* **Relatórios mais fáceis**: Rastreie receita e métricas por produto sem agregação de variantes
* **Checkout flexível**: Exiba múltiplos produtos lado a lado, permitindo que os clientes comparem e escolham

### Como funcionam as Coleções de Produtos

1. **Criar produtos**: Configure produtos individuais para cada plano (por exemplo, Iniciante Mensal, Iniciante Anual, Pro Mensal, Pro Anual)
2. **Agrupar em uma coleção**: Adicione produtos relacionados a uma Coleção de Produtos
3. **Checkout unificado**: Os clientes veem todas as opções em um único checkout e selecionam seu plano preferido
4. **Troca de planos**: Os clientes podem fazer upgrade ou downgrade entre produtos na mesma coleção através do Portal do Cliente

<Card title="Product Collections" icon="layer-group" href="/features/product-collections">
  Agrupe produtos relacionados para experiências de checkout unificadas e caminhos suaves de upgrade/downgrade.
</Card>

## Gerenciando produtos

Você pode gerenciar produtos através do painel ou programaticamente via API. A API fornece controle total sobre criação, atualizações, recuperação, uploads de imagens e arquivamento de produtos.

### Gerenciamento pelo Painel

* **Atualizar**: Edite nome, descrição, imagens, preço, campos e benefícios a qualquer momento (o modelo de preços é imutável).
* **Arquivar**: Oculte um produto de novas compras sem perturbar clientes existentes. Você pode desarquivar depois.

### Gerenciamento via API

As seguintes instruções permitem criar, atualizar, gerenciar e recuperar produtos, incluindo o upload de imagens.

<AccordionGroup>
  <Accordion title="Creating a Product">
    Um produto pode ser um item único ou um serviço baseado em assinatura. Para criar um novo produto, envie uma requisição `POST` para o endpoint `/products` com detalhes como nome, descrição, preço, moeda e se é um produto recorrente.

    Para produtos recorrentes, defina o objeto `price` para um preço recorrente (`type: recurring_price`) e especifique `payment_frequency_interval` e `subscription_period_interval` (`Day`, `Week`, `Month` ou `Year`), juntamente com suas contagens correspondentes.

    <Card title="Create Product API" icon="code" href="/api-reference/products/post-products">
      Veja a estrutura detalhada de requisição e resposta na documentação da API Criar Produto.
    </Card>
  </Accordion>

  <Accordion title="Updating a Product">
    Para modificar um produto existente, envie uma requisição `PATCH` para o endpoint `/products/{product_id}`. Você pode atualizar propriedades como nome, preço e descrição mantendo outros detalhes inalterados.

    Certifique-se de que o `product_id` no endpoint corresponde a um produto existente.

    <Card title="Update Product API" icon="code" href="/api-reference/products/patch-products">
      Veja a estrutura detalhada de requisição e resposta na documentação da API Atualizar Produto.
    </Card>
  </Accordion>

  <Accordion title="Retrieving Products">
    Você pode obter uma lista de produtos armazenados em sua conta usando uma requisição `GET` para o endpoint `/products`. Isso permite recuperar detalhes dos produtos, incluindo os ativos e arquivados.

    <Card title="Retrieve Products API" icon="code" href="/api-reference/products/get-products">
      Veja a estrutura detalhada de requisição e resposta na documentação da API Recuperar Produtos.
    </Card>
  </Accordion>

  <Accordion title="Uploading Product Images">
    Você pode associar uma imagem a um produto enviando-a para o AWS S3 usando uma URL pré-assinada fornecida pela API. Primeiro, solicite uma URL de upload de imagem no endpoint `/products/{product_id}/images` e depois use a URL fornecida para enviar a imagem dentro de 60 segundos.

    <Warning>
      A URL pré-assinada expira em 60 segundos, então a imagem deve ser enviada dentro desse prazo.
    </Warning>

    Depois que a URL pré-assinada for recebida da API, envie a imagem usando o método `PUT`. Isso garante acesso seguro e temporário ao AWS S3 para o upload da imagem.

    **Bibliotecas compatíveis para enviar ao S3:**

    * **Node.js**: `axios`, `node-fetch`
    * **Python**: `requests`, `boto3`
    * **Go**: `net/http`
    * **PHP**: `GuzzleHttp`
    * **Ruby**: `rest-client`

    Se o upload for bem-sucedido, o AWS S3 retornará um status `200 OK`, indicando que a imagem foi armazenada com sucesso.

    <Card title="Upload Product Image API" icon="code" href="/api-reference/products/put-products-images">
      Veja a estrutura detalhada de requisição e resposta na documentação da API Enviar Imagem do Produto.
    </Card>
  </Accordion>

  <Accordion title="Archiving a Product">
    Se você não deseja mais mostrar ou usar um produto, pode arquivá-lo usando uma solicitação `DELETE` para o endpoint `/products/{id}`. Esta ação esconde o produto, mas não o exclui permanentemente.

    <Card title="Archive Product API" icon="code" href="/api-reference/products/archive-product">
      Veja a estrutura detalhada de requisição e resposta na documentação da API Arquivar Produto.
    </Card>
  </Accordion>

  <Accordion title="Unarchiving a Product">
    Se precisar restaurar um produto arquivado, envie uma requisição `POST` para o endpoint `/products/{product_id}/unarchive`. Isso reativará o produto e o tornará utilizável novamente.

    <Card title="Unarchive Product API" icon="code" href="/api-reference/products/unarchive-product">
      Veja a estrutura detalhada de requisição e resposta na documentação da API Desarquivar Produto.
    </Card>
  </Accordion>

  <Accordion title="Checkout & fulfillment">
    Crie fluxos de pagamento ou assinatura a partir de produtos e realize automaticamente por meio de benefícios e webhooks.

    <CardGroup cols={3}>
      <Card title="Checkout Sessions" icon="code" href="/developer-resources/checkout-session">
        Crie sessões de checkout para compras únicas ou por assinatura.
      </Card>

      <Card title="Payment Webhooks" icon="code" href="/developer-resources/webhooks/intents/payment">
        Reaja aos eventos do ciclo de vida de pagamentos.
      </Card>

      <Card title="Subscription Webhooks" icon="code" href="/developer-resources/webhooks/intents/subscription">
        Trate eventos de assinatura criada, renovada e cancelada.
      </Card>
    </CardGroup>
  </Accordion>
</AccordionGroup>

## Melhores práticas

* **Comece com clareza**: Separe produtos para cada opção de preço (Mensal vs Anual)
* **Use testes gratuitos de forma consciente**: Combine testes com integração para promover ativação
* **Automatize o cumprimento**: Use benefícios e webhooks para entrega instantânea
* **Tag com metadados**: Armazene seus IDs de sistema para reconciliação

<Check>
  Você está pronto para criar produtos e começar a vender — único, recorrente ou por uso.
</Check>

## Related

<Card title="Product Analytics" icon="chart-mixed" href="/features/analytics-and-reporting#product-level-analytics">
  Acompanhe receita, clientes, retenção, assinantes e MRR para cada produto individual.
</Card>
