Skip to content

Catholically/SP-Label-Generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SP-Label-Generator

Tool standalone per generare etichette SpedirePro bypassando l'interfaccia web che blocca in attesa dell'ACK UPS sulla doganale.

URL Produzione: https://sp-label-generator.vercel.app

Problema Risolto

SpedirePro non rilascia le etichette finché i documenti doganali non vengono caricati e confermati da UPS. L'interfaccia web rimane bloccata in attesa.

Soluzione: Questa app usa le API SpedirePro direttamente per:

  1. Creare l'ordine
  2. Generare i PDF doganali (invoice + declaration)
  3. Caricarli su SpedirePro via API
  4. Sbloccare l'etichetta senza aspettare l'ACK manuale

Account SpedirePro

Ci sono due account separati:

Account Env Variable Uso Stato
DDP SPRO_API_KEY USA + EU (dazi prepagati) ✅ Implementato
DDU SPRO_API_KEY_NODDP Resto mondo (dazi a carico cliente) ⏳ Prossima release

Nota: Per ora l'app supporta solo DDP. DDU verrà aggiunto in futuro.

Funzionalita

  1. Crea etichetta via API SpedirePro (POST /create-label)
  2. Genera PDF doganale (invoice + declaration) - 2 pagine separate
  3. Upload doganale su SpedirePro (document_type: 1 = fattura, 2 = dichiarazione)
  4. Salva su Google Drive etichetta e doganale con struttura /MM/MMddyyyy/

Interfaccia

  • Contatti: Nabeel Malik (default) o copia/incolla da Shopify
  • Magazzino: Milano (MI) o Roma (RM)
  • Prodotti: Wooden Rosary, Holy Water, Religious Medal, Crucifix
  • Campi: Qty, USD, HS Code, Peso kg

Setup Vercel

Variabili Ambiente

SPRO_API_KEY=              # Account DDP (USA/EU) - OBBLIGATORIO

GOOGLE_SERVICE_ACCOUNT_EMAIL=
GOOGLE_SERVICE_ACCOUNT_PRIVATE_KEY=
GOOGLE_DRIVE_FOLDER_ID=

Deploy

npm install
vercel --prod

Struttura

SP-Label-Generator/
├── public/
│   └── index.html          # Frontend (dark theme, stile Customs-Generator)
├── api/
│   └── create-label.js     # API principale
├── lib/
│   └── country-codes.js    # Mapping country name → ISO code
├── package.json
├── vercel.json
└── README.md

Flusso

1. Utente inserisce indirizzo (o seleziona Nabeel)
2. Seleziona magazzino, tipo, prodotto
3. Click "Genera Etichetta"
   ↓
4. POST /api/create-label
   ├── Chiama SpedirePro /create-label
   ├── Riceve tracking + label_url
   ├── Download etichetta da AWS
   ├── Genera PDF doganale (PDFKit)
   ├── Upload etichetta su Google Drive
   ├── Upload doganale su Google Drive
   ├── Upload doganale su SpedirePro (2 document_type)
   └── Return URLs
   ↓
5. Frontend mostra status + download buttons

Flusso Tecnico

1. POST /api/create-label
   └── Chiama SpedirePro POST /create-label
   └── Riceve orderRef (etichetta non ancora pronta)

2. POST /api/check-status (polling manuale)
   ├── GET /shipments-list → cerca spedizione per receiver
   ├── POST /get-label → ottiene URL etichetta AWS
   ├── Download etichetta PDF
   ├── Genera Invoice PDF (PDFKit) → document_type: 1
   ├── Genera Declaration PDF (PDFKit) → document_type: 2
   ├── POST /api/documents/dogana/upload (x2)
   ├── POST /api/user/shipment/customs-uploaded (x2)
   ├── Upload su Google Drive (label + inv + dog)
   └── Return URLs

Note

  • Ordini NON legati a Shopify (uso standalone per test/emergenze)
  • Parsing smart indirizzo Shopify (skip "Contact information", "Shipping address")
  • HS Code auto-mapping per tipo prodotto
  • Stessa firma digitale di Customs-Generator (Shopify CDN)
  • I documenti doganali usano SEMPRE l'account DDP (anche se la spedizione è DDU)

Progetti Correlati

TODO

  • Supporto DDU (account NODDP) per resto mondo
  • Auto-polling invece di click manuale "Verifica Stato"

About

SpedirePro Label Generator - Bypass web interface for label creation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •