Skip to main content
O catálogo é o que a sua empresa vende: produtos, as ofertas que dão preço a eles, e os cupons que descontam esse preço. São 38 operações; esta página percorre as cinco que qualquer integração usa primeiro.
Todos os exemplos assumem $TOKEN no ambiente. Se ainda não tem um, comece por Primeiros passos.

A história

A Ana vende um curso de tráfego pago. Ela quer cadastrar o produto pela API, criar a oferta anual de R$ 499 e deixar um cupom de 25% pronto para o lançamento de novembro. Quatro chamadas.

1. Descubra a categoria

Um produto nasce dentro de uma categoria, e o categoryId precisa existir. Liste antes de criar:

2. Crie o produto

price é o preço de vitrine, em centavos. refundPeriodDays é a garantia que aparece no checkout e que o prazo de reembolso vai respeitar.
A resposta é 201. Guarde o data.id: ele é o productId de quase tudo que vem depois.
Criar o produto pela API já monta um checkout padrão e uma oferta padrão junto. Você não precisa de POST /v1/products/{productId}/publish — essa rota só tira do rascunho os produtos criados no editor novo do painel, e responde 400 para os demais.

3. Crie a oferta

A oferta é o que o comprador realmente compra: um preço, um conjunto de meios de pagamento e um slug público.
compareAtPrice é o “de R699porR 699 por R 499” do checkout — ele não cobra nada, só aparece riscado. O id da oferta é um inteiro, diferente do id do produto, que é uma string.
Para assinatura, use POST /v1/products/{productId}/offer-plans em vez de /offers: ele aceita frequency, renewalType, firstChargePrice e taxa de adesão. A cobrança recorrente em si está em Assinaturas.

4. Crie o cupom de lançamento

O cupom vive no nível da empresa e depois é amarrado a produtos ou ofertas. appliesTo: "selected" significa “só onde eu mandar”.

5. Amarre o cupom ao produto

Confira pelo outro lado — quais cupons valem para este produto:
redemptionCount sobe a cada uso confirmado; quando alcança maxRedemptions, o cupom para de valer sozinho.

Erros que você vai encontrar

discountType decide qual dos dois campos de valor o cupom usa: percent pede discountPercent (1 a 95), fixed pede discountAmountInCents. Mandar o valor sem o tipo reprova.
O par empresa + código é único, e a API recusa o segundo antes de gravar qualquer coisa:
Trate 409 como “já existe”: liste com GET /v1/coupons?code=LANCAMENTO25, reutilize o cupom que voltar, ou escolha outro código. Renomear um cupom existente para um código já usado, com PATCH /v1/coupons/{couponId}, responde o mesmo 409.
Produtos criados pela API já nascem vendáveis. POST /v1/products/{productId}/publish só se aplica a rascunhos do editor novo.

Todas as operações do domínio

Produtos

Listar, criar, consultar, atualizar, excluir, imagem, conteúdo e template de mensagens.

Ofertas

Ofertas avulsas, planos de assinatura e o grupo de ofertas ativo.

Cupons

Cupons da empresa, vínculo com produtos e ofertas, ativação.

Order bumps e upsell

O que sobe o ticket dentro e depois do checkout.