Bling v3 API — contatos, pedidos, produtos e lançamentos financeiros.
Nó Bling
O nó de workflow Bling chama a Bling API v3 — ERP brasileiro amplamente usado para pedidos de venda, produtos, contatos, estoque, ordens de compra e NF-e/NFC-e. Usa OAuth via Connected services WhatsWave; o access token é injetado automaticamente em runtime.
Node ID no editor: bling_request
Base URL: https://api.bling.com.br/Api/v3
Auth: Authorization: Bearer {{bling_access_token}} (auto-injetado do connected service)
O que faz
- Envia requisições REST autenticadas para Bling API v3
- Suporta GET, POST, PUT e DELETE
- Retorna status, data e headers
- Oferece 20+ operações pré-construídas para pedidos, produtos, contatos, estoque, NF-e e mais
- Em chamadas GET list, mescla campos Page, Limit e filtros na query string automaticamente
Pré-requisitos
- Conta Bling com acesso à API
- Bling conectado como Connected service na WhatsWave:
- Configurações → API Keys → Connected services
- Adicione Bling e complete autorização OAuth
- O workflow deve pertencer a uma company (obrigatório para resolução de token OAuth)
- Selecione a conta Bling conectada no campo Connected service do nó
O Bling usa OAuth 2.0 — você não armazena
bling_access_tokenmanualmente em integration keys. A WhatsWave renova e injeta o token quando o nó executa.
Como configurar
Passo 1 — Conectar Bling (OAuth)
- Acesse Configurações → API Keys
- Em Connected services, clique Add service → Bling
- Faça login no Bling e autorize a WhatsWave
- Anote o nome do connected service — você o selecionará no nó do workflow
Passo 2 — Adicionar o nó
- Abra Automações
- Arraste Bling da paleta ERP para o canvas
- Em Connected service, selecione sua conexão Bling (obrigatório)
Passo 3 — Escolher operação ou endpoint customizado
| Campo | Obrigatório | Descrição |
|---|---|---|
| Connected service | Sim | Conta Bling vinculada via OAuth |
| URL / Endpoint | Sim | Caminho completo ou base — ex.: https://api.bling.com.br/Api/v3/pedidos/vendas |
| Method | Não | GET, POST, PUT, DELETE (padrão: GET) |
| Headers (JSON) | Não | Padrão inclui Bearer auth — geralmente mantenha o template |
| Body (JSON) | Não | Obrigatório para operações POST/PUT create/update |
Filtros de listagem (requisições GET)
Para endpoints de listagem, use os campos de filtro dedicados — a WhatsWave os mescla na query string como o Bling espera (pagina, limite, nome, etc.):
| Campo do nó | Query param Bling | Descrição |
|---|---|---|
| Página (pagina) | pagina | Número da página (padrão 1) |
| Limite por página (limite) | limite | Tamanho da página (padrão 100) |
| Critério listagem produtos (criterio) | criterio | Critério de listagem de produtos (2 = ativo) |
| Tipo produto (tipo) | tipo | Tipo de produto (T, P, S, E, …) |
| Filtro por nome (nome) | nome | Filtro por nome |
| ID categoria (idCategoria) | idCategoria | ID da categoria |
| ID contato / cliente (idContato) | idContato | ID contato/cliente |
| Data inicial (dataInicial) | dataInicial | Data início YYYY-MM-DD |
| Data final (dataFinal) | dataFinal | Data fim YYYY-MM-DD |
| Número do pedido (numero) | numero | Número do pedido |
| CPF/CNPJ (numeroDocumento) | numeroDocumento | CPF/CNPJ apenas dígitos |
| Alteração inicial/final | dataAlteracaoInicial / dataAlteracaoFinal | Intervalo de alteração de contato |
Você pode manter a URL apenas como caminho base de listagem — ex.: https://api.bling.com.br/Api/v3/pedidos/vendas — e definir filtros nos campos do nó. Campos de filtro vazios são omitidos da query.
Operações pré-construídas
| Operação | Method | Endpoint | Finalidade |
|---|---|---|---|
| Listar pedidos de venda | GET | /pedidos/vendas | Listar pedidos de venda |
| Buscar pedido de venda por ID | GET | /pedidos/vendas/{{pedido_id}} | Obter pedido por ID |
| Criar pedido de venda | POST | /pedidos/vendas | Criar pedido de venda |
| Listar produtos | GET | /produtos | Listar produtos |
| Buscar produto por ID | GET | /produtos/{{produto_id}} | Obter produto |
| Criar produto | POST | /produtos | Criar produto |
| Listar categorias de produtos | GET | /categorias/produtos | Categorias de produtos |
| Listar contatos | GET | /contatos | Listar contatos |
| Buscar contato por ID | GET | /contatos/{{contato_id}} | Obter contato |
| Criar contato | POST | /contatos | Criar contato |
| Atualizar contato | PUT | /contatos/{{contato_id}} | Atualizar contato |
| Listar formas de pagamento | GET | /formas-pagamentos | Formas de pagamento |
| Listar depósitos | GET | /depositos | Depósitos |
| Consultar saldos de estoque | GET | /estoques/saldos | Saldos de estoque |
| Listar ordens de compra | GET | /ordens-compras | Ordens de compra |
| Listar borderôs | GET | /borderos | Borderôs |
| Listar contratos | GET | /contratos | Contratos |
| Listar NF-e | GET | /nfe | Listar notas fiscais eletrônicas |
| Emitir NF-e | POST | /nfe | Emitir NF-e |
| Emitir NFC-e | POST | /nfce | Emitir nota fiscal consumidor |
| Dados da empresa | GET | /empresas/dados | Perfil da empresa |
Exemplo — listar pedidos recentes
- Connected service: sua conta Bling
- Operation: Listar pedidos de venda
- Data inicial:
2026-01-01 - Data final:
2026-01-31 - Página:
1 - Limite:
50
Exemplo — criar contato (POST)
- URL:
https://api.bling.com.br/Api/v3/contatos - Method:
POST - Body:
{
"nome": "{{contact.name}}",
"tipo": "F",
"situacao": "A",
"email": "{{contact.email}}",
"celular": "{{contact.phone}}"
}
Passo 4 — Usar dados da resposta
Bling v3 tipicamente retorna { "data": [...] } para listas. Referencie em nós posteriores:
{{bling_1.data.data}}
{{bling_1.data.data[0].id}}
Use Loop ou JavaScript para processamento de arrays.
Saídas do nó
| Campo de saída | Descrição |
|---|---|
status | HTTP status code |
data | Corpo da resposta JSON parseado |
headers | Response headers |
Dicas e boas práticas
- Sempre selecione Connected service — sem isso, o nó não obtém token OAuth
- Use campos de filtro em GET lists — mais limpo que montar query strings manualmente na URL
- Paginação padrão — se
paginaelimiteestiverem vazios, WhatsWave usa página1e limite100 - Path variables — use
{{pedido_id}},{{produto_id}},{{contato_id}}em URLs para operações get-by-ID - Payloads NF-e são complexos — comece pela referência da API Bling e teste em conta sandbox antes de automação em produção
- Armazene Bling IDs nos contatos — salve
contato_ide order IDs em custom fields para reutilização entre workflows - Combine com E-commerce — sincronize pedidos Bling após webhooks NuvemShop/Shopify para notificações unificadas de fulfillment
- Reautorize se 401 persistir — reconecte Bling em Connected services se a grant OAuth foi revogada
Exemplos de uso
Alerta WhatsApp em novo pedido Bling
- Schedule — a cada 15 minutos
- Bling — listar pedidos com
dataAlteracaoInicial= timestamp da última execução (armazenar em workflow variable) - Loop novos pedidos
- Send WhatsApp — confirmação de pedido ao telefone do cliente a partir dos dados de contato
Notificação de estoque baixo
- Schedule — diário
- Bling — Consultar saldos de estoque
- JavaScript — filtrar SKUs abaixo do limite
- Send WhatsApp — alerta interno para equipe de operações
Criar contato Bling a partir de lead CRM
- Webhook — card CRM movido para "Won"
- Bling — Criar contato com nome, e-mail e telefone do lead
- Variable — salvar contact ID retornado no custom field do card CRM
Emitir NF-e após aprovação do pedido
- Webhook — evento interno de aprovação com
pedido_id - Bling — Emitir NF-e com referência do pedido no body (conforme spec Bling API)
- Condition — verificação de sucesso no HTTP status
- Send WhatsApp — link NF-e ao cliente
FAQ
Por que erro "Select connected service"?
O nó exige conexão OAuth Bling. Conecte Bling em Configurações → API Keys → Connected services e selecione no nó.
Por que erro "Associate workflow to a company"?
Tokens OAuth são escopados por company. Garanta que o workflow executa em contexto de company (normal em workflows de produção).
Preciso definir Authorization header manualmente?
Não — a WhatsWave injeta Bearer {{bling_access_token}} do connected service. Pode manter o template de header padrão.
Por que meus query params são ignorados em POST?
Merge de query roda apenas em requisições GET para caminhos de listagem api.bling.com.br/Api/v3/. POST bodies usam o campo Body (JSON).
Posso chamar Bling API v2?
Este nó aponta para v3 (/Api/v3/). Para endpoints v2 legados, use o nó HTTP com auth manual.
Como paginar todos os pedidos?
Use Loop incrementando bling_pagina até o array data da resposta estar vazio.
Referência da API
| Item | Valor |
|---|---|
| Base URL | https://api.bling.com.br/Api/v3 |
| Auth | OAuth 2.0 Bearer token (Connected service) |
| Content-Type | application/json |
| Docs oficiais | Bling API Reference |
| OAuth setup | WhatsWave Configurações → API Keys → Connected services |
Relacionado
Este artigo foi útil?
Precisa de mais ajuda? Falar com suporte