Documentazione · ordini
API custom del gestionale
Non tutte le aziende ricevono gli ordini web come ordine di vendita standard di Business Central. Alcune hanno un processo proprio — una tabella di importazione, una coda di lavorazione, un’anagrafica gestita internamente — che il partner BC espone con una API custom. i-Connect può scrivere lì invece che su salesOrders, senza sviluppi su misura: percorso, entità e mappatura dei campi si configurano dalla dashboard.
quando serve
Cosa cambia rispetto all’ordine standard
Un’API custom è quasi sempre più povera dell’ordine di vendita: è un punto di ingresso, non un documento. Conviene sapere prima cosa si guadagna e cosa si perde.
| Ordine standard | API custom | |
|---|---|---|
| Anagrafica cliente | la crea o riusa i-Connect dai dati fiscali | la gestisce il gestionale, in autonomia |
| Cliente di appoggio | obbligatorio | non serve: il campo sparisce |
| Numero ordine BC | restituito e mostrato sull’ordine | non disponibile: resta il riferimento di correlazione |
| Dimensioni globali e conti CoGe | impostabili | non applicabili: dipende dai campi della tabella |
| Trasporto e sconti | righe conto CoGe dedicate | campi della tabella, se previsti |
| Evadibilità | confronto delle righe sul documento | letta dai campi che scrive il gestionale |
| Causale (fattura / corrispettivo) | serve un campo esposto dall’estensione | in un campo della tabella, a scelta |
Requisiti dell’API
Prima di configurare, verifica col partner che l’API soddisfi questi punti. Sono gli stessi requisiti per qualunque gestionale: i-Connect non presuppone nomi di campo, li scopre.
- è raggiungibile con le stesse credenziali OAuth2 service-to-service già usate per la connessione BC (nessuna autenticazione separata);
- espone il
$metadatadel proprio gruppo API: è da lì che i-Connect legge campi, tipi e lunghezze massime; - accetta il POST di un record e supporta
$filtersul campo che correla le righe; - consigliato:
PATCHsul singolo record, per poter correggere o azzerare una riga inviata per errore (molte tabelle di staging non espongono ilDELETE).
Il modello: un record per riga
i-Connect scrive un record per ogni riga dell’ordine, ripetendo i dati di testata (cliente, indirizzi, riferimento) su ciascuno. Le righe di uno stesso ordine sono legate dal campo di correlazione, tipicamente il riferimento dell’ordine e-commerce.
POST .../api/<publisher>/<gruppo>/<versione>/companies({companyId})/<entità>
{ "documentReference": "RNNKVGABO", "itemNo": "PR2-5L", "quantity": "2", ... }
{ "documentReference": "RNNKVGABO", "itemNo": "HP12-1L", "quantity": "1", ... }Configurare il collegamento
Tutto avviene in Impostazioni → Flussi → Ordini verso Business Central. Le modifiche vengono salvate da sole: non c’è un pulsante di conferma.
- 1Alla voce Destinazione dell’ordine scegli “API custom — pubblicata da un’estensione del tuo partner BC”.
- 2Inserisci il percorso API, cioè quello che segue
/api/nell’URL che ti ha dato il partner:publisher/gruppo/versione. - 3Premi Rileva campi: i-Connect legge il servizio e ti mostra le entità disponibili con il numero di campi. Se ce n’è una sola viene selezionata da sé.
- 4Indica i campi di ritorno (vedi sotto) e il separatore decimale, poi associa ogni campo dell’API al dato dell’ordine corrispondente.
preset
I campi di ritorno
Sono i campi che scrive il gestionale e che i-Connect si limita a leggere: sono il modo in cui l’ERP risponde. Indicarli è ciò che rende l’integrazione bidirezionale invece che un invio cieco.
| Campo | A cosa serve | Se non lo indichi |
|---|---|---|
| Convertito | segnala che il gestionale ha davvero creato l’ordine a partire dal record | l’ordine resta “Inviato a BC” e non avanza mai di stato |
| Evadibile | la riga è spedibile | l’evadibilità non viene mai determinata |
| Quantità allocata | quanto è stato realmente impegnato: confrontata con la quantità ordinata | niente evadibilità parziale, solo evadibile / non evadibile |
| Messaggi di errore | il motivo di una conversione fallita (articolo inesistente, cliente non creabile) | gli errori del gestionale non compaiono nei log dell’ordine |
non sono mappabili
Formato dei numeri
Molte tabelle di importazione dichiarano tutti i campi come testo, quantità e importi compresi. In quel caso è il gestionale a interpretarli, quindi il separatore decimale va concordato: un 38,10 letto all’inglese diventa trentottomilacento. Scegli il separatore che ti indica il partner; i-Connect non usa mai il separatore delle migliaia e scrive le quantità senza decimali forzati (3, non 3,00). Se invece i campi sono numerici veri, la scelta è ininfluente.
Totali di trasporto e sconto
Dato che la testata si ripete su ogni riga, chiedi al partner se i totali vanno ripetuti su tutte le righe o scritti solo sulla prima: dipende da come li rilegge il suo processo. Sbagliare significa spese di spedizione contate più volte. L’interruttore è in configurazione.
Come lavora l’invio
- Invio riga per riga, riprendibile: i-Connect registra ogni riga scritta man mano. Se l’invio si interrompe (timeout, riavvio), il tentativo successivo riparte dalla prima riga mancante invece di riscrivere l’ordine da capo. Queste API di solito non hanno protezione contro i duplicati, quindi la garanzia la mette i-Connect.
- Salvaguardia sui duplicati: se sull’API risultano già righe con quel riferimento ma i-Connect non ne ha traccia, l’invio si ferma e te lo segnala, invece di rischiare un ordine doppio.
- Lunghezze rispettate: i valori vengono adattati alle lunghezze massime dichiarate dal servizio, così un nome lungo non fa rifiutare l’intero ordine.
- Verifica dell’esito: come per l’ordine standard non avviene mai a intervalli di tempo, ma dal bottone sull’ordine o dal webhook di ritorno. Finché il gestionale non dichiara il record convertito, l’ordine resta “Inviato”: nessuno stato viene inventato.
Verificare che funzioni
- 1Manda un ordine di prova dal negozio e controlla i log: deve comparire il numero di righe scritte e il riferimento usato.
- 2Apri la tabella su Business Central e verifica che le righe ci siano, con importi e quantità nel formato atteso.
- 3Quando il gestionale ha elaborato il record, premi Verifica su BC sull’ordine: lo stato deve passare a evadibile, parziale o non evadibile.
prima di andare in produzione
DELETE, i record di prova non sono eliminabili da i-Connect: potrai solo azzerarli, e la pulizia va chiesta al partner.