Fattura WEb Api

| Category: web api| website: Tag Sistemi

Questa web api consente di inviare i dati del carrello del sito e ricevere il pdf della fattura generata su mago

Caratteristiche funzionali:

Metodi rest: La web api è stata realizzata in ambiente ASP NET Core ed espone un metodo POST a cui è possibile inviare (nel body della richiesta) un struttura Json (envelope fattura) in cui sono presenti tutti i dati necessari alla generazione del documento. Come risposta alla chiamata verrà restituito un envelope di risposta in cui sarà specificato l'esito , gli eventuali avvisi o errori e il byte array contenente il la fattura in formato pdf

Envelope fattura: la struttura json da inviare nel body della chiamata post

{
    "idEnvelope": 0,
    "recordCliente": {
        "custSupp": "2aq4a",
        "companyName": "Cliente 2aq4a",
        "companyNameUnicode": "吴丽平company name unicode 2aq4a",
        "taxIdNumber": "PI2aq4a",
        "fiscalCode": "CF2aq4a",
        "address": "inidirizzo cliente",
        "addressUnicode": "inidirizzo cliente Unicode",
        "zipCode": "90100",
        "zipCodeUnicode": "吴丽平 ZIP",
        "city": "citta ",
        "cityUnicode": " 吴丽平 citta unicode",
        "county": "PA",
        "country": "paese ",
        "email": "cliente2aq4a@email.it",
        "isoCountryCode": "IT",
        "naturalPerson": true
    },
    "recordDestinazione": {
        "shippingDestinationCompanyName": "Company name destinazione",
        "shippingDestinationAddress": "Company name destinazione inidirizzo",
        "shippingDestinationZipCode": "ZIP dest",
        "shippingDestinationCity": "citta destinazione",
        "shippingDestinationNation": "nazione destinazione",
        "shippingDestinationCounty": "PA",
        "shippingCharges": "20",
        "shippingChargesIsAuto": false,
        "shippingChargesTaxCode": "22",
        "departureDate": "2018-01-30",
        "departureHr": "10",
        "departureMn": "30",
        "noOfPacks": "1",
        "grossWeight": "100",
        "package": "Cartoni",
        "codeCarrier": "TNT",
        "trackingNumber": "track 100",
        "customDeclaration": "Custom Declaration",
        "material": "Material",
        "stampaWashington": false
    },
    "recordFattura": {
        "idDoc":0
        "documentDate": "2018-01-30",
        "payment": "001",
        "paymentDescription": "",
        "azioneComunicazioneIva": "",
        "currency": "EUR",
        "accTpl": "FE",
        "righeFattura": [
            {
                "line": 0,
                "lineType": 3538947,
                "item": "260489.028.042",
                "description": "riga 1 kjahs kjhs kajhs kajsh as",
                "uoM": "NR",
                "qty": 1,
                "notes": "100 AF",
                "unitValue": 150.33,
                "discountFormula": "",
                "discountAmount": 0,
                "taxCode": "22"
            },
            {
                "line": 1,
                "lineType": 3538947,
                "item": "260489.028.043",
                "description": "riga due kjahs kjhs kajhs kajsh as",
                "uoM": "NR",
                "qty": 1,
                "notes": "100 AF",
                "unitValue": 150,
                "discountFormula": "",
                "discountAmount": 0,
                "taxCode": "22"
            },
            {
                "line": 2,
                "lineType": 3538944,
                "item": "",
                "description": "riga Nota FFGGGGGGGFG _ FGHGFHGFHG-FGHGFHGFHG",
                "uoM": "NR",
                "qty": 1,
                "notes": "",
                "unitValue": 0,
                "discountFormula": "",
                "discountAmount": 0,
                "taxCode": ""
            }
        ],
        "righeNote": [
            {
                "categoria": "001",
                "rigaNota": 1,
                "rigaCorpo": 0,
                "nota": "contenuti prima riga nota categoria 001"
            },
            {
                "categoria": "001",
                "rigaNota": 2,
                "rigaCorpo": 0,
                "nota": "contenuti seconda riga nota categoria 001"
            },
            {
                "categoria": "002",
                "rigaNota": 1,
                "rigaCorpo": 1,
                "nota": "contenuti prima riga nota categoria 002 sulla riga nr 1 della fattura"
            },
            {
                "categoria": "002",
                "rigaNota": 2,
                "rigaCorpo": 1,
                "nota": "contenuti seconda riga nota categoria 002 sulla riga nr 1 della fattura"
            }
 
        ],
        "yourReference": ""
    },
    "recordSpese": {
        "amountAllowance": 0,
        "discounts": 0,
        "shippingCharges": null,
        "departureHr": null,
        "departureMn": null,
        "grossWeight": null
    },
    "recordNotaCredito": {
        "dataFattura": "2000-12-31",
        "nrFattura": ""
    }
}
                        

