Logística
Zipnova
Integración con Zipnova — paquetería con saldo prepaid, 29 estados normalizados a 7 categorías, webhooks. Slug: zipnova.
Datos disponibles
- Guías con detalle: tracking, eventos, contenido, costo, fechas.
- Saldo (billing): balance, available, credit_limit. Visible en métricas.
- 29 estados normalizados a 7 categorías (incluye DEVOLUCION, SINIESTRADO).
Cómo conectar
Desde Onboarding → Zipnova → ingresa Basic Auth credentials. Validamos contra GET /accounts, encriptamos, y registramos automáticamente 3 webhooks (status, shipment, account_balance). Sync inicial directo (no via per-seller fan-out).
Webhooks
POST /api/webhooks/zipnova responde 200 inmediato y procesa async vía after(). Status/shipment fetcha el detail y upserta. Account_balance actualiza saldo.
Sync
3 Inngest functions: initial self-chaining + reconciliation daily + per-seller recon (skip unchanged). NO crons periódicos — los webhooks manejan incrementales, la reconciliación diaria es red de seguridad.
Detalles técnicos
- Rate limiter sliding-window 800 req/min con backoff en 429/5xx.
- Zipnova fuerza
per_page=20(ignora valores mayores). Usamosmeta.last_pagede la API, no nuestro cálculo. - Sin payment normalization — Zipnova es logística, no ventas.
- Cross-references con ML:
order.channel_relations→ pack_id + tags.