Preços de oferta do Merchant

Gerencie as variantes de preço das ofertas de um merchant — crie preços em diferentes moedas, defina o padrão e exclua ou restaure um de forma reversível.

Um preço de oferta (offer price) é o valor de uma oferta em uma moeda: um valor em unidades menores inteiras (integer minor units) mais sua moeda ISO 4217. Uma oferta pode ter vários preços para que o mesmo plano seja vendido em vários mercados.

Um preço por oferta é o padrão (default) — o usado quando uma cobrança não indica um preço específico. Os preços são excluídos de forma reversível (soft-deleted), então um preço ainda referenciado por uma assinatura ativa pode ser restaurado em vez de perdido.

Esses endpoints alimentam a interface do Tokeflow Dashboard. Eles são autenticados por sessão (JWT bearer) — o token vem do login no Dashboard, não de uma chave de API sk_/pk_. As requisições também carregam o header x-merchant-id identificando o merchant no contexto, e o usuário autenticado precisa ser um membro com acesso a ele.

O objeto offer price

Retornado pelos endpoints de listagem e consulta desta página.

CampoTipoDescrição
idstring—
offer_idstring—
currencystringCódigo de moeda ISO 4217.
amountnumberValor em unidades menores (centavos).
first_charge_amountnumber | nullValor do primeiro ciclo em unidades menores (usado quando offer.setup_charge = true). 0 = validação de cartão.
is_defaultboolean—
created_atstring(ISO 8601 UTC).
updated_atstring(ISO 8601 UTC).

Endpoints

DELETE/api/v1/merchant/offer-prices/:id

Merchant

Auth: Dashboard session (JWT bearer). Merchant membership required.

Exclui um preço de oferta de forma reversível (soft-delete).

Parâmetros de caminho

CampoTipoObrigatórioDescrição
idstringSim—

Exemplo de requisição

curl -X DELETE https://api.tokeflow.com/api/v1/merchant/offer-prices/obj_1a2b3c4d \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9…" \
  -H "x-merchant-id: mrc_8a3f12d9"

Exemplo de resposta — 204 No Content

Um corpo vazio é retornado em caso de sucesso.


GET/api/v1/merchant/offer-prices/:id

Merchant

Auth: Dashboard session (JWT bearer). Merchant membership required.

Obtém um preço de oferta pelo ID.

Parâmetros de caminho

CampoTipoObrigatórioDescrição
idstringSim—

Exemplo de requisição

curl https://api.tokeflow.com/api/v1/merchant/offer-prices/obj_1a2b3c4d \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9…" \
  -H "x-merchant-id: mrc_8a3f12d9"

Exemplo de resposta — 200

{
  "id": "opr_b1c2d3e4f5",
  "offer_id": "ofr_a1b2c3d4e5",
  "currency": "BRL",
  "amount": 9900,
  "first_charge_amount": 0,
  "is_default": true,
  "created_at": "2026-05-19T12:00:00Z",
  "updated_at": "2026-05-19T12:00:00Z"
}

PATCH/api/v1/merchant/offer-prices/:id

Merchant

Auth: Dashboard session (JWT bearer). Merchant membership required.

Atualiza um preço de oferta.

Parâmetros de caminho

CampoTipoObrigatórioDescrição
idstringSim—

Exemplo de requisição

curl -X PATCH https://api.tokeflow.com/api/v1/merchant/offer-prices/obj_1a2b3c4d \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9…" \
  -H "x-merchant-id: mrc_8a3f12d9" \
  -H "Content-Type: application/json" \
  -d '{}'

Exemplo de resposta — 200

{
  "id": "opr_b1c2d3e4f5",
  "offer_id": "ofr_a1b2c3d4e5",
  "currency": "BRL",
  "amount": 9900,
  "first_charge_amount": 0,
  "is_default": true,
  "created_at": "2026-05-19T12:00:00Z",
  "updated_at": "2026-05-19T12:00:00Z"
}

POST/api/v1/merchant/offer-prices/:id/restore

Merchant

Auth: Dashboard session (JWT bearer). Merchant membership required.

Restaura um preço de oferta excluído de forma reversível.

Parâmetros de caminho

