Gerenciar o catálogo de produtos do WhatsApp Business via API permite automatizar a adição, atualização e remoção de produtos sem tocar no celular. Com a ZAP API, você integra seu e-commerce ou ERP diretamente ao catálogo do WhatsApp Business.
Endpoints de catálogo e coleções
GET /instances/{id}/business/catalog— listar produtosPOST /instances/{id}/business/catalog— adicionar produtoPUT /instances/{id}/business/catalog/{productId}— atualizar produtoDELETE /instances/{id}/business/catalog/{productId}— remover produtoGET /instances/{id}/business/collections— listar coleçõesPOST /instances/{id}/business/collections— criar coleçãoDELETE /instances/{id}/business/collections/{id}— remover coleção
Gerenciar catálogo via código
const axios = require('axios');
const api = axios.create({
baseURL: 'https://zap-api.tech/v1',
headers: { Authorization: 'Bearer tk_seu_token_aqui' }
});
const INST = 'inst_seu_id_aqui';
// Listar produtos do catálogo
async function listarProdutos() {
const { data } = await api.get(`/instances/${INST}/business/catalog`);
data.forEach(p => console.log(`${p.name} - R$${p.price}`));
return data;
}
// Adicionar produto
async function adicionarProduto(produto) {
return api.post(`/instances/${INST}/business/catalog`, {
name: produto.nome,
description: produto.descricao,
price: produto.preco,
currency: 'BRL',
imageUrl: produto.imagemUrl,
url: produto.linkLoja
});
}
// Atualizar preço
async function atualizarPreco(productId, novoPreco) {
return api.put(`/instances/${INST}/business/catalog/${productId}`, {
price: novoPreco
});
}
// Remover produto descontinuado
async function removerProduto(productId) {
return api.delete(`/instances/${INST}/business/catalog/${productId}`);
}
Sincronizar com e-commerce
// sync-catalogo.js — sincronizar estoque com catálogo WhatsApp
const cron = require('node-cron');
cron.schedule('0 */4 * * *', async () => {
const produtos = await ecommerce.getProdutosAtivos();
const catalogoWA = await listarProdutos();
const catalogoMap = new Map(catalogoWA.map(p => [p.externalId, p]));
for (const prod of produtos) {
if (catalogoMap.has(prod.id)) {
const wa = catalogoMap.get(prod.id);
if (wa.price !== prod.preco) {
await atualizarPreco(wa.productId, prod.preco);
}
} else {
await adicionarProduto(prod);
}
await new Promise(r => setTimeout(r, 1000));
}
console.log('Catálogo sincronizado:', new Date().toISOString());
});
Gerenciar coleções
// Criar coleção (ex: "Novidades Março")
async function criarColecao(nome, productIds) {
return api.post(`/instances/${INST}/business/collections`, {
name: nome,
products: productIds
});
}
await criarColecao('Mais Vendidos', ['prod_001', 'prod_002', 'prod_003']);
Enviar produto para cliente
// Enviar produto específico do catálogo
await api.post(`/instances/${INST}/send`, {
phone: '5511999998888',
type: 'product',
productId: 'prod_001'
});
FAQ
- Preciso de conta WhatsApp Business?
Sim. O catálogo é um recurso do WhatsApp Business. A ZAP API conecta tanto números pessoais quanto Business. - Quantos produtos posso ter?
O WhatsApp Business permite até 500 produtos no catálogo. - Posso sincronizar com Shopify/WooCommerce?
Sim. Crie um cron que lê seus produtos via API do e-commerce e sincroniza com a ZAP API. - Os produtos aparecem no perfil?
Sim. Clientes que abrem seu perfil no WhatsApp veem o catálogo completo.