Skip to main content
POST
Criar um produto
Cria um produto no seu catálogo para usar em checkouts, assinaturas e links de pagamento.

Obrigatórios

externalId (único no seu sistema), name, price (em centavos) e currency (sempre "BRL").
Produto digital com arquivo para download (passe fileUrl com a URL pública de um PDF):
fileUrl deve apontar para um PDF público acessível. Tamanho máximo: 20 MB. O arquivo é armazenado pela AbacatePay e o comprador recebe acesso após o pagamento. O campo hasFile: true na resposta confirma o vínculo.
Produto avulso (pagamento único — omita cycle):
Produto de assinatura (defina cycle):
Produto de assinatura com período de teste gratuito (defina trialDays):
Valores de cycle: WEEKLY · MONTHLY · QUARTERLY · SEMIANNUALLY · ANNUALLY
trialDays exige cycle. Valor inteiro entre 1 e 90. O cliente não é cobrado durante o período de teste — a primeira cobrança ocorre ao final do trial.
Guarde o data.id retornado — é ele que você passa como items[].id ao criar checkouts e assinaturas.

Authorizations

Authorization
string
header
required

Todas as requisições devem incluir sua chave de API no header Authorization usando o formato Bearer <abacatepay-api-key>. Sem esse header a requisição será rejeitada.

Saiba mais sobre como criar e usar chaves de API na documentação de autenticação.

Body

application/json

Dados necessários para criar um produto.

externalId
string
required

Identificador único do produto no seu sistema.

Example:

"prod-123"

name
string
required

Nome do produto.

Example:

"Produto Exemplo"

price
number
required

Preço do produto em centavos.

Required range: x >= 1
Example:

10000

currency
string
default:BRL
required

Moeda do produto.

Example:

"BRL"

description
string

Descrição opcional do produto.

Example:

"Descrição do produto"

imageUrl
string<uri> | null

URL da imagem do produto. Opcional.

Example:

null

fileUrl
string<uri>

URL pública de um PDF a ser vinculado ao produto. Opcional. O arquivo é baixado e armazenado pela AbacatePay — máximo 20 MB. Após o pagamento, o comprador recebe acesso ao download do arquivo.

Example:

"https://exemplo.com/meu-ebook.pdf"

cycle
enum<string> | null

Opcional. Indica se o produto é uma assinatura. Quando omitido ou null, o produto é avulso (pagamento único). Valores possíveis: WEEKLY, MONTHLY, QUARTERLY, SEMIANNUALLY, ANNUALLY.

Available options:
WEEKLY,
MONTHLY,
QUARTERLY,
SEMIANNUALLY,
ANNUALLY
Example:

null

Response

Produto criado com sucesso.

data
object

Os dados do seu produto. O campo cycle indica se o produto é uma assinatura (subscription). Quando null, o produto é avulso (pagamento único). Valores possíveis definem a recorrência da assinatura. A moeda (currency) é sempre BRL.

error
string | null
Example:

null

success
boolean

Se a requisição obteve sucesso ou não.

Example:

true