Products
Catálogo: produtos.
- get
/v1/products— Listar produtos - post
/v1/products— Criar produto - get
/v1/products/{id}— Consultar produto - patch
/v1/products/{id}— Atualizar a ficha do produto - get
/v1/products/{id}/access-links— Listar links de acesso - post
/v1/products/{id}/access-links— Adicionar link de acesso - delete
/v1/products/{id}/access-links/{linkId}— Remover link de acesso - patch
/v1/products/{id}/status— Mudar status do produto
/v1/productsListar produtos (listProducts)
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:
products:read - URL:
https://api.v2.wolfpayteste.online/v1/products
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 |
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
Produtos. A página traz também offers_count, links_count (links ativos), bumps_count e revenue_30d_minor (bruto em BRL dos últimos 30 dias locais).
Um destes formatos:
- SellerProductPage
- object
Campo Tipo Detalhes dataobrigatórioProduct[]
{
"data": [
{
"id": "prd_7e6d5c4b3a2918f7e6d5c4b3a2918f7e",
"name": "Curso de fotografia",
"status": "active",
"created_at": "2026-11-06T12:00:00.000Z",
"description": "Do básico à edição: 40 aulas gravadas e exercícios práticos.",
"category": "design_fotografia",
"sales_page_url": "https://example.com/curso-de-fotografia",
"guarantee_days": 7,
"support_name": "Equipe Estúdio Exemplo",
"support_email": "suporte@example.com",
"support_whatsapp": "+5511912345678",
"statement_descriptor": "EXEMPLO FOTO",
"offer_count": 1,
"active_offer_count": 1,
"offers_count": 1,
"links_count": 1,
"bumps_count": 0,
"revenue_30d_minor": "29700"
}
],
"next_cursor": null
}Erros
- 400 —
VALIDATION_FAILED - 401 —
AUTHENTICATION_REQUIRED - 403 —
FORBIDDEN - 409 —
TENANT_SELECTION_REQUIRED - 429 —
RATE_LIMITED - 500 —
INTERNAL_ERROR
/v1/productsCriar produto (createProduct)
Cria um produto em draft. 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:
products:read,products:write - URL:
https://api.v2.wolfpayteste.online/v1/products
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 CreateProductRequest
| Campo | Tipo | Detalhes |
|---|---|---|
name obrigatório | string | 2 a 160 caracteres |
{
"name": "Curso de fotografia"
}Resposta 201
Produto criado.
Objeto Product
| Campo | Tipo | Detalhes |
|---|---|---|
id obrigatório | string | Começa com |
name obrigatório | string | |
status obrigatório | string | Valores: |
created_at obrigatório | string | |
description obrigatório | string | null | |
category obrigatório | string | null | |
sales_page_url obrigatório | string | null | |
guarantee_days obrigatório | integer | de 0 a 30 |
support_name obrigatório | string | null | |
support_email obrigatório | string | null | |
support_whatsapp obrigatório | string | null | |
statement_descriptor obrigatório | string | null |
{
"id": "prd_7e6d5c4b3a2918f7e6d5c4b3a2918f7e",
"name": "Curso de fotografia",
"status": "draft",
"created_at": "2026-11-06T12:00:00.000Z",
"description": "Do básico à edição: 40 aulas gravadas e exercícios práticos.",
"category": "design_fotografia",
"sales_page_url": "https://example.com/curso-de-fotografia",
"guarantee_days": 7,
"support_name": "Equipe Estúdio Exemplo",
"support_email": "suporte@example.com",
"support_whatsapp": "+5511912345678",
"statement_descriptor": "EXEMPLO FOTO"
}Erros
/v1/products/{id}Consultar produto (getProduct)
- Autenticação: API key (
sk_test_...) ou sessão do app do seller - Escopos:
products:read - URL:
https://api.v2.wolfpayteste.online/v1/products/{id}
Parâmetros
| Nome | Onde | Tipo | Detalhes |
|---|---|---|---|
idobrigatório | caminho | string | Id do produto ( 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
Produto.
Objeto Product
| Campo | Tipo | Detalhes |
|---|---|---|
id obrigatório | string | Começa com |
name obrigatório | string | |
status obrigatório | string | Valores: |
created_at obrigatório | string | |
description obrigatório | string | null | |
category obrigatório | string | null | |
sales_page_url obrigatório | string | null | |
guarantee_days obrigatório | integer | de 0 a 30 |
support_name obrigatório | string | null | |
support_email obrigatório | string | null | |
support_whatsapp obrigatório | string | null | |
statement_descriptor obrigatório | string | null |
{
"id": "prd_7e6d5c4b3a2918f7e6d5c4b3a2918f7e",
"name": "Curso de fotografia",
"status": "active",
"created_at": "2026-11-06T12:00:00.000Z",
"description": "Do básico à edição: 40 aulas gravadas e exercícios práticos.",
"category": "design_fotografia",
"sales_page_url": "https://example.com/curso-de-fotografia",
"guarantee_days": 7,
"support_name": "Equipe Estúdio Exemplo",
"support_email": "suporte@example.com",
"support_whatsapp": "+5511912345678",
"statement_descriptor": "EXEMPLO FOTO"
}Erros
- 401 —
AUTHENTICATION_REQUIRED - 403 —
FORBIDDEN - 404 —
RESOURCE_NOT_FOUND - 409 —
TENANT_SELECTION_REQUIRED - 429 —
RATE_LIMITED - 500 —
INTERNAL_ERROR
/v1/products/{id}Atualizar a ficha do produto (updateProduct)
Atualiza a ficha: description (texto simples, até 2.000 caracteres, sem HTML), category (lista fechada), sales_page_url (https), guarantee_days (garantia do produtor, 0 a 30 dias; não é garantia de pagamento), support_name, support_email, support_whatsapp (E.164, ex.: +5511912345678) e statement_descriptor (até 13 letras, números ou espaços; guardado, sem efeito no simulador). Envie só os campos a mudar; null limpa o campo. O checkout hospedado mostra descrição, suporte e garantia do produtor. Toda mudança é auditada.
- Autenticação: API key (
sk_test_...) ou sessão do app do seller - Escopos:
products:read,products:write - URL:
https://api.v2.wolfpayteste.online/v1/products/{id}
Parâmetros
| Nome | Onde | Tipo | Detalhes |
|---|---|---|---|
idobrigatório | caminho | string | Id do produto ( 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 UpdateProductRequest
| Campo | Tipo | Detalhes |
|---|---|---|
description | string | null | |
category | string | null | |
sales_page_url | string | null | |
guarantee_days | integer | de 0 a 30 |
support_name | string | null | |
support_email | string (e-mail) | null | |
support_whatsapp | string | null | |
statement_descriptor | string | null |
{
"description": "Do básico à edição: 40 aulas gravadas e exercícios práticos.",
"category": "design_fotografia",
"guarantee_days": 7,
"support_email": "suporte@example.com",
"support_whatsapp": "+5511912345678",
"statement_descriptor": "EXEMPLO FOTO"
}Resposta 200
Produto com a ficha atualizada.
Objeto Product
| Campo | Tipo | Detalhes |
|---|---|---|
id obrigatório | string | Começa com |
name obrigatório | string | |
status obrigatório | string | Valores: |
created_at obrigatório | string | |
description obrigatório | string | null | |
category obrigatório | string | null | |
sales_page_url obrigatório | string | null | |
guarantee_days obrigatório | integer | de 0 a 30 |
support_name obrigatório | string | null | |
support_email obrigatório | string | null | |
support_whatsapp obrigatório | string | null | |
statement_descriptor obrigatório | string | null |
{
"id": "prd_7e6d5c4b3a2918f7e6d5c4b3a2918f7e",
"name": "Curso de fotografia",
"status": "active",
"created_at": "2026-11-06T12:00:00.000Z",
"description": "Do básico à edição: 40 aulas gravadas e exercícios práticos.",
"category": "design_fotografia",
"sales_page_url": "https://example.com/curso-de-fotografia",
"guarantee_days": 7,
"support_name": "Equipe Estúdio Exemplo",
"support_email": "suporte@example.com",
"support_whatsapp": "+5511912345678",
"statement_descriptor": "EXEMPLO FOTO"
}Erros
- 400 —
VALIDATION_FAILED - 401 —
AUTHENTICATION_REQUIRED - 403 —
FORBIDDEN - 404 —
RESOURCE_NOT_FOUND - 409 —
TENANT_SELECTION_REQUIRED - 429 —
RATE_LIMITED - 500 —
INTERNAL_ERROR
/v1/products/{id}/access-linksListar links de acesso (listProductAccessLinks)
Links de entrega do produto (no máximo 5), na ordem do recibo. O comprador só os vê no recibo depois do pagamento aprovado.
- Autenticação: API key (
sk_test_...) ou sessão do app do seller - Escopos:
products:read - URL:
https://api.v2.wolfpayteste.online/v1/products/{id}/access-links
Parâmetros
| Nome | Onde | Tipo | Detalhes |
|---|---|---|---|
idobrigatório | caminho | string | Id do produto ( 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
Links de acesso.
Objeto ProductAccessLinkList
| Campo | Tipo | Detalhes |
|---|---|---|
data obrigatório | ProductAccessLink[] | 0 a 5 itens |
{
"data": [
{
"id": "pal_4a5b6c7d8e9f0a1b2c3d4e5f6a7b8c9d",
"product_id": "prd_7e6d5c4b3a2918f7e6d5c4b3a2918f7e",
"label": "Área de membros",
"url": "https://membros.example.com/curso-de-fotografia",
"host": "membros.example.com",
"position": 0,
"created_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/products/{id}/access-linksAdicionar link de acesso (createProductAccessLink)
Adiciona um link https (rótulo de até 80 caracteres) ao fim da lista; no máximo 5 por produto (409 PRODUCT_ACCESS_LINK_LIMIT_REACHED). O link aparece no recibo do checkout só depois do pagamento aprovado, com o domínio visível e sem redirecionamento automático. 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:
products:read,products:write - URL:
https://api.v2.wolfpayteste.online/v1/products/{id}/access-links
Parâmetros
| Nome | Onde | Tipo | Detalhes |
|---|---|---|---|
idobrigatório | caminho | string | Id do produto ( 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 CreateProductAccessLinkRequest
| Campo | Tipo | Detalhes |
|---|---|---|
label obrigatório | string | 1 a 80 caracteres |
url obrigatório | string | 9 a 2048 caracteres |
{
"label": "Área de membros",
"url": "https://membros.example.com/curso-de-fotografia"
}Resposta 201
Link criado.
Objeto ProductAccessLink
| Campo | Tipo | Detalhes |
|---|---|---|
id obrigatório | string | Padrão |
product_id obrigatório | string | Começa com |
label obrigatório | string | |
url obrigatório | string | |
host obrigatório | string | |
position obrigatório | integer | de 0 a 9007199254740991 |
created_at obrigatório | string |
{
"id": "pal_4a5b6c7d8e9f0a1b2c3d4e5f6a7b8c9d",
"product_id": "prd_7e6d5c4b3a2918f7e6d5c4b3a2918f7e",
"label": "Área de membros",
"url": "https://membros.example.com/curso-de-fotografia",
"host": "membros.example.com",
"position": 0,
"created_at": "2026-11-06T12:00:00.000Z"
}Erros
/v1/products/{id}/access-links/{linkId}Remover link de acesso (deleteProductAccessLink)
Remove o link da entrega (auditado); depois disso ele responde 404.
- Autenticação: API key (
sk_test_...) ou sessão do app do seller - Escopos:
products:read,products:write - URL:
https://api.v2.wolfpayteste.online/v1/products/{id}/access-links/{linkId}
Parâmetros
| Nome | Onde | Tipo | Detalhes |
|---|---|---|---|
idobrigatório | caminho | string | Id do produto ( mínimo 1 caractere(s) |
linkIdobrigatório | caminho | string | Id do link de acesso ( 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
Link removido.
Objeto ProductAccessLink
| Campo | Tipo | Detalhes |
|---|---|---|
id obrigatório | string | Padrão |
product_id obrigatório | string | Começa com |
label obrigatório | string | |
url obrigatório | string | |
host obrigatório | string | |
position obrigatório | integer | de 0 a 9007199254740991 |
created_at obrigatório | string |
{
"id": "pal_4a5b6c7d8e9f0a1b2c3d4e5f6a7b8c9d",
"product_id": "prd_7e6d5c4b3a2918f7e6d5c4b3a2918f7e",
"label": "Área de membros",
"url": "https://membros.example.com/curso-de-fotografia",
"host": "membros.example.com",
"position": 0,
"created_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/products/{id}/statusMudar status do produto (setProductStatus)
- Autenticação: API key (
sk_test_...) ou sessão do app do seller - Escopos:
products:read,products:write - URL:
https://api.v2.wolfpayteste.online/v1/products/{id}/status
Parâmetros
| Nome | Onde | Tipo | Detalhes |
|---|---|---|---|
idobrigatório | caminho | string | Id do produto ( 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
Produto atualizado.
Objeto Product
| Campo | Tipo | Detalhes |
|---|---|---|
id obrigatório | string | Começa com |
name obrigatório | string | |
status obrigatório | string | Valores: |
created_at obrigatório | string | |
description obrigatório | string | null | |
category obrigatório | string | null | |
sales_page_url obrigatório | string | null | |
guarantee_days obrigatório | integer | de 0 a 30 |
support_name obrigatório | string | null | |
support_email obrigatório | string | null | |
support_whatsapp obrigatório | string | null | |
statement_descriptor obrigatório | string | null |
{
"id": "prd_7e6d5c4b3a2918f7e6d5c4b3a2918f7e",
"name": "Curso de fotografia",
"status": "active",
"created_at": "2026-11-06T12:00:00.000Z",
"description": "Do básico à edição: 40 aulas gravadas e exercícios práticos.",
"category": "design_fotografia",
"sales_page_url": "https://example.com/curso-de-fotografia",
"guarantee_days": 7,
"support_name": "Equipe Estúdio Exemplo",
"support_email": "suporte@example.com",
"support_whatsapp": "+5511912345678",
"statement_descriptor": "EXEMPLO FOTO"
}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