La struttura contiene i dati del cliente (tramite un id univoco è gestito il richiamo o l'inserimento del nuovo cliente), il corpo fattura, i dati di destinazione (sono tutti campi di tipo unicode e verranno memorizzati in un record di una tabella aggiuntiva a mago relazionata con la fattura generata), le righe note (le note sono gestite a categorie note di testa/piede e note di corpo relative al rigo). E' possibile , inoltre, emettere Note Credito semplicemente specificando nel campo "accTpl": "NE" nel record fattura e la data e in nr di fattura emessa a cui la nota credito fa riferimento. E' prevista anche la possibilita di variare la fattura semplicemente inserendo nell'envelope l'id della fattura da modificare

Envelope risposta: la struttura json di risposta

{
    "invoiceEnvelopRequest": {
        "idEnvelope": "0",
        "recordCliente": {
            "custSupp": "7878",
            "companyName": "Cliente 1z2hv",
            "companyNameUnicode": "吴丽平company name unicode 1z2hv",
            "taxIdNumber": "PI1z2hv",
            "fiscalCode": "CF1z2hv",
            "address": "",
            "addressUnicode": "",
            "zipCode": "90100",
            "zipCodeUnicode": "吴丽平 ZIP",
            "city": "citta ",
            "cityUnicode": " 吴丽平 citta unicode",
            "county": "PA",
            "country": "paese ",
            "email": "cliente1z2hv@email.it",
            "isoCountryCode": "IT",
            "naturalPerson": true
        },
        "recordDestinazione": {
            "shippingDestinationCompanyName": "Company name destinazione",
            "shippingDestinationAddress": "Company name destinazione inidirizzo",
            "shippingDestinationZipCode": "ZIP dest",
            "shippingDestinationCity": "citta destinazione",
            "shippingDestinationNation": "nazione destinazione",
            "shippingDestinationCounty": "PA",
            "shippingCharges": 5,
            "shippingChargesIsAuto": false,
            "shippingChargesTaxCode": "22",
            "departureDate": "2017-10-24T00:00:00+02:00",
            "departureHr": 10,
            "departureMn": 30,
            "noOfPacks": 0,
            "grossWeight": 0,
            "package": "",
            "codeCarrier": "tnt",
            "trackingNumber": "",
            "customDeclaration": "",
            "material": "",
            "stampaWashington": false
        },
        "recordFattura": {
            "documentDate": "2017-10-24T00:00:00+02:00",
            "payment": "001",
            "paymentDescription": "",
            "azioneComunicazioneIva": "",
            "currency": "EUR",
            "accTpl": "FE",
            "yourReference": "aaa",
            "righeFattura": [
                {
                    "line": 0,
                    "lineType": 3538947,
                    "item": "260489.028.042",
                    "description": "riga 1 kjahs kjhs kajhs kajsh as",
                    "uoM": "NR",
                    "qty": "1",
                    "notes": "100 AF",
                    "unitValue": 150.33,
                    "discountFormula": "",
                    "discountAmount": 0,
                    "taxCode": "22"
                },
                {
                    "line": 1,
                    "lineType": 3538947,
                    "item": "260489.028.043",
                    "description": "riga due kjahs kjhs kajhs kajsh as",
                    "uoM": "NR",
                    "qty": "1",
                    "notes": "100 AF",
                    "unitValue": 150,
                    "discountFormula": "",
                    "discountAmount": 0,
                    "taxCode": "22"
                }
            ],
            ,
        "righeNote": [
            {
                "categoria": "001",
                "rigaNota": 1,
                "rigaCorpo": 0,
                "nota": "contenuti prima riga nota categoria 001"
            },
            {
                "categoria": "001",
                "rigaNota": 2,
                "rigaCorpo": 0,
                "nota": "contenuti seconda riga nota categoria 001"
            },
            {
                "categoria": "002",
                "rigaNota": 1,
                "rigaCorpo": 1,
                "nota": "contenuti prima riga nota categoria 002 sulla riga nr 1 della fattura"
            },
            {
                "categoria": "002",
                "rigaNota": 2,
                "rigaCorpo": 1,
                "nota": "contenuti seconda riga nota categoria 002 sulla riga nr 1 della fattura"
            }
 
        ]
    },
        "recordSpese": {
            "amountAllowance": 0,
            "discounts": 0
        }
    },
    "envelopeErrors": [],
    "envelopAvvisi": [
        {
            "avvisoInRecord": "Dati Cliente",
            "avvisoContent": "Cliente Inserito Correttamente! - 21029 - company name unicode 1z2hv"
        },
        {
            "avvisoInRecord": "Fattura",
            "avvisoContent": "Fattura Nr. 004765 - Creata Correttamente!"
        }
    ],
    "pdfString": "JVBERi0xLjQKJdP0zOEKMSAwIG9.......",
    "pdfFileName": "2017_004765",
    "idDocGenerato": 279,
    "pdfByteArray": null
}
                        

La struttura contiene i dati della richiesta inviata, gli eventuali errori che non hanno consentito la generazione della fattura, gli eventuali avvisi , l'id del documento generato e il byte array del report fattura in pdf.

che ne pensi ?

Lasciaci un messaggio, saremo lieti di ricontattarti al più presto per ulteriori chiarimenti

Contact With Me
;