# Ferramentas · Vendas e planos

> Ferramentas MCP para vender: listar planos, produtos e cupons, criar opções de cobrança e planos com adicionais em rascunho, publicar e despublicar, mudar preços, criar, editar e excluir cupons e ofertas de downsell, excluir produtos e planos e reordenar os planos, com confirmação no que mexe em dinheiro.

O que a comunidade vende: planos com as opções de cobrança e os adicionais, produtos avulsos, cupons. Tudo nasce em rascunho e só vai à venda quando você pede; mudar um preço, criar ou editar um cupom, criar ou editar uma oferta de última chance e excluir pedem o seu sim, com um resumo dos valores. Mudar um plano (`update_plan`) roda na primeira chamada.

## Rascunho antes da aprovação

Dá para montar tudo **antes** de a [informação comercial](/pagamentos/informacao-comercial) ser aprovada: produtos, opções, planos, adicionais, cupons e ofertas de downsell nascem em rascunho e podem ser editados à vontade. O que espera a aprovação é **publicar e vender**:

- `publish_product` numa comunidade sem aprovação é recusado com a mensagem da Memberfy: *"Para publicar e começar a vender, a comunidade precisa ter as informações comerciais aprovadas. Enquanto isso, você pode criar e configurar tudo como rascunho: preencha em Configurações › Informação Comercial e envie para análise."*
- Nas compostas (`create_course`, `create_event` e `create_plan` com publicar), a recusa **não desfaz nada**: o curso, o evento, o ingresso, o plano e as opções ficam em rascunho, a resposta traz o motivo em `publish_blocked`, e o próximo passo sugerido é preencher a informação comercial e depois publicar com `publish_product`.
- O preço de um rascunho fica na moeda do país da informação comercial (em qualquer status) ou, sem ela, em reais. Se a moeda aprovada for outra, a publicação é recusada (*"Este produto está em … mas a moeda das informações comerciais aprovadas é …"*): ajuste a moeda e o preço antes.

Cada ferramenta traz um selo: <span class="tool-kind tool-kind-read">Só consulta</span> não muda nada, <span class="tool-kind tool-kind-write">Altera</span> cria ou muda algo na hora, e <span class="tool-kind tool-kind-confirm">Pede confirmação</span> só age depois do seu sim a um resumo. Ver [Dinheiro e confirmação](/mcp/dinheiro-e-confirmacao).

## Em resumo

