Respostas precisas sobre a automação atual do BancaOS. Contexto: migração de WooCommerce webhook + Google Sheets para BDApp próprio.
order.created e order.updated.order.created insere o pedido pela primeira vez. order.updated atualiza status e sincroniza com Google Sheets quando o status muda.processing, on-hold, completed, refunded, cancelled.pending, failed — não geram sync Sheets, mas são registrados no DB se vierem via webhook.Pedidos com novo status. O sistema faz upsert (não apaga a linha).cancelled. Atualiza status na aba Pedidos.order.updated que muda o status sincroniza a planilha. No BDApp, considerar se on-hold → processing deve ou não atualizar o já-written.order_id (não order_id + status). O sistema verifica se woo_order_id já existe no DB antes de inserir. Se existir, faz UPDATE.status, updated_at, etc.| Col | Nome | Descrição |
|---|---|---|
| A | order_id | Número do pedido WooCommerce |
| B | data | Data/hora — DD/MM/YYYY HH:mm |
| C | cliente | Nome completo de billing |
| D | ||
| E | telefone | Telefone |
| F | total | Valor total — R$ X.XXX,XX |
| G | status | Status em PT-BR (processando, concluído, cancelado, estornado) |
| H | itens | Todos os itens concatenados: qtd × Nome (SKU) |
| I | endereço | Endereço completo de billing |
| J | cidade | Cidade |
| K | estado | UF com 2 letras |
| L | CPF | Capturado dos meta_data do WooCommerce |
| M | frete | Valor do frete — R$ X.XXX,XX |
| N | pagamento | Método: PIX, Cartão de crédito, Boleto, etc. |
| Coluna | Campo WooCommerce |
|---|---|
| order_id | id |
| data | date_created |
| cliente | billing.first_name + billing.last_name |
billing.email | |
| telefone | billing.phone |
| total | total (inclui frete e desconto) |
| status | status (mapeado para PT-BR) |
| itens | line_items → quantity × name (sku) |
| endereço | billing.address_1 + billing.number |
| cidade | billing.city |
| estado | billing.state |
| CPF | meta_data → _billing_cpf ou billing_cpf |
| frete | shipping_total |
| pagamento | payment_method_title |
"2 × Playboy 1984 (PB1984) | 1 × Nova 1987 (NV1987)".status, total, frete, itens (se adicionados) e CPF.000.000.000-00 é aplicada apenas na exibição da interface.payment_method_title do WooCommerce: "PIX", "Cartão de crédito", "Transferência bancária", etc.shipping_total. Se o pedido não tem frete (retirada), grava R$ 0,00 ou —. | . Formato: qtd × NomeDoProduto (SKU).DD/MM/YYYY HH:mm (ex: 20/05/2026 14:32)R$ X.XXX,XX com ponto de milhar e vírgula decimalXX XXXXX-XXXX (ex: 11 98765-4321)XXX.XXX.XXX-XX se o WooCommerce enviar formatado, senão salvo rawSP, RJ, MG)billing.email. CPF é um campo complementar, não a chave.total_gasto e qtd_pedidos são acumulados. O endereço é atualizado com o valor do pedido mais recente. Campos como nome e telefone são atualizados se vierem com valor (não sobrescreve com vazio).total_gasto = soma de total de todos os pedidos do clienteqtd_pedidos = contagem de pedidosClientes. É registrado apenas na aba Pedidos com cliente = "Anônimo" ou cliente = "SEM EMAIL".— ou deixa em branco na aba Clientes. Não impede o processamento. Pedidos de pessoas jurídicas (CNPJ) também podem ter CNPJ no lugar de CPF (campo _billing_cnpj).B (segunda coluna, imediatamente após PRODUTO).Status → Vendida (coluna E)Pedido → número do pedido WooCommerce (coluna F)Data da venda → data do pedido (coluna G)Preço venda → total da linha items (coluna H)date_created do pedido WooCommerce.line_items.Inventário. O pedido ainda é escrito na aba Pedidos. Um warning é logado: "SKU X não encontrado no inventário".line_item). Cada SKU vira uma linha separada na aba Inventário.SKU — código do produtoProduto — nome descritivoQtd — quantidade vendida (1 por linha)Pedido — número do pedidoCliente — nome do clienteCidade — cidade de entregaUF — estado de entregaEndereço — endereço completo de entregaCEP — CEP de entregaObservações — campo manual, não sobrescrito pelo sistemaSeparar).Separar NÃO é corrigida automaticamente. A linha original permanece. A correção é MANUAL (operador remove a linha).Separar não é alterada automaticamente. O operador precisa marcar manualmente como "separado" ou remover a linha.Observações é preservada.GET /api/analytics/backfill — busca TODOS os pedidos da WooCommerce API e upsert no DB + SheetsGET /api/cpf/db-backfill — backfill de CPFs?token=SECRETSeparar não é regenerada pelo backfill.woo_order_id. No Google Sheets, o sistema usa findOrCreateRow que busca a linha por order_id antes de escrever. Se encontrar, atualiza in-place.execId (ex: wh_1778363141020_5soojf). Os logs incluem: step (idempotency_check, process, db_write, sheets_sync), status (success/error/fatal), consecutive_errors, error (mensagem). Logs acessíveis via Polsia dashboard.POST /webhook/woocommerce?token=***woocommerce_webhook_secret configurado no WooCommerce. O middleware extrai o header X-Wc-Webhook-Signature, calcula HMAC do body, e compara. Se não bater, retorna 401. A validação HMAC é opcional mas recomendada.bancadasantigas@gmail.com. O JSON contém client_email que deve ter acesso de editor na planilha Google Sheets. Criado no Google Cloud Console.Pedidos, Clientes, Inventário e Separar precisam ser recriadas no DB./api/pinterest/feed.xml, /api/pinterest/feed.csv. Alimenta Pinterest Business Catalog. Atualiza diariamente. Requer: tabela pinterest_catalog populada + 15+ produtos safe./mercadolivre com 22 SKUs precificados. NÃO é automação contínua, é apenas uma página de referência.safe e prontos para submissão. Se o BDApp não suportar feed Pinterest, essa integração para.meta_data dos produtos WooCommerce via API REST). Atualização em lote de alt text de imagens. Roda sob demanda (não contínua). Esta automação ESCREVE no WooCommerce.BancaOS — Especificação de migração BDApp · 58 respostas documentadas
Gerado automaticamente em 20/05/2026