Listar produtos com preço por canal
GET
https://api.precificador3d.com.br/v1/produtos Escopo: produtos:ler. Com produtos:custos (e custos.ver de quem criou a chave), os produtos trazem custo, preço sugerido, margem e lucro por hora.
Custo: 1 unidade por requisição com limite até 25; acima disso, operação cara (1 + 1 a cada 25 produtos).
cURL
curl "https://api.precificador3d.com.br/v1/produtos?limite=25" \
-H "Authorization: Bearer $PC3D_CHAVE" JavaScript
const resposta = await fetch('https://api.precificador3d.com.br/v1/produtos?limite=25', {
headers: {
Authorization: `Bearer ${process.env.PC3D_CHAVE}`,
},
});
if (!resposta.ok) {
const erro = await resposta.json(); // application/problem+json
throw new Error(`${erro.codigo}: ${erro.detail} (${erro.requisicao_id})`);
}
const dados = await resposta.json(); Python
import os
import requests
resposta = requests.get(
"https://api.precificador3d.com.br/v1/produtos",
params={
"limite": 25,
},
headers={
"Authorization": f"Bearer {os.environ['PC3D_CHAVE']}",
},
timeout=10,
)
resposta.raise_for_status()
dados = resposta.json() Parâmetros de consulta
limiteinteger- Itens por página, de 1 a 100. Acima de 25 conta como operação cara. (de 1 a 100; padrão 25)
cursorstring- Valor de
proximo_cursorda página anterior. Opaco. (até 200 caracteres) ordemstring- Ordenação.
-na frente = decrescente. (padrão "-atualizado_em") Valores:atualizado_em,-atualizado_em,criado_em,-criado_em. atualizado_desdestring (date-time)- Só o que mudou a partir deste instante. Use com
ordem=atualizado_empara reconciliar depois de webhooks. statusstring- Valores:
avaliacao,catalogo,pausado. categoria_idstring (uuid)skustring- Igualdade exata. (até 40 caracteres)
Cabeçalhos
If-None-Matchstring- ETag recebida antes. Se nada mudou, a resposta é
304e não gasta a cota mensal. (até 100 caracteres)
Resposta 200
Página de produtos.
Campos da resposta (47)
dadosarray de Produto- (0 a 100 itens)
dados[].idstring (uuid)dados[].nomestring- (até 120 caracteres)
dados[].skustring | null- (até 40 caracteres)
dados[].statusstring- Valores:
avaliacao,catalogo,pausado. dados[].categoriaobject | nulldados[].categoria.idstring (uuid)dados[].categoria.nomestringdados[].titulostring | nulldados[].descricaostring | nulldados[].eanstring | nulldados[].medidasobjectdados[].medidas.largura_cmnumber | nulldados[].medidas.altura_cmnumber | nulldados[].medidas.profundidade_cmnumber | nulldados[].medidas.peso_gnumber | nulldados[].medidas.peso_embalado_gnumber | nulldados[].quantidade_minimainteger | nulldados[].multiplo_deinteger | nulldados[].preco_venda_centavosinteger | null- Preço da loja própria definido pela conta, ou null. (de 0 a 100000000000)
dados[].precosarray de object- Preço em cada canal ativo, calculado no servidor.
dados[].precos[].canal_idstring (uuid)dados[].precos[].canal_nomestringdados[].precos[].preco_centavosinteger- (de 0 a 100000000000)
dados[].faixasarray de object- Preço por unidade conforme a quantidade (vazio quando o produto não tem faixas).
dados[].faixas[].quantidade_a_partir_deintegerdados[].faixas[].preco_unitario_centavosinteger- (de 0 a 100000000000)
dados[].variacoesarray de Variacaodados[].variacoes[].idstring (uuid)dados[].variacoes[].nomestringdados[].variacoes[].skustring | nulldados[].variacoes[].ativabooleandados[].variacoes[].valoresarray de objectdados[].variacoes[].valores[].tipostringdados[].variacoes[].valores[].valorstringdados[].variacoes[].corCorCliente | nulldados[].variacoes[].cor.idstring (uuid)dados[].variacoes[].cor.codigostringdados[].variacoes[].cor.nome_clientestringdados[].variacoes[].cor.acabamentostring- Valores:
nenhum,brilhante,fosco. dados[].criado_emstring (date-time)dados[].atualizado_emstring (date-time)dados[].custo_centavosinteger- [custos] Custo completo por unidade. (de 0 a 100000000000)
dados[].preco_sugerido_centavosinteger- [custos] Preço sugerido pelo método de preço da conta. (de 0 a 100000000000)
dados[].margem_bpinteger- [custos] Margem em pontos-base (2500 = 25%).
dados[].lucro_hora_centavosinteger- [custos] Lucro por hora de máquina.
proximo_cursorstring | null- Cursor da próxima página, ou
nullno fim.
{
"dados": [
{
"id": "5a6b7c8d-9e0f-4a1b-2c3d-4e5f6a7b8c9d",
"nome": "Chaveiro Dragão",
"sku": "CHAV-DRG",
"status": "catalogo",
"categoria": {
"id": "b1c2d3e4-f5a6-4b7c-8d9e-0f1a2b3c4d5e",
"nome": "Chaveiros"
},
"titulo": "Chaveiro Dragão articulado impresso em 3D",
"descricao": "Dragão articulado de 12 cm, com argola.",
"ean": null,
"medidas": {
"largura_cm": 12,
"altura_cm": 3,
"profundidade_cm": 2,
"peso_g": 14,
"peso_embalado_g": 22
},
"quantidade_minima": 1,
"multiplo_de": null,
"preco_venda_centavos": 1990,
"precos": [
{
"canal_id": "1c2d3e4f-5a6b-4c7d-8e9f-0a1b2c3d4e5f",
"canal_nome": "Loja própria",
"preco_centavos": 1990
},
{
"canal_id": "2d3e4f5a-6b7c-4d8e-9f0a-1b2c3d4e5f6a",
"canal_nome": "Marketplace Exemplo",
"preco_centavos": 2490
}
],
"faixas": [
{
"quantidade_a_partir_de": 1,
"preco_unitario_centavos": 1990
},
{
"quantidade_a_partir_de": 35,
"preco_unitario_centavos": 1290
}
],
"variacoes": [
{
"id": "6b7c8d9e-0f1a-4b2c-3d4e-5f6a7b8c9d0e",
"nome": "Azul",
"sku": "CHAV-DRG-AZ",
"ativa": true,
"valores": [
{
"tipo": "Cor",
"valor": "Azul"
}
],
"cor": {
"id": "c2d3e4f5-a6b7-4c8d-9e0f-1a2b3c4d5e6f",
"codigo": "#007",
"nome_cliente": "Azul",
"acabamento": "fosco"
}
}
],
"criado_em": "2026-08-12T10:00:00-03:00",
"atualizado_em": "2026-10-02T10:00:00-03:00"
}
]
} Outras respostas
- 304 Nada mudou desde a ETag informada.
- 400
dados_invalidos: Dados, filtro, cursor ou cabeçalho inválido. - 401
nao_autenticado: Chave ausente, malformada, desconhecida, revogada ou expirada (a resposta é a mesma para todos os casos). - 403
escopo_insuficiente: Escopo insuficiente, conta bloqueada, módulo desligado ou chave suspensa. - 429
limite_excedido: Limite de uso excedido (rajada, minuto, mês ou requisições simultâneas). - 500
erro_interno: Erro interno. O detalhe fica no log, ligado ao requisicao_id. - 503
indisponivel: API desligada, sob pressão (disjuntor aberto) ou no limite global da plataforma.