CampoTipoObrigatórioDescrição
idstringSim—

Exemplo de requisição

curl -X POST https://api.tokeflow.com/api/v1/merchant/offer-prices/obj_1a2b3c4d/restore \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9…" \
  -H "x-merchant-id: mrc_8a3f12d9"

Exemplo de resposta — 201

{
  "id": "opr_b1c2d3e4f5",
  "offer_id": "ofr_a1b2c3d4e5",
  "currency": "BRL",
  "amount": 9900,
  "first_charge_amount": 0,
  "is_default": true,
  "created_at": "2026-05-19T12:00:00Z",
  "updated_at": "2026-05-19T12:00:00Z"
}

GET/api/v1/merchant/offers/:offerId/prices

Merchant

Auth: Dashboard session (JWT bearer). Merchant membership required.

Lista os preços de uma oferta.

Parâmetros de caminho

CampoTipoObrigatórioDescrição
offerIdstringSim—

Parâmetros de consulta

CampoTipoObrigatórioDescrição
pagenumberNãoNúmero da página (indexado a partir de 1). Padrão 1, mín. 1.
limitnumberNãoNúmero de itens por página. Padrão 20, mín. 1, máx. 100.
currencystringNãoCódigo de moeda ISO 4217
is_defaultbooleanNãoFiltra apenas o preço padrão

Exemplo de requisição

curl -G https://api.tokeflow.com/api/v1/merchant/offers/ofr_5e2b8c14/prices \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9…" \
  -H "x-merchant-id: mrc_8a3f12d9" \
  --data-urlencode "page=1" \
  --data-urlencode "limit=20" \
  --data-urlencode "currency=BRL" \
  --data-urlencode "is_default=True"

Exemplo de resposta — 200

{
  "data": [
    {
      "id": "opr_b1c2d3e4f5",
      "offer_id": "ofr_a1b2c3d4e5",
      "currency": "BRL",
      "amount": 9900,
      "first_charge_amount": 0,
      "is_default": true,
      "created_at": "2026-05-19T12:00:00Z",
      "updated_at": "2026-05-19T12:00:00Z"
    }
  ],
  "meta": {
    "page": 1,
    "limit": 20,
    "total": 42,
    "total_pages": 3,
    "has_next": true,
    "has_prev": false
  }
}

POST/api/v1/merchant/offers/:offerId/prices

Merchant

Auth: Dashboard session (JWT bearer). Merchant membership required.

Adiciona um preço a uma oferta.

Parâmetros de caminho

CampoTipoObrigatórioDescrição
offerIdstringSim—

Campos da requisição

CampoTipoObrigatórioDescrição
currencystringSimCódigo de moeda ISO 4217.
amountnumberSimValor em unidades menores (centavos). Ex: R$99,00 = 9900.
first_charge_amountnumberNãoValor do primeiro ciclo em unidades menores. Usado quando offer.setup_charge = true. 0 = validação de cartão.
is_defaultbooleanNãoMoeda padrão desta oferta.

Exemplo de requisição

curl -X POST https://api.tokeflow.com/api/v1/merchant/offers/ofr_5e2b8c14/prices \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9…" \
  -H "x-merchant-id: mrc_8a3f12d9" \
  -H "Content-Type: application/json" \
  -d '{
    "currency": "BRL",
    "amount": 9900,
    "first_charge_amount": 0,
    "is_default": true
  }'

Exemplo de resposta — 201

{
  "id": "opr_b1c2d3e4f5",
  "offer_id": "ofr_a1b2c3d4e5",
  "currency": "BRL",
  "amount": 9900,
  "first_charge_amount": 0,
  "is_default": true,
  "created_at": "2026-05-19T12:00:00Z",
  "updated_at": "2026-05-19T12:00:00Z"
}

Erros

Os erros usam o envelope padrão. Os casos mais comuns aqui:

HTTPSignificado
400Parâmetros inválidos ou um estado que não permite essa operação.
401Token de sessão do Dashboard ausente, expirado ou inválido.
403Autenticado, mas o usuário autenticado não tem acesso a essa entidade.
404O registro não existe ou não é visível para essa entidade.

Relacionados

Nesta página