Offers
Catálogo: ofertas (preço de um produto).
- get
/v1/offers— Listar ofertas - post
/v1/offers— Criar oferta - get
/v1/offers/{id}— Consultar oferta - patch
/v1/offers/{id}— Mudar os métodos aceitos da oferta - get
/v1/offers/{id}/bumps— Listar order bumps da oferta - post
/v1/offers/{id}/bumps— Criar order bump - patch
/v1/offers/{id}/bumps/{bumpId}— Alterar order bump - patch
/v1/offers/{id}/status— Mudar status da oferta
/v1/offersListar ofertas (listOffers)
Sem parâmetros de consulta a resposta é a lista completa legada ({data}); com qualquer parâmetro ela é paginada por cursor ({data, next_cursor}). Parâmetro desconhecido → 400 VALIDATION_FAILED.
- Autenticação: API key (
sk_test_...) ou sessão do app do seller - Escopos:
offers:read - URL:
https://api.v2.wolfpayteste.online/v1/offers
Parâmetros
| Nome | Onde | Tipo | Detalhes |
|---|---|---|---|
q | consulta | string | 1 a 120 caracteres |
status | consulta | string | Valores: |
limit | consulta | integer | de 1 a 100 Padrão: |
cursor | consulta | string | Padrão até 2048 caracteres |
product_id | consulta | string | Padrão até 128 caracteres |
wolf-organization-id | cabeçalho | string | Só para sessão do app do seller com mais de uma organização (senão Padrão |
Resposta 200
Ofertas.
Um destes formatos:
{
"data": [
{
"id": "off_1b2c3d4e5f60718293a4b5c6d7e8f901",
"product_id": "prd_7e6d5c4b3a2918f7e6d5c4b3a2918f7e",
"amount_minor": "9900",
"currency": "BRL",
"status": "active",
"created_at": "2026-11-06T12:00:00.000Z",
"accepted_methods": [
"pix",
"card"
]
}
],
"next_cursor": null
}Erros
- 400 —
VALIDATION_FAILED - 401 —
AUTHENTICATION_REQUIRED - 403 —
FORBIDDEN - 409 —
TENANT_SELECTION_REQUIRED - 429 —
RATE_LIMITED - 500 —
INTERNAL_ERROR
/v1/offersCriar oferta (createOffer)
Cria uma oferta em draft para um produto do seller; ela aceita Pix e cartão de teste até PATCH /v1/offers/{id} mudar accepted_methods. Repetir a requisição com a mesma Idempotency-Key e o mesmo corpo devolve a mesma resposta com idempotent-replayed: true; corpo diferente → 409 IDEMPOTENCY_CONFLICT.
- Autenticação: API key (
sk_test_...) ou sessão do app do seller - Escopos:
offers:read,offers:write - URL:
https://api.v2.wolfpayteste.online/v1/offers
Parâmetros
| Nome | Onde | Tipo | Detalhes |
|---|---|---|---|
Idempotency-Keyobrigatório | cabeçalho | string | Chave escolhida pelo cliente (8 a 255 caracteres). Mesma chave + mesmo corpo = mesma resposta; corpo diferente = 8 a 255 caracteres |
wolf-organization-id | cabeçalho | string | Só para sessão do app do seller com mais de uma organização (senão Padrão |
Corpo da requisição
Objeto CreateOfferRequest
| Campo | Tipo | Detalhes |
|---|---|---|
product_id obrigatório | string | Começa com |
amount_minor obrigatório | string | Padrão |
currency | string | Padrão Padrão: |
{
"product_id": "prd_7e6d5c4b3a2918f7e6d5c4b3a2918f7e",
"amount_minor": "9900",
"currency": "BRL"
}Resposta 201
Oferta criada.
Objeto Offer
| Campo | Tipo | Detalhes |
|---|---|---|
id obrigatório | string | Começa com |
product_id obrigatório | string | Começa com |
amount_minor obrigatório | string | |
currency obrigatório | string | Padrão |
status obrigatório | string | Valores: |
created_at obrigatório | string | |
accepted_methods obrigatório | string[] | Valores: 1 a 2 itens |
{
"id": "off_1b2c3d4e5f60718293a4b5c6d7e8f901",
"product_id": "prd_7e6d5c4b3a2918f7e6d5c4b3a2918f7e",
"amount_minor": "9900",
"currency": "BRL",
"status": "draft",
"created_at": "2026-11-06T12:00:00.000Z",
"accepted_methods": [
"pix",
"card"
]
}Erros
/v1/offers/{id}Consultar oferta (getOffer)
- Autenticação: API key (
sk_test_...) ou sessão do app do seller - Escopos:
offers:read - URL:
https://api.v2.wolfpayteste.online/v1/offers/{id}
Parâmetros
| Nome | Onde | Tipo | Detalhes |
|---|---|---|---|
idobrigatório | caminho | string | Id da oferta ( mínimo 1 caractere(s) |
wolf-organization-id | cabeçalho | string | Só para sessão do app do seller com mais de uma organização (senão Padrão |
Resposta 200
Oferta.
Objeto Offer
| Campo | Tipo | Detalhes |
|---|---|---|
id obrigatório | string | Começa com |
product_id obrigatório | string | Começa com |
amount_minor obrigatório | string | |
currency obrigatório | string | Padrão |
status obrigatório | string | Valores: |
created_at obrigatório | string | |
accepted_methods obrigatório | string[] | Valores: 1 a 2 itens |
{
"id": "off_1b2c3d4e5f60718293a4b5c6d7e8f901",
"product_id": "prd_7e6d5c4b3a2918f7e6d5c4b3a2918f7e",
"amount_minor": "9900",
"currency": "BRL",
"status": "active",
"created_at": "2026-11-06T12:00:00.000Z",
"accepted_methods": [
"pix",
"card"
]
}Erros
- 401 —
AUTHENTICATION_REQUIRED - 403 —
FORBIDDEN - 404 —
RESOURCE_NOT_FOUND - 409 —
TENANT_SELECTION_REQUIRED - 429 —
RATE_LIMITED - 500 —
INTERNAL_ERROR
/v1/offers/{id}Mudar os métodos aceitos da oferta (updateOffer)
accepted_methods define os métodos que o checkout da oferta oferece: pix, card (cartão de teste) ou ambos (padrão). O checkout mostra só esses métodos e pagar com outro → 409 PAYMENT_METHOD_NOT_ACCEPTED. Repetir a lista atual não muda nada; toda mudança é auditada.
- Autenticação: API key (
sk_test_...) ou sessão do app do seller - Escopos:
offers:read,offers:write - URL:
https://api.v2.wolfpayteste.online/v1/offers/{id}
Parâmetros
| Nome | Onde | Tipo | Detalhes |
|---|---|---|---|
idobrigatório | caminho | string | Id da oferta ( mínimo 1 caractere(s) |
wolf-organization-id | cabeçalho | string | Só para sessão do app do seller com mais de uma organização (senão Padrão |
Corpo da requisição
Objeto UpdateOfferRequest
| Campo | Tipo | Detalhes |
|---|---|---|
accepted_methods obrigatório | string[] | Valores: 1 a 2 itens |
{
"accepted_methods": [
"pix"
]
}Resposta 200
Oferta atualizada.
Objeto Offer
| Campo | Tipo | Detalhes |
|---|---|---|
id obrigatório | string | Começa com |
product_id obrigatório | string | Começa com |
amount_minor obrigatório | string | |
currency obrigatório | string | Padrão |
status obrigatório | string | Valores: |
created_at obrigatório | string | |
accepted_methods obrigatório | string[] | Valores: 1 a 2 itens |
{
"id": "off_1b2c3d4e5f60718293a4b5c6d7e8f901",
"product_id": "prd_7e6d5c4b3a2918f7e6d5c4b3a2918f7e",
"amount_minor": "9900",
"currency": "BRL",
"status": "active",
"created_at": "2026-11-06T12:00:00.000Z",
"accepted_methods": [
"pix"
]
}Erros
- 400 —
VALIDATION_FAILED - 401 —
AUTHENTICATION_REQUIRED - 403 —
FORBIDDEN - 404 —
RESOURCE_NOT_FOUND - 409 —
TENANT_SELECTION_REQUIRED - 429 —
RATE_LIMITED - 500 —
INTERNAL_ERROR
/v1/offers/{id}/bumpsListar order bumps da oferta (listOfferBumps)
Order bumps da oferta principal, na ordem de position, com o preço atual da oferta de cada bump.
- Autenticação: API key (
sk_test_...) ou sessão do app do seller - Escopos:
offers:read - URL:
https://api.v2.wolfpayteste.online/v1/offers/{id}/bumps
Parâmetros
| Nome | Onde | Tipo | Detalhes |
|---|---|---|---|
idobrigatório | caminho | string | Id da oferta principal ( mínimo 1 caractere(s) |
wolf-organization-id | cabeçalho | string | Só para sessão do app do seller com mais de uma organização (senão Padrão |
Resposta 200
Order bumps.
Objeto OfferBumpList
| Campo | Tipo | Detalhes |
|---|---|---|
data obrigatório | OfferBump[] |
{
"data": [
{
"id": "ob_7d8e9f0a1b2c3d4e5f6a7b8c9d0e1f2a",
"offer_id": "off_1b2c3d4e5f60718293a4b5c6d7e8f901",
"bump_offer_id": "off_5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d",
"headline": "Adicionar à compra: Guia bônus",
"description": "Checklist em PDF com 40 poses para ensaios.",
"position": 0,
"status": "active",
"bump_offer": {
"product_id": "prd_3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f",
"amount_minor": "2700",
"currency": "BRL",
"status": "active"
},
"created_at": "2026-11-06T12:00:00.000Z",
"updated_at": "2026-11-06T12:00:00.000Z"
}
]
}Erros
- 401 —
AUTHENTICATION_REQUIRED - 403 —
FORBIDDEN - 404 —
RESOURCE_NOT_FOUND - 409 —
TENANT_SELECTION_REQUIRED - 429 —
RATE_LIMITED - 500 —
INTERNAL_ERROR
/v1/offers/{id}/bumpsCriar order bump (createOfferBump)
Oferece outra oferta do seller (bump_offer_id) como adicional no checkout desta oferta. Regras: mesma moeda; um bump active (padrão) exige a oferta do bump active; no máximo 3 bumps ativos por oferta e sem bump dentro de bump (409 INVALID_STATE_TRANSITION); a mesma oferta não entra duas vezes como bump (400). Auditado (offer_bump.created). Repetir a requisição com a mesma Idempotency-Key e o mesmo corpo devolve a mesma resposta com idempotent-replayed: true; corpo diferente → 409 IDEMPOTENCY_CONFLICT.
- Autenticação: API key (
sk_test_...) ou sessão do app do seller - Escopos:
offers:read,offers:write - URL:
https://api.v2.wolfpayteste.online/v1/offers/{id}/bumps
Parâmetros
| Nome | Onde | Tipo | Detalhes |
|---|---|---|---|
idobrigatório | caminho | string | Id da oferta principal ( mínimo 1 caractere(s) |
Idempotency-Keyobrigatório | cabeçalho | string | Chave escolhida pelo cliente (8 a 255 caracteres). Mesma chave + mesmo corpo = mesma resposta; corpo diferente = 8 a 255 caracteres |
wolf-organization-id | cabeçalho | string | Só para sessão do app do seller com mais de uma organização (senão Padrão |
Corpo da requisição
Objeto CreateOfferBumpRequest
| Campo | Tipo | Detalhes |
|---|---|---|
bump_offer_id obrigatório | string | Padrão até 128 caracteres |
headline obrigatório | string | 1 a 80 caracteres |
description | string | até 280 caracteres |
position | integer | de 0 a 99 |
status | string | Valores: |
{
"bump_offer_id": "off_5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d",
"headline": "Adicionar à compra: Guia bônus",
"description": "Checklist em PDF com 40 poses para ensaios.",
"position": 0
}Resposta 201
Order bump criado.
Objeto OfferBump
| Campo | Tipo | Detalhes |
|---|---|---|
id obrigatório | string | Padrão |
offer_id obrigatório | string | Começa com |
bump_offer_id obrigatório | string | Começa com |
headline obrigatório | string | |
description obrigatório | string | |
position obrigatório | integer | de 0 a 9007199254740991 |
status obrigatório | string | Valores: |
bump_offer obrigatório | object | |
bump_offer.product_id obrigatório | string | Começa com |
bump_offer.amount_minor obrigatório | string | |
bump_offer.currency obrigatório | string | Padrão |
bump_offer.status obrigatório | string | Valores: |
created_at obrigatório | string | |
updated_at obrigatório | string |
{
"id": "ob_7d8e9f0a1b2c3d4e5f6a7b8c9d0e1f2a",
"offer_id": "off_1b2c3d4e5f60718293a4b5c6d7e8f901",
"bump_offer_id": "off_5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d",
"headline": "Adicionar à compra: Guia bônus",
"description": "Checklist em PDF com 40 poses para ensaios.",
"position": 0,
"status": "active",
"bump_offer": {
"product_id": "prd_3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f",
"amount_minor": "2700",
"currency": "BRL",
"status": "active"
},
"created_at": "2026-11-06T12:00:00.000Z",
"updated_at": "2026-11-06T12:00:00.000Z"
}Erros
/v1/offers/{id}/bumps/{bumpId}Alterar order bump (updateOfferBump)
Muda headline, description, position e/ou status (active ↔ inactive; bumps nunca são apagados). Ativar respeita as mesmas regras da criação. Repetir os valores atuais não muda nada. Auditado (offer_bump.updated).
- Autenticação: API key (
sk_test_...) ou sessão do app do seller - Escopos:
offers:read,offers:write - URL:
https://api.v2.wolfpayteste.online/v1/offers/{id}/bumps/{bumpId}
Parâmetros
| Nome | Onde | Tipo | Detalhes |
|---|---|---|---|
idobrigatório | caminho | string | Id da oferta principal ( mínimo 1 caractere(s) |
bumpIdobrigatório | caminho | string | Id do order bump ( mínimo 1 caractere(s) |
wolf-organization-id | cabeçalho | string | Só para sessão do app do seller com mais de uma organização (senão Padrão |
Corpo da requisição
Objeto UpdateOfferBumpRequest
| Campo | Tipo | Detalhes |
|---|---|---|
headline | string | 1 a 80 caracteres |
description | string | até 280 caracteres |
position | integer | de 0 a 99 |
status | string | Valores: |
{
"status": "inactive"
}Resposta 200
Order bump atualizado.
Objeto OfferBump
| Campo | Tipo | Detalhes |
|---|---|---|
id obrigatório | string | Padrão |
offer_id obrigatório | string | Começa com |
bump_offer_id obrigatório | string | Começa com |
headline obrigatório | string | |
description obrigatório | string | |
position obrigatório | integer | de 0 a 9007199254740991 |
status obrigatório | string | Valores: |
bump_offer obrigatório | object | |
bump_offer.product_id obrigatório | string | Começa com |
bump_offer.amount_minor obrigatório | string | |
bump_offer.currency obrigatório | string | Padrão |
bump_offer.status obrigatório | string | Valores: |
created_at obrigatório | string | |
updated_at obrigatório | string |
{
"id": "ob_7d8e9f0a1b2c3d4e5f6a7b8c9d0e1f2a",
"offer_id": "off_1b2c3d4e5f60718293a4b5c6d7e8f901",
"bump_offer_id": "off_5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d",
"headline": "Adicionar à compra: Guia bônus",
"description": "Checklist em PDF com 40 poses para ensaios.",
"position": 0,
"status": "inactive",
"bump_offer": {
"product_id": "prd_3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f",
"amount_minor": "2700",
"currency": "BRL",
"status": "active"
},
"created_at": "2026-11-06T12:00:00.000Z",
"updated_at": "2026-11-06T12:00:00.000Z"
}Erros
- 400 —
VALIDATION_FAILED - 401 —
AUTHENTICATION_REQUIRED - 403 —
FORBIDDEN - 404 —
RESOURCE_NOT_FOUND - 409 —
INVALID_STATE_TRANSITION,TENANT_SELECTION_REQUIRED - 429 —
RATE_LIMITED - 500 —
INTERNAL_ERROR
/v1/offers/{id}/statusMudar status da oferta (setOfferStatus)
Ativar uma oferta exige o produto active (409 PRODUCT_NOT_ACTIVE).
- Autenticação: API key (
sk_test_...) ou sessão do app do seller - Escopos:
offers:read,offers:write - URL:
https://api.v2.wolfpayteste.online/v1/offers/{id}/status
Parâmetros
| Nome | Onde | Tipo | Detalhes |
|---|---|---|---|
idobrigatório | caminho | string | Id da oferta ( mínimo 1 caractere(s) |
wolf-organization-id | cabeçalho | string | Só para sessão do app do seller com mais de uma organização (senão Padrão |
Corpo da requisição
Objeto CatalogStatusRequest
| Campo | Tipo | Detalhes |
|---|---|---|
status obrigatório | string | Valores: |
{
"status": "active"
}Resposta 200
Oferta atualizada.
Objeto Offer
| Campo | Tipo | Detalhes |
|---|---|---|
id obrigatório | string | Começa com |
product_id obrigatório | string | Começa com |
amount_minor obrigatório | string | |
currency obrigatório | string | Padrão |
status obrigatório | string | Valores: |
created_at obrigatório | string | |
accepted_methods obrigatório | string[] | Valores: 1 a 2 itens |
{
"id": "off_1b2c3d4e5f60718293a4b5c6d7e8f901",
"product_id": "prd_7e6d5c4b3a2918f7e6d5c4b3a2918f7e",
"amount_minor": "9900",
"currency": "BRL",
"status": "active",
"created_at": "2026-11-06T12:00:00.000Z",
"accepted_methods": [
"pix",
"card"
]
}Erros
- 400 —
VALIDATION_FAILED - 401 —
AUTHENTICATION_REQUIRED - 403 —
FORBIDDEN - 404 —
RESOURCE_NOT_FOUND - 409 —
INVALID_STATE_TRANSITION,PRODUCT_NOT_ACTIVE,TENANT_SELECTION_REQUIRED - 429 —
RATE_LIMITED - 500 —
INTERNAL_ERROR