Skip to main content
GET
cURL

Escopo

Authorizations

Authorization
string
header
required

Token de autenticação do tipo Bearer {access_token}, onde {access_token} é o token obtido no fluxo de autenticação.

Path Parameters

id
string
required

Id da Oferta

Response

Corpo da resposta status 200

Secure file replacement (context)

When an update replaces an existing uploaded file (e.g. a profile picture), the old file usually remains in storage unless you explicitly delete it. Over time, this leaves orphaned files and increases storage costs.

What this class does

This is an opt-in base serializer that deletes old files from storage after a successful update that replaces (or clears) a Django models.FileField / models.ImageField.

It is configured via Meta.delete_replaced_files_fields:

  • As a list/tuple/set of field names, or
  • As a dict mapping field name → options.

Supported options (per field)

  • delete_on_clear (bool, default True): when the update sets the field to None/empty, delete the previous stored file.

Example usage (simple)

Example usage (per-field options)

id
string
required
read-only

Identificador único da oferta

name
string
required

Nome da oferta, exibido no checkout e em outros locais

Maximum string length: 255
price
number<double>
required

Preço da oferta

default
boolean
required
read-only

Indica se esta é a oferta padrão do produto

product
string
required

Produto ao qual esta oferta pertence

image
string<uri> | null
currency
enum<string>

Moeda da oferta

  • BRL - Real
  • EUR - Euro
  • MXN - Peso Mexicano
  • PEN - Sol Peruano
  • USD - Dólar
  • CLP - Peso Chileno
  • COP - Peso Colombiano
  • ARS - Peso Argentino
  • BOB - Boliviano
  • UYU - Peso Uruguayo
Available options:
BRL,
EUR,
MXN,
PEN,
USD,
CLP,
COP,
ARS,
BOB,
UYU
units
integer

Número de unidades que o cliente irá adquirir ao comprar esta oferta.

Required range: 1 <= x <= 2147483647
status
enum<string>

Status atual da oferta

  • active - Ativo
  • disabled - Desabilitado
  • deleted - Deletado
Available options:
active,
disabled,
deleted
type
enum<string>

Tipo de pagamento da oferta (ex: unique, subscription)

  • unique - Pagamento único
  • subscription - Assinatura recorrente
Available options:
unique,
subscription
intervalType
enum<string>

Tipo de intervalo do acesso concedido pela oferta (ex: month, week, lifetime)

  • week - Semana
  • month - Mês
  • year - Ano
  • lifetime - Vitalício
Available options:
week,
month,
year,
lifetime
interval
integer

Número de intervalos que serão concedidos ao comprar esta oferta. Ex: interval=2 e intervalType=month concede 2 meses de acesso.

Required range: -2147483648 <= x <= 2147483647
recurrence_period
integer

Número de dias entre cada cobrança da assinatura

Required range: -2147483648 <= x <= 2147483647
quantity_recurrences
integer

Número de cobranças que serão feitas na assinatura. Use -1 para cobranças ilimitadas.

Required range: -2147483648 <= x <= 2147483647
trial_days
integer

Número de dias de teste grátis antes da primeira cobrança

Required range: -2147483648 <= x <= 2147483647
max_retries
integer

Número máximo de retentativas de cobrança em caso de falha no pagamento

Required range: -2147483648 <= x <= 2147483647
retry_interval
integer

Número de dias entre cada retentativa de cobrança

Required range: -2147483648 <= x <= 2147483647