Pular para o conteúdo
API e webhooksv1
openapi.yaml
Menu da APIProdução · Listar pedidos de produção

Listar pedidos de produção

GET https://api.precificador3d.com.br/v1/pedidos-producao

Escopo: pedidos:ler. valor_centavos só com produtos:custos e custos.ver ou producao.receber de quem criou a chave.

cURL

curl "https://api.precificador3d.com.br/v1/pedidos-producao?limite=25" \
  -H "Authorization: Bearer $PC3D_CHAVE"

JavaScript

const resposta = await fetch('https://api.precificador3d.com.br/v1/pedidos-producao?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/pedidos-producao",
    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_cursor da 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_em para reconciliar depois de webhooks.
situacaostring
Valores: aberto, em_producao, finalizado, cancelado.
tipostring
Valores: cliente, estoque.

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

Página de pedidos.

Campos da resposta (25)
dadosarray de PedidoProducao
(0 a 100 itens)
dados[].idstring (uuid)
dados[].codigostring
dados[].tipostring
Valores: cliente, estoque.
dados[].origemstring
Valores: cotacao, manual, repor, api.
dados[].cotacao_idstring (uuid) | null
dados[].cliente_nomestring | null
null em pedido para estoque e depois da anonimização (LGPD).
dados[].prazostring (date) | null
dados[].prioridadestring
Valores: normal, urgente.
dados[].situacaostring
Valores: aberto, em_producao, finalizado, cancelado.
dados[].pagamento_situacaostring | null
Valores: nao_pago, sinal_pago, pago, null.
dados[].itensarray de object
dados[].itens[].idstring (uuid)
dados[].itens[].tipostring
Valores: catalogo, cotacao, avulso.
dados[].itens[].produto_idstring (uuid) | null
dados[].itens[].variacao_idstring (uuid) | null
dados[].itens[].nomestring
dados[].itens[].quantidadeinteger
dados[].itens[].situacaostring
Valores: ativo, finalizado, retirado.
dados[].itens[].etapastring | null
Nome da etapa atual do item.
dados[].criado_emstring (date-time)
dados[].atualizado_emstring (date-time)
dados[].finalizado_emstring (date-time) | null
dados[].valor_centavosinteger
[custos] Valor do pedido de cliente. (de 0 a 100000000000)
proximo_cursorstring | null
Cursor da próxima página, ou null no fim.
200 Resposta
{
  "dados": [
    {
      "id": "a0b1c2d3-e4f5-4a6b-8c7d-9e0f1a2b3c4d",
      "codigo": "OP-0107",
      "tipo": "cliente",
      "origem": "api",
      "cotacao_id": null,
      "cliente_nome": "Ana Lima",
      "prazo": "2026-10-20",
      "prioridade": "normal",
      "situacao": "aberto",
      "pagamento_situacao": "nao_pago",
      "itens": [
        {
          "id": "e4f5a6b7-c8d9-4e0f-1a2b-3c4d5e6f7a8b",
          "tipo": "catalogo",
          "produto_id": "5a6b7c8d-9e0f-4a1b-2c3d-4e5f6a7b8c9d",
          "variacao_id": "6b7c8d9e-0f1a-4b2c-3d4e-5f6a7b8c9d0e",
          "nome": "Chaveiro Dragão · Azul",
          "quantidade": 200,
          "situacao": "ativo",
          "etapa": "Fila"
        }
      ],
      "criado_em": "2026-10-05T10:00:00-03:00",
      "atualizado_em": "2026-10-05T10:00:00-03:00",
      "finalizado_em": null
    }
  ]
}

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.

Esta página em Markdown · llms.txt