Fornecedores
Cadastra e mantém os fornecedores do seller e consulta o último preço de cada produto com cada um.
Listar fornecedores
Um fornecedor é quem vende mercadoria ao seller. Os fornecedores alimentam pedidos de compra, cotações e contas a pagar. A lista vem com os ativos primeiro e depois por nome, sem paginação.
/api/v1/vendor/erp/compras/suppliersSellerLista os fornecedores
Exemplo de requisição: Listar fornecedores
curl "$BASE_URL/api/v1/vendor/erp/compras/suppliers" \
-H "Authorization: Bearer $TOKEN"Resposta: Listar fornecedores
{
"suppliers": [
{
"id": "e3d204f2-582c-4b7e-bac0-f46214d52c12",
"vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
"name": "Distribuidora Aurora Ltda",
"cnpj": "11222333000181",
"email": "compras@aurora.example.com",
"phone": "(11) 4000-1234",
"active": true,
"payment_terms_days": 28,
"lead_time_days": 5,
"min_order_cents": 50000,
"created_at": "2026-10-11T14:30:00Z",
"updated_at": "2026-10-11T14:30:00Z"
}
],
"total": 1
}Campos da resposta
suppliersarrayFornecedores.
iduuidvendor_iduuidnamestringcnpjstringemailstringphonestringactivebooleanpayment_terms_daysintegerlead_time_daysintegermin_order_centsintegercreated_atdatetimeupdated_atdatetimetotalintegerErros: Listar fornecedores
| Status | Quando | Corpo |
|---|---|---|
| 401 | Cabeçalho Authorization ausente, token inválido, expirado ou revogado. | {"error":"missing authorization header"} |
| 403 | O token não é de um usuário seller (por exemplo, é de administrador). | {"error":"insufficient permissions"} |
| 403 | O 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"} |
Criar fornecedor
/api/v1/vendor/erp/compras/suppliersSellerCria um fornecedor
Corpo da requisição
namestringobrigatóriocnpjstringemailstringphonestringactivebooleanpadrão: truepayment_terms_daysintegerlead_time_daysintegermin_order_centsintegerExemplo de requisição: Criar fornecedor
curl -X POST "$BASE_URL/api/v1/vendor/erp/compras/suppliers" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Distribuidora Aurora Ltda",
"cnpj": "11.222.333/0001-81",
"email": "compras@aurora.example.com",
"phone": "(11) 4000-1234",
"payment_terms_days": 28,
"lead_time_days": 5,
"min_order_cents": 50000
}'Resposta: Criar fornecedor
{
"id": "e3d204f2-582c-4b7e-bac0-f46214d52c12",
"vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
"name": "Distribuidora Aurora Ltda",
"cnpj": "11222333000181",
"email": "compras@aurora.example.com",
"phone": "(11) 4000-1234",
"active": true,
"payment_terms_days": 28,
"lead_time_days": 5,
"min_order_cents": 50000,
"created_at": "2026-10-11T14:30:00Z",
"updated_at": "2026-10-11T14:30:00Z"
}Campos da resposta
iduuidvendor_iduuidnamestringcnpjstringemailstringphonestringactivebooleanpayment_terms_daysintegerlead_time_daysintegermin_order_centsintegercreated_atdatetimeupdated_atdatetimeErros: Criar fornecedor
| Status | Quando | Corpo |
|---|---|---|
| 400 | Corpo não é um JSON válido. | {"error":"invalid request body","detail":"invalid character 'b' looking for beginning of object key string"} |
| 400 | name em branco. | {"error":"vendorerp: name required"} |
| 400 | CNPJ com dígitos verificadores inválidos. | {"error":"cnpj inválido"} |
| 401 | Cabeçalho Authorization ausente, token inválido, expirado ou revogado. | {"error":"missing authorization header"} |
| 403 | O token não é de um usuário seller (por exemplo, é de administrador). | {"error":"insufficient permissions"} |
| 403 | O 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"} |
Alterar fornecedor
Substitui nome, CNPJ, e-mail, telefone e active. Os três números (payment_terms_days, lead_time_days, min_order_cents) só mudam se vierem no corpo.
/api/v1/vendor/erp/compras/suppliers/{id}SellerAltera um fornecedor
Parâmetros de caminho
iduuidobrigatórioCorpo da requisição
namestringobrigatóriocnpjstringemailstringphonestringactivebooleanpadrão: truepayment_terms_daysintegerlead_time_daysintegermin_order_centsintegerExemplo de requisição: Alterar fornecedor
curl -X PUT "$BASE_URL/api/v1/vendor/erp/compras/suppliers/3f6c1c1e-8d0b-4a55-9a52-1d6f6a4a7b10" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Distribuidora Aurora Ltda",
"cnpj": "11.222.333/0001-81",
"email": "compras@aurora.example.com",
"phone": "(11) 4000-1234",
"payment_terms_days": 28,
"lead_time_days": 5,
"min_order_cents": 50000,
"active": true
}'Resposta: Alterar fornecedor
{
"id": "e3d204f2-582c-4b7e-bac0-f46214d52c12",
"vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
"name": "Distribuidora Aurora Ltda",
"cnpj": "11222333000181",
"email": "compras@aurora.example.com",
"phone": "(11) 4000-1234",
"active": true,
"payment_terms_days": 28,
"lead_time_days": 5,
"min_order_cents": 50000,
"created_at": "2026-10-11T14:30:00Z",
"updated_at": "2026-10-11T14:30:00Z"
}Campos da resposta
iduuidvendor_iduuidnamestringcnpjstringemailstringphonestringactivebooleanpayment_terms_daysintegerlead_time_daysintegermin_order_centsintegercreated_atdatetimeupdated_atdatetimeErros: Alterar fornecedor
| Status | Quando | Corpo |
|---|---|---|
| 400 | Corpo não é um JSON válido. | {"error":"invalid request body","detail":"invalid character 'b' looking for beginning of object key string"} |
| 400 | name em branco. | {"error":"vendorerp: name required"} |
| 400 | CNPJ com dígitos verificadores inválidos. | {"error":"cnpj inválido"} |
| 404 | O fornecedor não existe ou é de outro seller. | {"error":"supplier not found"} |
| 401 | Cabeçalho Authorization ausente, token inválido, expirado ou revogado. | {"error":"missing authorization header"} |
| 403 | O token não é de um usuário seller (por exemplo, é de administrador). | {"error":"insufficient permissions"} |
| 403 | O 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"} |
Apagar fornecedor
Exclusão lógica. Pedidos de compra antigos continuam mostrando o nome do fornecedor apagado.
/api/v1/vendor/erp/compras/suppliers/{id}SellerApaga um fornecedor
Parâmetros de caminho
iduuidobrigatórioExemplo de requisição: Apagar fornecedor
curl -X DELETE "$BASE_URL/api/v1/vendor/erp/compras/suppliers/3f6c1c1e-8d0b-4a55-9a52-1d6f6a4a7b10" \
-H "Authorization: Bearer $TOKEN"Resposta: Apagar fornecedor
{
"message": "supplier deleted"
}Campos da resposta
messagestringsupplier deleted.Erros: Apagar fornecedor
| Status | Quando | Corpo |
|---|---|---|
| 404 | O fornecedor não existe ou é de outro seller. | {"error":"supplier not found"} |
| 401 | Cabeçalho Authorization ausente, token inválido, expirado ou revogado. | {"error":"missing authorization header"} |
| 403 | O token não é de um usuário seller (por exemplo, é de administrador). | {"error":"insufficient permissions"} |
| 403 | O 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"} |
Preços do fornecedor
Devolve, por produto, o último custo negociado com o fornecedor. A plataforma aprende esse preço sozinha a cada pedido de compra criado e a cada NF-e lançada; use para pré-preencher o próximo pedido.
/api/v1/vendor/erp/compras/suppliers/{id}/pricesSellerHistórico de preços de um fornecedor
Parâmetros de caminho
iduuidobrigatórioExemplo de requisição: Preços do fornecedor
curl "$BASE_URL/api/v1/vendor/erp/compras/suppliers/3f6c1c1e-8d0b-4a55-9a52-1d6f6a4a7b10/prices" \
-H "Authorization: Bearer $TOKEN"Resposta: Preços do fornecedor
{
"prices": [
{
"product_id": "94e6917e-8733-4ddc-b446-ed85977117e8",
"product_name": "Camiseta Básica Preta M",
"sku": "CAM-PRE-M",
"last_cost_cents": 4990,
"last_qty": 20,
"updated_at": "2026-10-11T14:30:00Z"
}
],
"total": 1
}Campos da resposta
pricesarrayUm item por produto.
product_iduuidproduct_namestringskustringlast_cost_centsintegerlast_qtyintegerupdated_atdatetimetotalintegerErros: Preços do fornecedor
| Status | Quando | Corpo |
|---|---|---|
| 404 | O fornecedor não existe ou é de outro seller. | {"error":"supplier not found"} |
| 401 | Cabeçalho Authorization ausente, token inválido, expirado ou revogado. | {"error":"missing authorization header"} |
| 403 | O token não é de um usuário seller (por exemplo, é de administrador). | {"error":"insufficient permissions"} |
| 403 | O 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"} |