VenddorDocumentação API
API atualAPI legada
Guia rápidoReferência completa
Carregando índice…
API atual/Referência completa/ERP Compras

Cotações: consulta e abertura

Lista e consulta as cotações de compra do seller e abre uma cotação nova.

Listar cotações

Uma cotação (RFQ) pede preço de vários fornecedores para os mesmos produtos. Você registra as ofertas que recebeu, compara e converte a melhor num pedido de compra. A listagem não traz os itens.

GET/api/v1/vendor/erp/cotacoesSeller

Lista as cotações

Parâmetros de consulta

statusstring
openclosedcancelled
Estado. Valor desconhecido devolve lista vazia.
pageintegerpadrão: 1
Página, a partir de 1. Valor inválido ou menor que 1 volta para 1.
per_pageintegerpadrão: 20
Itens por página, de 1 a 200. Fora dessa faixa vale o padrão.

Exemplo de requisição: Listar cotações

bash
curl "$BASE_URL/api/v1/vendor/erp/cotacoes?status=open" \
  -H "Authorization: Bearer $TOKEN"

Resposta: Listar cotações

200Cotações retornadas
json
{
  "quotes": [
    {
      "id": "c41a9e07-6f2b-4d83-b0a5-2e7d9f1c3a68",
      "vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
      "code": "COT-000001",
      "status": "open",
      "deadline_at": "2026-10-20T00:00:00Z",
      "notes": "Cotação de outubro",
      "created_at": "2026-10-11T14:30:00Z",
      "updated_at": "2026-10-11T14:30:00Z",
      "item_count": 1,
      "items": []
    }
  ],
  "total": 1
}

Campos da resposta

quotesarray

Cotações da página.

iduuid
Id da cotação.
vendor_iduuid
Seller dono.
codestring
Código legível COT-000001, sequencial por seller.
statusstring
openclosedcancelled
Estado da cotação.
deadline_atdatetime
Prazo para os fornecedores responderem. null se não definido.
notesstring
Observação.
created_atdatetime
Criação.
updated_atdatetime
Última alteração.
item_countinteger
Quantidade de itens.
itemsarray

Itens e ofertas. Vazio na listagem.

iduuid
Id do item cotado.
quote_iduuid
Cotação.
product_iduuid
Produto.
product_namestring
Nome do produto.
quantityinteger
Quantidade cotada.
offersarray

Ofertas dos fornecedores, da mais barata para a mais cara.

iduuid
Id da oferta.
quote_item_iduuid
Item cotado.
supplier_iduuid
Fornecedor que ofereceu.
supplier_namestring
Nome do fornecedor.
unit_cost_centsinteger
Preço unitário oferecido, em centavos.
lead_time_daysinteger
Prazo de entrega em dias. null se não informado.
notesstring
Observação.
created_atdatetime
Quando a oferta entrou.
totalinteger
Total que atende ao filtro.

Erros: Listar cotações

StatusQuandoCorpo
401Cabeçalho Authorization ausente, token inválido, expirado ou revogado.{"error":"missing authorization header"}
403O token não é de um usuário seller (por exemplo, é de administrador).{"error":"insufficient permissions"}
403O usuário não está vinculado a um seller, ou o cadastro do seller ainda está em análise (vendor_pending_review).{"error":"no vendor account associated with this user"}

Consultar cotação

GET/api/v1/vendor/erp/cotacoes/{id}Seller

Consulta uma cotação

Parâmetros de caminho

iduuidobrigatório
Id (UUID) da cotação.

Exemplo de requisição: Consultar cotação

bash
curl "$BASE_URL/api/v1/vendor/erp/cotacoes/3f6c1c1e-8d0b-4a55-9a52-1d6f6a4a7b10" \
  -H "Authorization: Bearer $TOKEN"

Resposta: Consultar cotação

200Cotação com itens e ofertas
json
{
  "id": "c41a9e07-6f2b-4d83-b0a5-2e7d9f1c3a68",
  "vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
  "code": "COT-000001",
  "status": "open",
  "deadline_at": "2026-10-20T00:00:00Z",
  "notes": "Cotação de outubro",
  "created_at": "2026-10-11T14:30:00Z",
  "updated_at": "2026-10-11T14:30:00Z",
  "item_count": 1,
  "items": [
    {
      "id": "9a1b2c3d-4e5f-4a6b-8c7d-0e1f2a3b4c5d",
      "quote_id": "c41a9e07-6f2b-4d83-b0a5-2e7d9f1c3a68",
      "product_id": "94e6917e-8733-4ddc-b446-ed85977117e8",
      "product_name": "Camiseta Básica Preta M",
      "quantity": 100,
      "offers": [
        {
          "id": "e2b4c6d8-1a3c-4e5f-9b7d-0a2c4e6f8b10",
          "quote_item_id": "9a1b2c3d-4e5f-4a6b-8c7d-0e1f2a3b4c5d",
          "supplier_id": "e3d204f2-582c-4b7e-bac0-f46214d52c12",
          "supplier_name": "Distribuidora Aurora Ltda",
          "unit_cost_cents": 4500,
          "lead_time_days": 7,
          "notes": "Frete incluso",
          "created_at": "2026-10-11T14:30:00Z"
        }
      ]
    }
  ]
}

Campos da resposta

iduuid
Id da cotação.
vendor_iduuid
Seller dono.
codestring
Código legível COT-000001, sequencial por seller.
statusstring
openclosedcancelled
Estado da cotação.
deadline_atdatetime
Prazo para os fornecedores responderem. null se não definido.
notesstring
Observação.
created_atdatetime
Criação.
updated_atdatetime
Última alteração.
item_countinteger
Quantidade de itens.
itemsarray

