Skip to main content
O Bling é um dos ERPs mais usados por e-commerces brasileiros. A integração com o BulkRoute importa pedidos pagos como shipments e devolve o tracking code para o Bling.

Como funciona

Conectando

1. Autorizar OAuth 2.0

O Bling usa OAuth 2.0 (API v3). O fluxo é:
  1. Acesse Integrações > Bling
  2. Clique em Conectar Bling
  3. Você será redirecionado para o Bling (https://www.bling.com.br/Api/v3/oauth/authorize) — faça login e autorize
  4. O Bling retorna para o BulkRoute no endpoint /integrations/bling/callback com o código de autorização
  5. O BulkRoute troca o código por access_token e refresh_token e armazena na integração
O refresh_token é usado automaticamente quando o access_token expira. Você não precisa reconectar manualmente enquanto o refresh token for válido.

2. Mapear carriers

O Bling identifica transportadoras por transporte.transportadora.id (ID numérico). O BulkRoute usa códigos (ex: BRASPRESS, CORREIOS). Você precisa mapear via Integrações > Bling > Mapeamentos: Se não houver mapeamento, o BulkRoute faz fallback por nome: se o nome da transportadora contiver “CORREIOS”, “JADLOG” ou “BRASPRESS”, usa o carrier correspondente; caso contrário, usa BLING.

3. Disparar sincronização

A sincronização é manual — não há cron automático. Para importar pedidos:
  1. Em Integrações > Bling, clique em Sincronizar Agora
  2. Escolha o tipo de sync:
    • orders — importa pedidos pagos do Bling
    • tracking — envia tracking codes de volta ao Bling
    • full — executa ambos
  3. O job entra na fila BullMQ e processa em background (concurrency 2)
  4. Acompanhe o progresso em Sync History
Você também pode reprocessar um sync que falhou via Sync History > Retry.

O que é importado

Para cada pedido no Bling, o BulkRoute cria um shipment com: Metadados adicionais salvos: blingOrderId, blingCarrierName, blingCarrierId, syncedAt. O status inicial do shipment é sempre PENDING e is_own_fleet: false.

Sincronização de tracking

Quando o BulkRoute gera um tracking code para um shipment originado do Bling:
  1. O sync tracking busca shipments com tracking_code preenchido e metadata.blingOrderId (limite 200 por execução)
  2. Para cada um, chama POST /pedidos/vendas/{orderId}/rastreio na API v3 do Bling
  3. Corpo enviado:
  4. O Bling atualiza o pedido com o tracking code

Endpoints da API BulkRoute

Rate limit e retry

  • O Bling API tem rate limit. Quando retorna 429 Too Many Requests, o BulkRoute respeita o header Retry-After (default 2s) e tenta novamente (até 3 vezes)
  • A fila BullMQ tem 3 tentativas com backoff exponencial de 10s
  • Concorrência do worker: 2 jobs em paralelo

Troubleshooting