curl -X PUT "https://api.sistema-representantes.com.br/api/v1/products/QUEIJO-MUSSARELA" \
-H "Content-Type: application/json" \
-H "x-api-key: sua-api-key-aqui" \
-d '{
"preco": 47.90
}'
curl -X PUT "https://api.sistema-representantes.com.br/api/v1/products/LEITE-INTEGRAL-1L" \
-H "Content-Type: application/json" \
-H "x-api-key: sua-api-key-aqui" \
-d '{
"preco": 46.90
}'
// Desativar produto
const response = await fetch('https://api.sistema-representantes.com.br/api/v1/products/PROD-DESCONTINUADO', {
method: 'PUT',
headers: {
'Content-Type': 'application/json',
'x-api-key': 'sua-api-key-aqui'
},
body: JSON.stringify({
ativo: false,
descricao: "PRODUTO DESCONTINUADO - Não disponível para vendas"
})
});
const result = await response.json();
if (result.success) {
console.log('Produto atualizado:', result.data);
} else {
console.error('Erro:', result.error);
}
import requests
import json
url = "https://api.sistema-representantes.com.br/api/v1/products/QUEIJO-PRATO"
headers = {
'Content-Type': 'application/json',
'x-api-key': 'sua-api-key-aqui'
}
# Atualização completa após reajuste de preços
data = {
"preco": 44.90,
"descricao": "Queijo prato fatiado premium, embalagem de 1kg - NOVO PREÇO"
}
response = requests.put(url, headers=headers, json=data)
result = response.json()
if response.status_code == 200:
print("Produto atualizado com sucesso!")
print(f"Nome: {result['data']['nome']}")
print(f"Novo preço: R$ {result['data']['preco']:.2f}")
else:
print(f"Erro: {result.get('error', 'Erro desconhecido')}")
if 'details' in result:
print("Detalhes:", result['details'])
{
"success": true,
"data": {
"id": "QUEIJO-MUSSARELA",
"nome": "Queijo Mussarela",
"descricao": "Queijo mussarela fatiado, embalagem de 1kg",
"preco": 47.90,
"ativo": true,
"created_at": "2024-01-15T10:00:00Z",
"updated_at": "2024-01-26T16:30:00Z"
}
}
{
"error": "Produto não encontrado"
}
{
"error": "Dados de entrada inválidos",
"details": [
{
"code": "too_small",
"minimum": 0,
"type": "number",
"inclusive": true,
"message": "Number must be greater than or equal to 0",
"path": ["preco"]
}
]
}
Produtos
Atualizar Produto
Atualiza os dados de um produto existente
PUT
/
api
/
v1
/
products
/
{id}
curl -X PUT "https://api.sistema-representantes.com.br/api/v1/products/QUEIJO-MUSSARELA" \
-H "Content-Type: application/json" \
-H "x-api-key: sua-api-key-aqui" \
-d '{
"preco": 47.90
}'
curl -X PUT "https://api.sistema-representantes.com.br/api/v1/products/LEITE-INTEGRAL-1L" \
-H "Content-Type: application/json" \
-H "x-api-key: sua-api-key-aqui" \
-d '{
"preco": 46.90
}'
// Desativar produto
const response = await fetch('https://api.sistema-representantes.com.br/api/v1/products/PROD-DESCONTINUADO', {
method: 'PUT',
headers: {
'Content-Type': 'application/json',
'x-api-key': 'sua-api-key-aqui'
},
body: JSON.stringify({
ativo: false,
descricao: "PRODUTO DESCONTINUADO - Não disponível para vendas"
})
});
const result = await response.json();
if (result.success) {
console.log('Produto atualizado:', result.data);
} else {
console.error('Erro:', result.error);
}
import requests
import json
url = "https://api.sistema-representantes.com.br/api/v1/products/QUEIJO-PRATO"
headers = {
'Content-Type': 'application/json',
'x-api-key': 'sua-api-key-aqui'
}
# Atualização completa após reajuste de preços
data = {
"preco": 44.90,
"descricao": "Queijo prato fatiado premium, embalagem de 1kg - NOVO PREÇO"
}
response = requests.put(url, headers=headers, json=data)
result = response.json()
if response.status_code == 200:
print("Produto atualizado com sucesso!")
print(f"Nome: {result['data']['nome']}")
print(f"Novo preço: R$ {result['data']['preco']:.2f}")
else:
print(f"Erro: {result.get('error', 'Erro desconhecido')}")
if 'details' in result:
print("Detalhes:", result['details'])
{
"success": true,
"data": {
"id": "QUEIJO-MUSSARELA",
"nome": "Queijo Mussarela",
"descricao": "Queijo mussarela fatiado, embalagem de 1kg",
"preco": 47.90,
"ativo": true,
"created_at": "2024-01-15T10:00:00Z",
"updated_at": "2024-01-26T16:30:00Z"
}
}
{
"error": "Produto não encontrado"
}
{
"error": "Dados de entrada inválidos",
"details": [
{
"code": "too_small",
"minimum": 0,
"type": "number",
"inclusive": true,
"message": "Number must be greater than or equal to 0",
"path": ["preco"]
}
]
}
Use este endpoint para atualizar preços, informações ou status de produtos.
Você precisa de uma API key válida no header x-api-key para usar este endpoint.
Path Parameters
string
required
ID único do produto (código/SKU)
Headers
string
required
application/json
string
required
API key de autenticação
Body
Todos os campos são opcionais. Envie apenas os campos que deseja atualizar.
string
Nome do produtoMínimo de 1 caractere
string
Descrição detalhada do produtoPode ser nulo para remover a descrição
number
Preço unitário do produtoDeve ser maior ou igual a 0
boolean
Status do produto
true- Produto ativofalse- Produto inativo
curl -X PUT "https://api.sistema-representantes.com.br/api/v1/products/QUEIJO-MUSSARELA" \
-H "Content-Type: application/json" \
-H "x-api-key: sua-api-key-aqui" \
-d '{
"preco": 47.90
}'
curl -X PUT "https://api.sistema-representantes.com.br/api/v1/products/LEITE-INTEGRAL-1L" \
-H "Content-Type: application/json" \
-H "x-api-key: sua-api-key-aqui" \
-d '{
"preco": 46.90
}'
// Desativar produto
const response = await fetch('https://api.sistema-representantes.com.br/api/v1/products/PROD-DESCONTINUADO', {
method: 'PUT',
headers: {
'Content-Type': 'application/json',
'x-api-key': 'sua-api-key-aqui'
},
body: JSON.stringify({
ativo: false,
descricao: "PRODUTO DESCONTINUADO - Não disponível para vendas"
})
});
const result = await response.json();
if (result.success) {
console.log('Produto atualizado:', result.data);
} else {
console.error('Erro:', result.error);
}
import requests
import json
url = "https://api.sistema-representantes.com.br/api/v1/products/QUEIJO-PRATO"
headers = {
'Content-Type': 'application/json',
'x-api-key': 'sua-api-key-aqui'
}
# Atualização completa após reajuste de preços
data = {
"preco": 44.90,
"descricao": "Queijo prato fatiado premium, embalagem de 1kg - NOVO PREÇO"
}
response = requests.put(url, headers=headers, json=data)
result = response.json()
if response.status_code == 200:
print("Produto atualizado com sucesso!")
print(f"Nome: {result['data']['nome']}")
print(f"Novo preço: R$ {result['data']['preco']:.2f}")
else:
print(f"Erro: {result.get('error', 'Erro desconhecido')}")
if 'details' in result:
print("Detalhes:", result['details'])
Response
Sucesso
boolean
Indica se a operação foi bem-sucedida
object
Dados completos do produto atualizado (mesma estrutura do GET)
{
"success": true,
"data": {
"id": "QUEIJO-MUSSARELA",
"nome": "Queijo Mussarela",
"descricao": "Queijo mussarela fatiado, embalagem de 1kg",
"preco": 47.90,
"ativo": true,
"created_at": "2024-01-15T10:00:00Z",
"updated_at": "2024-01-26T16:30:00Z"
}
}
{
"error": "Produto não encontrado"
}
{
"error": "Dados de entrada inválidos",
"details": [
{
"code": "too_small",
"minimum": 0,
"type": "number",
"inclusive": true,
"message": "Number must be greater than or equal to 0",
"path": ["preco"]
}
]
}
Validações
Validações aplicadas:
- Nome deve ter pelo menos 1 caractere se fornecido
- Preço deve ser maior ou igual a 0 se fornecido
- Produto deve existir no sistema
Casos de Uso Comuns
Exemplos práticos:
- Reajuste de preços: Atualize apenas o campo
preco - Correção de dados: Atualize descrição ou unidade de medida
- Descontinuar produto: Defina
ativo: falsee atualize a descrição - Mudança de unidade: Altere a unidade de medida quando necessário
- Correção de informações: Atualize nome ou descrição incorretos