Itens e ofertas. Vazio na listagem.

iduuid
Id do item cotado.
quote_iduuid
Cotação.
product_iduuid
Produto.
product_namestring
Nome do produto.
quantityinteger
Quantidade cotada.
offersarray

Ofertas dos fornecedores, da mais barata para a mais cara.

iduuid
Id da oferta.
quote_item_iduuid
Item cotado.
supplier_iduuid
Fornecedor que ofereceu.
supplier_namestring
Nome do fornecedor.
unit_cost_centsinteger
Preço unitário oferecido, em centavos.
lead_time_daysinteger
Prazo de entrega em dias. null se não informado.
notesstring
Observação.
created_atdatetime
Quando a oferta entrou.

Erros: Consultar cotação

StatusQuandoCorpo
404A cotação não existe ou é de outro seller.{"error":"quote not found"}
400O id é 0.{"error":"invalid id parameter"}
401Cabeçalho Authorization ausente, token inválido, expirado ou revogado.{"error":"missing authorization header"}
403O token não é de um usuário seller (por exemplo, é de administrador).{"error":"insufficient permissions"}
403O usuário não está vinculado a um seller, ou o cadastro do seller ainda está em análise (vendor_pending_review).{"error":"no vendor account associated with this user"}

Abrir cotação

POST/api/v1/vendor/erp/cotacoesSeller

Abre uma cotação

Corpo da requisição

deadline_atstring
Prazo de resposta: YYYY-MM-DD ou RFC 3339.
notesstring
Observação.
itemsarrayobrigatório

Produtos a cotar. Linhas com product_id em branco são descartadas em silêncio; precisa sobrar ao menos uma.

product_iduuidobrigatório
Produto.
quantityintegerobrigatório
Quantidade, maior que zero.

Exemplo de requisição: Abrir cotação

bash
curl -X POST "$BASE_URL/api/v1/vendor/erp/cotacoes" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "deadline_at": "2026-10-20",
  "notes": "Cotação de outubro",
  "items": [
    {
      "product_id": "94e6917e-8733-4ddc-b446-ed85977117e8",
      "quantity": 100
    }
  ]
}'

Resposta: Abrir cotação

201Cotação aberta
json
{
  "id": "c41a9e07-6f2b-4d83-b0a5-2e7d9f1c3a68",
  "vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
  "code": "COT-000001",
  "status": "open",
  "deadline_at": "2026-10-20T00:00:00Z",
  "notes": "Cotação de outubro",
  "created_at": "2026-10-11T14:30:00Z",
  "updated_at": "2026-10-11T14:30:00Z",
  "item_count": 1,
  "items": [
    {
      "id": "9a1b2c3d-4e5f-4a6b-8c7d-0e1f2a3b4c5d",
      "quote_id": "c41a9e07-6f2b-4d83-b0a5-2e7d9f1c3a68",
      "product_id": "94e6917e-8733-4ddc-b446-ed85977117e8",
      "product_name": "Camiseta Básica Preta M",
      "quantity": 100,
      "offers": []
    }
  ]
}

Campos da resposta

iduuid
Id da cotação.
vendor_iduuid
Seller dono.
codestring
Código legível COT-000001, sequencial por seller.
statusstring
openclosedcancelled
Estado da cotação.
deadline_atdatetime
Prazo para os fornecedores responderem. null se não definido.
notesstring
Observação.
created_atdatetime
Criação.
updated_atdatetime
Última alteração.
item_countinteger
Quantidade de itens.
itemsarray

Itens e ofertas. Vazio na listagem.

iduuid
Id do item cotado.
quote_iduuid
Cotação.
product_iduuid
Produto.
product_namestring
Nome do produto.
quantityinteger
Quantidade cotada.
offersarray

Ofertas dos fornecedores, da mais barata para a mais cara.

iduuid
Id da oferta.
quote_item_iduuid
Item cotado.
supplier_iduuid
Fornecedor que ofereceu.
supplier_namestring
Nome do fornecedor.
unit_cost_centsinteger
Preço unitário oferecido, em centavos.
lead_time_daysinteger
Prazo de entrega em dias. null se não informado.
notesstring
Observação.
created_atdatetime
Quando a oferta entrou.

Erros: Abrir cotação

StatusQuandoCorpo
400Corpo não é um JSON válido.{"error":"invalid request body","detail":"invalid character 'b' looking for beginning of object key string"}
400Alguma linha com quantity <= 0.{"error":"vendorerp: item quantity must be positive"}
400Nenhuma linha válida.{"error":"vendorerp: at least one item required"}
400deadline_at em outro formato.{"error":"vendorerp: deadline_at must be YYYY-MM-DD or RFC3339"}
401Cabeçalho Authorization ausente, token inválido, expirado ou revogado.{"error":"missing authorization header"}
403O token não é de um usuário seller (por exemplo, é de administrador).{"error":"insufficient permissions"}
403O usuário não está vinculado a um seller, ou o cadastro do seller ainda está em análise (vendor_pending_review).{"error":"no vendor account associated with this user"}

Veja também

  • Ações da cotação
  • Pedidos de compra
Anterior
Configuração de compras
Próxima
Cotações: ofertas e conversão
Nesta página
  • Listar cotações
  • Exemplo de requisição: Listar cotações
  • Resposta: Listar cotações
  • Erros: Listar cotações
  • Consultar cotação
  • Exemplo de requisição: Consultar cotação
  • Resposta: Consultar cotação
  • Erros: Consultar cotação
  • Abrir cotação
  • Exemplo de requisição: Abrir cotação
  • Resposta: Abrir cotação
  • Erros: Abrir cotação
  • Veja também