| Ferramenta | O que faz | Papel mínimo | Tipo |
|---|---|---|---|
| [`list_plans`](#list-plans) | Planos, opções e adicionais | Administrador ou financeiro | <span class="tool-kind tool-kind-read">Só consulta</span> |
| [`list_products`](#list-products) | Opções de cobrança e produtos, com preço e status | Administrador ou financeiro | <span class="tool-kind tool-kind-read">Só consulta</span> |
| [`list_coupons`](#list-coupons) | Cupons com status e uso | Administrador ou financeiro | <span class="tool-kind tool-kind-read">Só consulta</span> |
| [`create_product`](#create-product) | Cria um produto ou opção de cobrança, em rascunho | Administrador | <span class="tool-kind tool-kind-write">Altera</span> |
| [`create_plan`](#create-plan) | Opções, plano e adicionais, de uma vez | Administrador | <span class="tool-kind tool-kind-write">Altera</span> |
| [`publish_product`](#publish-product) | Põe um produto à venda | Administrador | <span class="tool-kind tool-kind-write">Altera</span> |
| [`unpublish_product`](#unpublish-product) | Tira um produto da venda | Administrador | <span class="tool-kind tool-kind-write">Altera</span> |
| [`update_price`](#update-price) | Muda um preço, com confirmação | Administrador | <span class="tool-kind tool-kind-confirm">Pede confirmação</span> |
| [`create_coupon`](#create-coupon) | Cria um cupom, com confirmação | Administrador | <span class="tool-kind tool-kind-confirm">Pede confirmação</span> |
| [`update_plan`](#update-plan) | Muda nome, endereço, opções e adicionais de um plano | Administrador | <span class="tool-kind tool-kind-write">Altera</span> |
| [`update_product`](#update-product) | Muda título, espaços, estoque, parcelas, teste e link direto | Administrador | <span class="tool-kind tool-kind-write">Altera</span> |
| [`update_coupon_status`](#update-coupon-status) | Pausa ou reativa um cupom | Administrador | <span class="tool-kind tool-kind-confirm">Pede confirmação</span> |
| [`update_coupon`](#update-coupon) | Muda nome, desconto, duração, limites, validade e produtos de um cupom | Administrador | <span class="tool-kind tool-kind-confirm">Pede confirmação</span> |
| [`delete_coupon`](#delete-coupon) | Exclui um cupom | Administrador | <span class="tool-kind tool-kind-confirm">Pede confirmação</span> |
| [`get_coupon_usage`](#get-coupon-usage) | Quem usou um cupom | Administrador ou financeiro | <span class="tool-kind tool-kind-read">Só consulta</span> |
| [`list_downsell_offers`](#list-downsell-offers) | As ofertas de última chance de um plano, com conversão | Administrador | <span class="tool-kind tool-kind-read">Só consulta</span> |
| [`create_downsell_offer`](#create-downsell-offer) | Cria uma oferta de última chance | Administrador | <span class="tool-kind tool-kind-confirm">Pede confirmação</span> |
| [`update_downsell_offer`](#update-downsell-offer) | Muda ou pausa uma oferta de última chance | Administrador | <span class="tool-kind tool-kind-confirm">Pede confirmação</span> |
| [`delete_downsell_offer`](#delete-downsell-offer) | Exclui uma oferta de última chance | Administrador | <span class="tool-kind tool-kind-confirm">Pede confirmação</span> |
| [`delete_product`](#delete-product) | Exclui um produto ou opção de cobrança | Administrador | <span class="tool-kind tool-kind-confirm">Pede confirmação</span> |
| [`delete_plan`](#delete-plan) | Exclui um plano | Administrador | <span class="tool-kind tool-kind-confirm">Pede confirmação</span> |
| [`reorder_plans`](#reorder-plans) | Põe os planos numa nova ordem na página de preços | Administrador | <span class="tool-kind tool-kind-write">Altera</span> |
| [`get_storefront`](#get-storefront) | O que um espaço de Loja mostra | Administrador | <span class="tool-kind tool-kind-read">Só consulta</span> |
| [`update_storefront`](#update-storefront) | Escolhe os produtos de uma Loja | Administrador | <span class="tool-kind tool-kind-write">Altera</span> |

## `list_plans`

<span class="tool-kind tool-kind-read">Só consulta</span>

**Listar planos.** Os planos da comunidade, com as opções de cobrança e os adicionais de cada um. *Papel mínimo: administrador ou financeiro.*

Parâmetros: nenhum.

**Devolve:** os planos (id, nome, endereço), as opções de cada um (id, título, preço, intervalo, status) e os adicionais.

**Peça assim:** *"Quais planos temos, e quanto custa cada opção?"*

## `list_products`

<span class="tool-kind tool-kind-read">Só consulta</span>

**Listar opções de cobrança e produtos.** Todos os produtos: opções de assinatura, avulsos, parcelados e adicionais. *Papel mínimo: administrador ou financeiro.*

Parâmetros: nenhum.

**Devolve:** cada produto com id, título, tipo, preço, intervalo, status (rascunho ou publicado) e os espaços que libera. O id é o que `create_plan` (em `add_on_ids`), `update_price`, `publish_product` e `create_coupon` pedem.

**Peça assim:** *"Quais produtos estão em rascunho?"*

## `list_coupons`

<span class="tool-kind tool-kind-read">Só consulta</span>

**Listar cupons.** Os cupons, com status e uso. *Papel mínimo: administrador ou financeiro.*

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `status` | `ACTIVE`, `INACTIVE`, `EXPIRED` | Não | Só um status |
| `search` | texto | Não | Parte do código ou do nome |
| `page`, `limit` | número | Não | Paginação |

**Devolve:** os cupons, com código, tipo, valor, duração, validade, limite e usos.

**Peça assim:** *"Quais cupons estão ativos e quantas vezes cada um foi usado?"*

## `create_product`

<span class="tool-kind tool-kind-write">Altera</span>

**Criar opção de cobrança ou produto.** Cria um produto **em rascunho**: uma opção de assinatura, um avulso (ingresso, curso) ou um parcelado. *Papel mínimo: administrador.*

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `title` | texto, de 3 a 255 | Sim | |
| `type` | `SUBSCRIPTION`, `ONE_TIME`, `INSTALLMENT` | Sim | Opção de assinatura, avulso ou parcelado |
| `price` | número, na moeda da comunidade | Sim | Na assinatura, o valor de cada ciclo; no anual parcelado, o valor do ano |
| `interval` | `MONTHLY`, `YEARLY` | Não | Só em `SUBSCRIPTION`: mensal ou anual |
| `max_installments` | 1 a 12 | Não | Até quantas vezes no cartão (avulso, ou anual) |
| `commitment_months` | 1 a 36 | Não | [Duração do contrato](/monetizacao/duracao-do-contrato); só no mensal |
| `trial_days` | 0 a 365 | Não | Teste grátis |
| `description` | texto simples, até 5.000 | Não | Sem formatação: marcas de Markdown são tiradas |
| `space_ids` | lista de ids | Não | Os espaços que a compra libera |
| `stock` | número | Não | Quantidade à venda (ingressos). Vazio: sem limite |
| `direct_link` | sim ou não | Não | Um avulso vendável por link direto, fora da Loja |

**Devolve:** o produto criado, em rascunho, com o id.

**Peça assim:** *"Crie o produto Mentoria avulsa, R$ 450, em até 3×, que libera o espaço Mentorias. Deixe em rascunho."*

**Notas:** nada é vendido até `publish_product`, e criar não depende da informação comercial aprovada (ver [Rascunho antes da aprovação](#rascunho-antes-da-aprovacao)). Para um plano com várias opções, `create_plan` faz tudo de uma vez. As regras de cada campo são as do painel: ver [Produtos](/monetizacao/produtos) e [Opções de cobrança](/monetizacao/opcoes-de-cobranca).

## `create_plan`

<span class="tool-kind tool-kind-write">Altera</span>

**Criar plano com opções e adicionais.** Opções de cobrança → plano com as opções → adicionais ligados. *Papel mínimo: administrador.*

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `name` | texto, até 120 | Sim | O nome do plano |
| `description` | texto simples | Não | Sem formatação: marcas de Markdown são tiradas |
| `slug` | texto, até 60 | Não | O endereço do plano, para o link `/pricing/<endereço>` |
| `options` | lista, de 1 a 6 | Sim | As opções de cobrança (veja abaixo) |
| `add_on_ids` | lista de ids | Não | Produtos mensais que já existem e não são opção de plano, de `list_products` |
| `publish` | sim ou não | Não | Publica todas as opções. Padrão: rascunho |
| `idempotency_key` | texto, até 100 | Não | |

Cada **opção**:

| Campo | Tipo | Descrição |
|---|---|---|
| `title` | texto, de 3 a 255 | Obrigatório. Ex.: *Mentoria · Mensal* |
| `price` | número, na moeda da comunidade | Obrigatório. No anual, o valor do ano |
| `interval` | `MONTHLY`, `YEARLY` | Padrão: `MONTHLY` |
| `max_installments` | 1 a 12 | No anual, até quantas vezes no cartão |
| `commitment_months` | 1 a 36 | Contrato mínimo, no mensal |
| `trial_days` | 0 a 365 | Teste grátis |
| `description` | texto simples | Sem formatação: marcas de Markdown são tiradas |
| `space_ids` | lista de ids | Os espaços que a opção libera |

**Devolve:** o plano (id, nome, endereço), as opções (id, título, preço, intervalo, status) e os adicionais ligados.

**Peça assim:** *"Crie o plano Mentoria com mensal de R$ 390 com contrato de 6 meses e anual de R$ 3.900 em até 12×, os dois liberando o espaço Mentoria, e ligue a Sessão individual como adicional."*

**Notas:** se um passo falha, o plano é desfeito por último, porque a Memberfy não apaga um plano que ainda tem opções. Ver [Planos](/monetizacao/planos), [Adicionais](/monetizacao/adicionais) e [Anual parcelado](/monetizacao/anual-parcelado).

## `publish_product`

<span class="tool-kind tool-kind-write">Altera</span>

**Publicar produto (pôr à venda).** Põe à venda um produto em rascunho. *Papel mínimo: administrador.*

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `product_id` | id | Sim | De `list_products` ou de uma criação |

**Devolve:** o produto, publicado.

**Peça assim:** *"Pode publicar o produto Excel do Zero."*

**Notas:** publicar exige a [informação comercial](/pagamentos/informacao-comercial) aprovada, e o produto na moeda do país aprovado. Sem isso, a Memberfy recusa e o produto continua em rascunho, editável. Ver [Rascunho antes da aprovação](#rascunho-antes-da-aprovacao).

## `unpublish_product`

<span class="tool-kind tool-kind-write">Altera</span>

**Tirar produto da venda.** Tira um produto da venda. Quem já comprou continua com o acesso. *Papel mínimo: administrador.*

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `product_id` | id | Sim | |

**Devolve:** o produto, fora da venda.

**Peça assim:** *"Tire o ingresso do encontro de outubro da venda."*

## `update_price`

<span class="tool-kind tool-kind-confirm">Pede confirmação</span>

**Alterar preço de um produto.** Muda o preço de um produto ou de uma opção de cobrança. *Papel mínimo: administrador.*

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `product_id` | id | Sim | De `list_products` |
| `new_price` | número, em reais | Sim | |

**O resumo:** o produto, o preço atual, o preço novo e o status (rascunho ou publicado).

**Peça assim:** *"Aumente o Growth Mensal de R$ 129 para R$ 149."*

**Notas:** assinaturas que já existem seguem as regras da Memberfy para mudança de preço, as mesmas da edição pelo painel. Ver [Opções de cobrança](/monetizacao/opcoes-de-cobranca#mudar-uma-opcao-que-ja-tem-assinantes).

## `create_coupon`

<span class="tool-kind tool-kind-confirm">Pede confirmação</span>

**Criar cupom.** Cria um cupom de desconto, percentual ou de valor fixo, para todos os produtos ou só para alguns. *Papel mínimo: administrador.*

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `code` | texto, de 2 a 50 | Sim | Ex.: `PRO20`. Fica em maiúsculas |
| `name` | texto, até 120 | Sim | O nome interno |
| `type` | `PERCENTAGE`, `FIXED` | Sim | Percentual ou valor fixo |
| `value` | número | Sim | 20 = 20%, ou o valor em reais |
| `duration` | `ONCE`, `FOREVER`, `REPEATING` | Não | Em assinaturas: só a 1ª cobrança (padrão), sempre, ou por alguns meses |
| `months` | 1 a 36 | Não | Com `REPEATING` |
| `max_uses` | número | Não | Vazio: sem limite |
| `start_date` | data ISO 8601 | Não | Padrão: agora |
| `end_date` | data ISO 8601 | Não | Vazio: sem fim |
| `product_ids` | lista de ids | Não | Só estes produtos. Vazio: todos |

**O resumo:** a ação, o código, o desconto (*20%* ou *R$ 50,00*), a duração, o limite de usos, a validade e os produtos.

**Peça assim:** *"Crie o cupom BLACK30, 30% só na primeira cobrança, para os planos Growth, até 100 usos, válido até 30/11."*

Ver [Cupons](/monetizacao/cupons).

## `update_plan`

<span class="tool-kind tool-kind-write">Altera</span>

**Editar plano.** Muda nome, descrição, endereço, se está ativo, as opções de cobrança e os adicionais de um plano. *Papel mínimo: administrador.*

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `plan` | id ou link (`/pricing/…`) | Sim | |
| `name`, `description`, `slug` | texto | Não | |
| `active` | sim ou não | Não | |
| `option_ids` | lista de ids | Não | A lista **inteira** de opções do plano |
| `add_on_ids` | lista de ids | Não | A lista **inteira** de adicionais |

**Peça assim:** *"Tire o anual do plano Growth e deixe só o mensal."*

**Notas:** muda o que se vende na hora, sem confirmação. Preço se muda com `update_price`, que pede o seu sim.

## `update_product`

<span class="tool-kind tool-kind-write">Altera</span>

**Editar produto.** Muda título, descrições, espaços que libera, estoque, parcelas, teste grátis ou link direto. *Papel mínimo: administrador.*

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `product` | id ou slug | Sim | |
| `title`, `description`, `short_description` | texto | Não | |
| `space_ids` | lista de ids | Não | Os espaços que a compra libera |
| `stock` | número | Não | |
| `max_installments` | número | Não | |
| `trial_days` | número | Não | |
| `direct_link` | sim ou não | Não | |

**Peça assim:** *"Aumente o estoque do ingresso para 120."*

**Notas:** o preço é com `update_price`, que pede confirmação.

## `update_coupon_status`

<span class="tool-kind tool-kind-confirm">Pede confirmação</span>

**Pausar ou reativar cupom.** Pausa ou reativa um cupom. *Papel mínimo: administrador.*

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `coupon` | id ou código | Sim | |
| `status` | `ACTIVE`, `INACTIVE` | Sim | Reativar ou pausar |

**Peça assim:** *"Pause o cupom BLACK30."*

## `update_coupon`

<span class="tool-kind tool-kind-confirm">Pede confirmação</span>

**Editar cupom.** Muda um cupom que já existe. Só o que for enviado muda; pausar é com `update_coupon_status`. *Papel mínimo: administrador.*

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `coupon` | id ou código | Sim | |
| `name`, `description` | texto | Não | |
| `value` | número | Não | Porcentagem (20 = 20%) ou valor, conforme o tipo do cupom |
| `duration` | `ONCE`, `FOREVER`, `REPEATING` | Não | Uma vez, para sempre ou por alguns meses |
| `months` | 1 a 36 | Não | Com `REPEATING` |
| `max_uses`, `max_uses_per_person` | número | Não | Limites de uso |
| `start_date`, `end_date` | data | Não | A validade |
| `product_ids` | lista de ids | Não | Os produtos em que o cupom vale |

**Devolve:** na primeira chamada, o código e o que muda, e o código de confirmação.

**Peça assim:** *"Aumente o BLACK30 para 40% e estenda até domingo."*

Ver [Cupons](/monetizacao/cupons).

## `delete_coupon`

<span class="tool-kind tool-kind-confirm">Pede confirmação</span>

**Excluir cupom.** Os descontos já dados continuam valendo. *Papel mínimo: administrador.*

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `coupon` | id ou código | Sim | |

**Devolve:** na primeira chamada, o código e quantas vezes foi usado, e o código de confirmação.

## `get_coupon_usage`

<span class="tool-kind tool-kind-read">Só consulta</span>

**Ver uso de um cupom.** Quem usou, quando e quanto de desconto. *Papel mínimo: administrador ou financeiro.*

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `coupon` | id ou código | Sim | |
| `page` | número | Não | |

**Peça assim:** *"Quem usou o cupom BLACK30?"*

## `list_downsell_offers`

<span class="tool-kind tool-kind-read">Só consulta</span>

**Ofertas de downsell de um plano.** As ofertas de desconto em adicionais depois da compra de um plano, com quantas vezes foram mostradas e convertidas. *Papel mínimo: administrador.*

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `plan` | id ou link | Sim | |

**Peça assim:** *"Quanto a oferta de última chance da Extensão Coworking converte?"*

## `create_downsell_offer`

<span class="tool-kind tool-kind-confirm">Pede confirmação</span>

**Criar oferta de downsell.** Cria uma oferta de desconto num adicional, mostrada depois do pagamento do plano. *Papel mínimo: administrador.*

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `plan` | id ou link | Sim | |
| `add_on_id` | id | Sim | O adicional do plano |
| `discount_percent` | número | Não | |
| `timing` | `IMMEDIATE`, `DELAYED` | Não | Na hora (padrão) ou depois de um tempo |
| `delay_minutes` | número | Não | Com `DELAYED` |
| `price_duration` | `FOREVER`, `FIRST_CHARGE`, `CYCLES` | Não | Desconto para sempre, só na primeira cobrança ou por alguns ciclos |
| `cycles` | número | Não | Com `CYCLES` |
| `ttl_minutes` | número | Não | Por quanto tempo a oferta vale |

**Peça assim:** *"Ofereça 30% na Extensão Coworking para quem assinar o Growth sem ela, nas 3 primeiras cobranças."*

Ver [Downsell](/monetizacao/downsell).

## `update_downsell_offer`

<span class="tool-kind tool-kind-confirm">Pede confirmação</span>

**Editar oferta de downsell.** Muda uma oferta de última chance de um plano, ou a pausa. Só o que for enviado muda. *Papel mínimo: administrador.*

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `plan` | id ou link | Sim | |
| `offer_id` | id | Sim | De `list_downsell_offers` |
| `discount_percent`, `timing`, `delay_minutes`, `price_duration`, `cycles`, `ttl_minutes` | | Não | Os mesmos de `create_downsell_offer` |
| `active` | sim ou não | Não | Com não, pausa a oferta |

**Peça assim:** *"Pause a oferta da Extensão Coworking até o fim do mês."*

## `delete_downsell_offer`

<span class="tool-kind tool-kind-confirm">Pede confirmação</span>

**Excluir oferta de downsell.** *Papel mínimo: administrador.*

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `plan` | id ou link | Sim | |
| `offer_id` | id | Sim | De `list_downsell_offers` |

## `delete_product`

<span class="tool-kind tool-kind-confirm">Pede confirmação</span>

**Excluir produto.** Exclui um produto ou uma opção de cobrança. Quem comprou continua com o acesso. *Papel mínimo: administrador.*

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `product` | id ou slug | Sim | De `list_products` |

**Devolve:** na primeira chamada, o título, o preço e o status, e o código de confirmação.

**Notas:** para só parar de vender, prefira `unpublish_product`. Ver [Produtos](/monetizacao/produtos).

## `delete_plan`

<span class="tool-kind tool-kind-confirm">Pede confirmação</span>

**Excluir plano.** Quem já assina não é cancelado. *Papel mínimo: administrador.*

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `plan` | id ou link (`/pricing/…`) | Sim | |

**Devolve:** na primeira chamada, o nome do plano e as opções dele, e o código de confirmação.

## `reorder_plans`

<span class="tool-kind tool-kind-write">Altera</span>

**Reordenar planos.** Põe os planos numa nova ordem na página de preços, do primeiro ao último. *Papel mínimo: administrador.*

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `plan_ids` | lista de ids | Sim | De `list_plans`, na ordem nova |

**Peça assim:** *"Na página de preços, ponha o Growth antes do Starter."*

## `get_storefront`

<span class="tool-kind tool-kind-read">Só consulta</span>

**Ver loja.** O que um espaço de Loja mostra: todos os produtos ou só os escolhidos. *Papel mínimo: administrador.*

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `space` | id ou link | Sim | O espaço de Loja |

## `update_storefront`

<span class="tool-kind tool-kind-write">Altera</span>

**Escolher produtos da loja.** Define o que um espaço de Loja vende. *Papel mínimo: administrador.*

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `space` | id ou link | Sim | |
| `mode` | `all`, `selected` | Sim | Todos os produtos publicados, ou só os escolhidos |
| `product_ids` | lista de ids | Não | Com `selected`, de `list_products` |

**Peça assim:** *"Deixe na loja só os cursos avulsos."*

Ver [Loja](/espacos/loja).

## Relacionados

- [Ferramentas](/mcp/ferramentas)
- [Receitas](/mcp/receitas)
- [Dinheiro e confirmação](/mcp/dinheiro-e-confirmacao)
