Pular para o conteúdo
API e webhooksv1
openapi.yaml
Menu da APICotações · Ver uma cotação

Ver uma cotação

GET https://api.precificador3d.com.br/v1/cotacoes/{id}

Escopo: cotacoes:ler. Cotação enviada devolve os valores congelados, como a tela.

cURL

curl "https://api.precificador3d.com.br/v1/cotacoes/9e0f1a2b-3c4d-4e5f-6a7b-8c9d0e1f2a3b" \
  -H "Authorization: Bearer $PC3D_CHAVE"

JavaScript

const resposta = await fetch('https://api.precificador3d.com.br/v1/cotacoes/9e0f1a2b-3c4d-4e5f-6a7b-8c9d0e1f2a3b', {
  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/cotacoes/9e0f1a2b-3c4d-4e5f-6a7b-8c9d0e1f2a3b",
    headers={
        "Authorization": f"Bearer {os.environ['PC3D_CHAVE']}",
    },
    timeout=10,
)
resposta.raise_for_status()
dados = resposta.json()

Parâmetros de caminho

idstring (uuid)obrigatório

Cabeçalhos

If-None-Matchstring
ETag recebida antes. Se nada mudou, a resposta é 304 e não gasta a cota mensal. (até 100 caracteres)

Resposta 200

Cotação.

Campos da resposta (36)
idstring (uuid)
codigostring
titulostring
statusstring
Valores: rascunho, enviada, aprovada, recusada, em_analise, arquivado.
versaointeger
clienteobject
cliente.nomestring | null
cliente.contatostring | null
validadestring (date) | null
condicoesstring | null
observacaostring | null
itensarray de object
itens[].idstring (uuid)
itens[].nomestring
itens[].skustring | null
itens[].produto_idstring (uuid) | null
itens[].variacao_idstring (uuid) | null
itens[].quantidadeinteger
itens[].preco_unitario_centavosinteger
(de 0 a 100000000000)
itens[].total_centavosinteger
(de 0 a 100000000000)
itens[].corCorCliente | null
itens[].cor.idstring (uuid)
itens[].cor.codigostring
itens[].cor.nome_clientestring
itens[].cor.acabamentostring
Valores: nenhum, brilhante, fosco.
itens[].cor_a_combinarboolean
total_centavosinteger
(de 0 a 100000000000)
desconto_centavosinteger
(de 0 a 100000000000)
criado_emstring (date-time)
atualizado_emstring (date-time)
enviada_emstring (date-time) | null
aprovada_emstring (date-time) | null
congeladaboolean
true fora de rascunho e em_analise. Congelada, a cotação só se edita voltando para rascunho pela tela.
custo_total_centavosinteger
[custos] (de 0 a 100000000000)
lucro_centavosinteger
[custos]
margem_bpinteger
[custos] Pontos-base.
200 Resposta
{
  "id": "9e0f1a2b-3c4d-4e5f-6a7b-8c9d0e1f2a3b",
  "codigo": "COT-0042",
  "titulo": "Chaveiros evento Loja Exemplo",
  "status": "aprovada",
  "versao": 2,
  "cliente": {
    "nome": "Ana Lima",
    "contato": "ana.lima@example.com"
  },
  "validade": "2026-10-31",
  "condicoes": "Pagamento 50% na aprovação e 50% na entrega.",
  "observacao": null,
  "itens": [
    {
      "id": "d3e4f5a6-b7c8-4d9e-0f1a-2b3c4d5e6f7a",
      "nome": "Chaveiro Dragão · Azul",
      "sku": "CHAV-DRG-AZ",
      "produto_id": "5a6b7c8d-9e0f-4a1b-2c3d-4e5f6a7b8c9d",
      "variacao_id": "6b7c8d9e-0f1a-4b2c-3d4e-5f6a7b8c9d0e",
      "quantidade": 200,
      "preco_unitario_centavos": 1290,
      "total_centavos": 258000,
      "cor": {
        "id": "c2d3e4f5-a6b7-4c8d-9e0f-1a2b3c4d5e6f",
        "codigo": "#007",
        "nome_cliente": "Azul",
        "acabamento": "fosco"
      },
      "cor_a_combinar": false
    }
  ],
  "total_centavos": 258000,
  "desconto_centavos": 12900,
  "criado_em": "2026-10-03T14:00:00-03:00",
  "atualizado_em": "2026-10-05T09:30:00-03:00",
  "enviada_em": "2026-10-03T16:10:00-03:00",
  "aprovada_em": "2026-10-05T09:30: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.
  • 404 nao_encontrado: Não existe nesta conta.
  • 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.

Esta página em Markdown · llms.txt