JoDa Sign Agent
JoDa Sign Agent
Section titled “JoDa Sign Agent”Actief n8n workflow W0kpsilNT8MmAnTQ · Port 4071 · DB magic_b2b_jodasign
Overzicht
Section titled “Overzicht”De JoDa Sign Agent is de conversationele AI-assistent voor het B2B portaal van JoDa Sign.
| Component | Waarde |
|---|---|
| n8n workflow ID | W0kpsilNT8MmAnTQ |
| n8n workflow naam | Magic Agent Jodasign |
| Agent API port | 4071 |
| Agent database | magic_agent_jodasign |
| Commerce database | magic_b2b_jodasign |
| Storefront | https://jodasign.magiceverse.online |
| Admin | https://admin-jodasign.magiceverse.online |
n8n Workflow (89 nodes)
Section titled “n8n Workflow (89 nodes)”Webhooks
Section titled “Webhooks”| Webhook pad | Functie |
|---|---|
magic-agent/jodasign/check-stock | Voorraad opvragen |
magic-agent/jodasign/get-business-hours | Openingstijden opvragen |
magic-agent/jodasign/get-price-quote | Prijsofferte berekenen |
magic-agent/jodasign/request-discount | Kortingsaanvraag indienen |
magic-agent/jodasign/get-delivery-time | Levertijd opvragen |
magic-agent/jodasign/search-products | Producten zoeken |
magic-agent/chloe/generate-artwork | Artwork genereren via Chloe |
magic-agent/jodasign/create-order | Bestelling aanmaken |
quotation/complete-flow | Offerte volledige flow |
jodasign-teams-escalation | Teams escalatie (workflow Ns00ois1yNrLJslZ) |
Database credential
Section titled “Database credential”n8n credential “Jodasign PostgreSQL” (yg7FCNoo61pJXsVv):
- Host:
192.168.1.26:5432 - Database:
magic_b2b_jodasign
Database tabellen
Section titled “Database tabellen”Extra tabellen aangemaakt in magic_b2b_jodasign:
| Tabel | Functie |
|---|---|
aplt_stock | Voorraadinformatie per SKU |
aplt_business_hours | Openingstijden per weekdag (voorgevuld ma-zo) |
aplt_price_tiers | Prijsstaffels per SKU |
aplt_print_techniques | Druktechnieken en kosten |
discount_requests | Kortingsaanvragen (status: pending/approved/rejected) |
Standaard openingstijden:
- Ma–vr: 09:00–17:00
- Za: 10:00–14:00 (gesloten)
- Zo: gesloten
Flowbuilder Flows
Section titled “Flowbuilder Flows”Geconfigureerd in magic_agent_jodasign, toegankelijk via https://agent.magiceverse.online/flowbuilder/ → agent: jodasign
| ID | Naam |
|---|---|
| 25 | JoDa Sign Hoofdmenu |
| 17 | Offerte Aanvragen Compleet |
| 20 | Sampleorder Flow |
| 24 | Product Foto Zoeken |
| 26 | Product Zoeken |
| 27 | Voorraad Checken |
| 28 | Offerte Aanvragen |
| 29 | Offerte Goedkeuren |
Widget configuratie
Section titled “Widget configuratie”De chatwidget laadt via /store/customers/me auth-detectie met:
data-agent="jodasign"data-tenant="jodasign"data-api-url="https://agent.magiceverse.online"Offerte Flow — Van tekst naar offerte met artwork
Section titled “Offerte Flow — Van tekst naar offerte met artwork”Het complete offerte-proces verloopt in 4 stappen:
Stap 1: Offerte aanmaken via n8n
Section titled “Stap 1: Offerte aanmaken via n8n”De gebruiker beschrijft de offerte in vrije tekst (bijv. “offerte voor artikel 100806-001 in 300 stuks met zeefdruk”). De quotation-request.ts API parsed dit met Claude AI en maakt de offerte aan in de database.
Daarna triggert de flowbuilder flow de n8n webhook jodasign-agent/offerte-aanmaken die:
- Product prijs ophaalt uit
aplt_products - Offerte header + regels aanmaakt in
aplt_quotation_headers/aplt_quotation_lines - Klantinfo ophaalt via
/api/session-info - Email stuurt via
jodasign-send-emailwebhook
n8n webhook: POST http://localhost:8090/webhook/jodasign-agent/offerte-aanmaken
{ "foto_resultaat": { "beste": "100806-001", "product_name": "Laptop rugzak" }, "offerte_stuks": 300, "offerte_printtechniek": "zeefdruk", "offerte_artwork": "met_artwork", "logo_base64": "data:image/png;base64,...", "session_id": "chat_xxx"}Response: { success, quotation_number, quotation_id, customer_email, message }
Stap 2: 2D Artwork genereren via Magic Logo
Section titled “Stap 2: 2D Artwork genereren via Magic Logo”De artwork wordt gegenereerd door de Magic Logo backend (logo.magiceverse.online). Die leest de SVG van het product, haalt de centroid positionering uit de magic_logo database, en plaatst het logo op de juiste positie.
Endpoint: POST https://logo.magiceverse.online/api/artwork/generate
{ "product_sku": "100806-001", "technique_code": "Screen Transfer OS", "logo_base64": "data:image/png;base64,..."}Response: { success, data: { artwork_url, artwork_path, technique_name, print_area } }
Stap 3: 3D Preview genereren
Section titled “Stap 3: 3D Preview genereren”De 3D preview wordt gegenereerd via Puppeteer + SwiftShader die de Three.js viewer (spranz-3d.magiceverse.online) opent met het product + logo en een screenshot maakt.
Dit gebeurt automatisch in de logo-preview API en wordt opgenomen in de offerte PDF.
Stap 4: Email versturen via n8n
Section titled “Stap 4: Email versturen via n8n”De email met offerte PDF, 2D artwork en origineel logo wordt verstuurd via de n8n jodasign-send-email webhook.
n8n webhook: POST http://localhost:8090/webhook/jodasign-send-email
{ "to": "klant@email.nl", "subject": "Offerte Q-2026-XXXX - JoDa Sign", "html": "<html>...</html>"}SMTP credentials: portal@magiceverse.nl via mail.magiceverse.nl:587 (n8n credential: “JoDa Sign SMTP”)
Betrokken services
Section titled “Betrokken services”| Service | URL/Port | Functie |
|---|---|---|
| JoDa Sign Agent | localhost:4071 | Chat API, quotation-request, logo-preview |
| n8n (magic_n8n) | localhost:8090 | Offerte aanmaken, email versturen |
| Magic Logo Backend | logo.magiceverse.online | 2D artwork genereren |
| 3D Viewer | spranz-3d.magiceverse.online | 3D preview (via Puppeteer) |
| SMTP | mail.magiceverse.nl:587 | Email verzending |
Databases
Section titled “Databases”| Database | Functie |
|---|---|
magic_b2b_jodasign | Offerte headers, regels, producten, technieken |
magic_agent_jodasign | Flowbuilder flows, chat sessies |
magic_logo | SVG paths, centroid data, technique positionering |
Product images
Section titled “Product images”XD Connect producten: /mnt/data/pim_data/svg/xdconnects/{sku}.svg
Spranz producten: /mnt/data/pim_data/spranz/{sku}.jpg
n8n Backup
Section titled “n8n Backup”Dagelijkse backup om 23:30 via /opt/backup/backup-n8n.sh:
- Database + config:
/opt/backup/n8n/ - NAS:
/mnt/nas-backup/n8n/database-backups/ - Workflow exports als JSON
- Retention: 30 dagen
Beheer
Section titled “Beheer”# n8n workflow status checkencurl -s -c /tmp/n8n_cookies -X POST http://localhost:8090/rest/login \ -H "Content-Type: application/json" \ -d '{"emailOrLdapLoginId":"wayne@apptractive.nl","password":"<your-db-password>"}' > /dev/nullcurl -s -b /tmp/n8n_cookies http://localhost:8090/rest/workflows/W0kpsilNT8MmAnTQ | \ python3 -c "import json,sys; d=json.load(sys.stdin)['data']; print('active:', d['active'])"
# n8n backup handmatig draaien/opt/backup/backup-n8n.sh
# Offerte test scriptpython3 /tmp/test_jodasign_full.py