- Add startup wizard module for first-run configuration - Add white-label branding system with .product file support - Add bot manager for lifecycle, MinIO buckets, and templates - Add version tracking registry for component updates - Create comparison doc: BASIC vs n8n/Zapier/Make/Copilot - Add WhatsApp-style sample dialogs to template documentation - Add data traceability SVG diagram ```
118 lines
No EOL
3.6 KiB
Markdown
118 lines
No EOL
3.6 KiB
Markdown
# Bling ERP Integration (.gbdialog)
|
|
|
|
This package provides complete integration with [Bling ERP](https://www.bling.com.br/) for data synchronization and conversational commerce.
|
|
|
|
## Scripts
|
|
|
|
| File | Description |
|
|
|------|-------------|
|
|
| `start.bas` | Welcome message and system prompt configuration |
|
|
| `tables.bas` | Database schema definitions for all synced entities |
|
|
| `sync-erp.bas` | Main ERP synchronization (products, orders, contacts, vendors) |
|
|
| `sync-accounts.bas` | Accounts payable and receivable synchronization |
|
|
| `sync-inventory.bas` | Stock/inventory levels synchronization |
|
|
| `sync-suppliers.bas` | Supplier/vendor data synchronization |
|
|
| `add-stock.bas` | Manual stock adjustment tool |
|
|
| `data-analysis.bas` | LLM-powered data analysis and reporting |
|
|
| `refresh-llm.bas` | Scheduled LLM context refresh |
|
|
|
|
## Configuration
|
|
|
|
Configure the integration in `bling.gbot/config.csv`:
|
|
|
|
| Parameter | Description |
|
|
|-----------|-------------|
|
|
| `param-blingClientID` | Bling API Client ID |
|
|
| `param-blingClientSecret` | Bling API Client Secret |
|
|
| `param-blingHost` | Bling API base URL |
|
|
| `param-host` | API endpoint (default: `https://api.bling.com.br/Api/v3`) |
|
|
| `param-limit` | Records per page for API calls |
|
|
| `param-pages` | Maximum pages to sync |
|
|
| `param-admin1` | Primary admin email for notifications |
|
|
| `param-admin2` | Secondary admin email for notifications |
|
|
|
|
## Synchronized Entities
|
|
|
|
### Products (`maria.Produtos`)
|
|
- Product details, SKU, pricing
|
|
- Product variations and hierarchy
|
|
- Product images (`maria.ProdutoImagem`)
|
|
|
|
### Orders (`maria.Pedidos`)
|
|
- Sales orders with line items (`maria.PedidosItem`)
|
|
- Payment parcels (`maria.Parcela`)
|
|
|
|
### Contacts (`maria.Contatos`)
|
|
- Customers and suppliers
|
|
- Address and billing information
|
|
|
|
### Vendors (`maria.Vendedores`)
|
|
- Sales representatives
|
|
- Commission and discount limits
|
|
|
|
### Financial
|
|
- Accounts Receivable (`maria.ContasAReceber`)
|
|
- Accounts Payable (`maria.ContasAPagar`)
|
|
- Payment Methods (`maria.FormaDePagamento`)
|
|
- Revenue Categories (`maria.CategoriaReceita`)
|
|
|
|
### Inventory
|
|
- Stock by Warehouse (`maria.Depositos`)
|
|
- Product Suppliers (`maria.ProdutoFornecedor`)
|
|
- Price History (`maria.HistoricoPreco`)
|
|
|
|
## Scheduled Jobs
|
|
|
|
The following schedules are configured:
|
|
|
|
| Job | Schedule | Description |
|
|
|-----|----------|-------------|
|
|
| `sync-erp.bas` | Daily at 22:30 | Full ERP synchronization |
|
|
| `sync-accounts.bas` | Every 2 days at midnight | Financial accounts sync |
|
|
| `sync-inventory.bas` | Daily at 23:30 | Stock levels update |
|
|
| `refresh-llm.bas` | Daily at 21:00 | Refresh LLM context |
|
|
|
|
## Data Analysis
|
|
|
|
The `data-analysis.bas` script enables natural language queries against synced data:
|
|
|
|
**Example queries:**
|
|
- "Which products have excess stock that can be transferred?"
|
|
- "What are the top 10 best-selling products?"
|
|
- "What is the average ticket for each store?"
|
|
- "Which products need restocking?"
|
|
|
|
## Usage
|
|
|
|
### Manual Stock Adjustment
|
|
|
|
Vendors can adjust stock via conversation:
|
|
|
|
```basic
|
|
REM User provides SKU and quantity
|
|
REM Stock is updated in Bling and local database
|
|
```
|
|
|
|
### Running Sync Manually
|
|
|
|
```basic
|
|
RUN "sync-erp.bas"
|
|
RUN "sync-accounts.bas"
|
|
RUN "sync-inventory.bas"
|
|
```
|
|
|
|
## API Integration
|
|
|
|
All API calls use the Bling v3 REST API with pagination support:
|
|
|
|
- Products: `GET /produtos`
|
|
- Orders: `GET /pedidos/vendas`
|
|
- Contacts: `GET /contatos`
|
|
- Inventory: `GET /estoques/saldos`
|
|
- Accounts: `GET /contas/receber`, `GET /contas/pagar`
|
|
|
|
## Related Documentation
|
|
|
|
- [Bling API Documentation](https://developer.bling.com.br/)
|
|
- [General Bots BASIC Reference](../../docs/src/chapter-06-gbdialog/README.md)
|
|
- [Template Guide](../../README.md) |