Skip to main content
GET
/
public_api
/
offers
cURL
curl --request GET \
  --url https://api.cakto.com.br/public_api/offers/ \
  --header 'Authorization: Bearer <token>'
{
  "count": 123,
  "next": "http://api.example.org/accounts/?page=4",
  "previous": "http://api.example.org/accounts/?page=2",
  "results": [
    {
      "id": "5Hrb526",
      "name": "Nome da Oferta",
      "image": "https://example.com/image.png",
      "price": 5,
      "units": 1,
      "default": true,
      "product": "fb3fda61-e88f-43b5-982a-32d50f112414",
      "status": "active",
      "type": "unique",
      "intervalType": "week",
      "interval": 1,
      "recurrence_period": 30,
      "quantity_recurrences": -1,
      "trial_days": 0,
      "max_retries": 3,
      "retry_interval": 1
    }
  ]
}

Escopo

    read offers

Filtros Disponíveis

Filtros podem ser combinados para refinar ainda mais os resultados.Exemplo: ?product=123&status=active,disabled - Filtra ofertas ativas ou desabilitadas de um produto específico.
  • id - Id da oferta (múltiplos valores separados por vírgula)
  • name - Nome da oferta (busca parcial, case-insensitive)
Exemplo: ?id=OFF123,OFF456&name=meu-produto - Filtra ofertas com Id OFF123 ou OFF456 e nome contendo “meu-produto”
  • price - Valor da oferta
Suporte a operadores de comparação (__gt, __gte, __lt, __lte)
Exemplo: ?price__gte=5000 - Filtra ofertas com valor maior ou igual a R$ 50,00
  • createdAt - Data de criação
  • updatedAt - Data de última atualização
Suporte a operadores de comparação (__gt, __gte, __lt, __lte)
Formato de data: YYYY-MM-DD ou ISO 8601 YYYY-MM-DDTHH:MM:SS±hh:mm
Exemplo: ?createdAt__gte=2024-01-01&createdAt__lt=2024-02-01T23:59:59Z - Filtra produtos criados em janeiro de 2024
  • status - Status da oferta (active, disabled)
Suporte a múltiplos valores separados por vírgula.
Exemplo: ?status=active&type=subscription - Filtra ofertas ativas de assinatura
  • type - Tipo da oferta (unique, subscription)
Suporte a múltiplos valores separados por vírgula.
Exemplo: ?type=subscription - Filtra ofertas de assinatura
Esses filtros são aplicáveis apenas para ofertas do tipo unique.
  • intervalType - Tipo de intervalo da oferta (day, week, month, year) (múltiplos valores suportados)
  • interval - Quantidade de intervalos (número inteiro)
Exemplo: ?intervalType=month&interval=6 - Filtra ofertas com intervalo de 6 meses
Esses filtros são aplicáveis apenas para ofertas do tipo subscription.
  • recurrence_period - Período de recorrência em dias (número inteiro)
  • quantity_recurrences - Quantidade de recorrências (número inteiro)
  • trial_days - Quantidade de dias de período de teste (número inteiro)
  • max_retries - Quantidade máxima de tentativas de cobrança (número inteiro)
  • retry_interval - Quantidade de dias entre tentativas de cobrança (número inteiro)
Exemplo: ?recurrence_period=30&quantity_recurrences=12 - Filtra ofertas com renovação mensal e duração de 1 ano
  • product - Id do produto ao qual a oferta pertence
Suporte a múltiplos valores separados por vírgula.
Exemplo: ?product=AB123,BC456 - Filtra ofertas dos produtos com Id AB123 e BC456
  • default - Se é a oferta padrão do produto (true/false)
Exemplo: ?default=true - Filtra apenas ofertas padrão dos produtos

Busca

O endpoint suporta busca textual pelo parâmetro search nos seguintes campos:
  • name - Nome da oferta
  • id - Id da oferta
  • product.name - Nome do produto associado à oferta
  • product.short_id - Id curto do produto associado à oferta
  • product.id - Id completo do produto associado à oferta
Exemplo: ?search=meu-produto - Busca pelo texto “meu-produto” nos campos de busca. Qualquer oferta onde um dos campos contenha o texto será retornada, (“meu-produto 2.0” e “Oferta B meu-produto” seriam retornadas).

Ordenação

Você pode ordenar os resultados usando o parâmetro ordering: Campos suportados: id, name, price, product, status, default, createdAt, updatedAt
Use o prefixo - para ordenação decrescente.
Exemplo: ?ordering=-createdAt - Ordena por data de criação (mais recentes primeiro)

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.

Query Parameters

limit
integer

Número de resultados a serem retornados por página.

page
integer

Número da página a ser retornada.

Response

Corpo da resposta status 200

count
integer
Example:

123

next
string<uri> | null
Example:

"http://api.example.org/accounts/?page=4"

previous
string<uri> | null
Example:

"http://api.example.org/accounts/?page=2"

results
object[]