Documentazione Versioning V2 WebApi
Con il rilascio della versione V2 delle WebAPI, abbiamo intrapreso un importante processo di semplificazione e ottimizzazione dell’interfaccia di integrazione. Rispetto alla precedente versione V1, la nuova release introduce una struttura più snella e intuitiva degli endpoint, con una nomenclatura dei campi completamente rivisitata in lingua inglese, pensata per migliorare la leggibilità e l’adozione da parte degli sviluppatori. L’obiettivo principale di questa evoluzione è rendere l’interazione con le API più chiara, coerente e facilmente integrabile nei moderni ecosistemi software. La V2 rappresenta un passo avanti verso una maggiore standardizzazione, una migliore documentazione e una più efficace interoperabilità tra sistemi.
Retrocompatibilità: per garantire una transizione graduale e senza impatti sulle integrazioni esistenti, la versione V1 delle WebAPI rimane supportata e operativa. Tuttavia, si consiglia vivamente di pianificare il passaggio alla V2, in quanto tutte le nuove funzionalità e miglioramenti saranno disponibili esclusivamente su questa versione. La coesistenza delle due versioni permette agli sviluppatori di adattare progressivamente i propri sistemi, riducendo al minimo il rischio di regressioni.
Per supportare i vari scenari d'uso gestiti, vengono forniti alcuni casi d'uso come esempi.
Nota: Sebbene l'utilizzo dei servizi consenta implementazioni diverse da quelle specificate, si ricorda che le funzionalità supportate sono quelle descritte nei Casi d'Uso indicati.
Anagrafica Comuni
Ricerca di una Causale Contabile
Per effettuare la ricerca di una causale contabile è necessario utilizzare una richiesta POST. Ecco un esempio:
{{webapi_base_url}}/{{api}}/v2/{{scope}}/CO/AccountingReasonCodeCO/search?company={{azienda}}&getTotalCount=true
{
"filters": {
"items": [
{
"operator": 0,
"propertyName": "alias",
"comparer": 0,
"value": "FTV1"
}
]
},
"pageSize": 0,
"pageNumber": 0
}
Questa è la response:
{
"totalCount": 1,
"pageSize": 1,
"pageNumber": 0,
"data": [
{
"accountStatementManagedType": 1.0,
"alias": "FTV1",
"billsType": 0,
"classificationId": null,
"code": "1",
"debitCreditType": 0,
"description": "Fattura di vendita",
"hyperMediaId": null,
"isAdvancePayment": 0.0,
"isCheckReferencesRequest": 0.0,
"isFixedReasonCode": 1.0,
"isMovementProtocol": 0.0,
"isOutstanding": 0.0,
"isPortfolioManagement": 1.0,
"isPreviousFiscalYearAccrual": 0.0,
"isPublishingVat": 0.0,
"isSelfInvoice": 0.0,
"isSingleEntryDocumentNumber": 0.0,
"isStatusAccountManagement": 1.0,
"isSubcontracting": 0.0,
"isTravelAgencies": 0.0,
"isVatCompetenceDateRequired": 0.0,
"journalType": 2,
"linkedReasonCode": null,
"marginSchemeType": 0.0,
"operationType": 3,
"proformaInvoiceDueDateType": 0,
"proformaInvoiceManagementType": 0,
"proteo360IntegrationType": 0.0,
"referenceReasonCode": null,
"rsmSinglePhaseTransactionType": 0.0,
"extensionData": [],
"additionalData": {},
"pluginData": {}
}
],
"extensionData": [],
"additionalData": {},
"pluginData": {}
}
Inserimento di un Anagrafica Agente
Per inserire un agente è necessario utilizzare una richiesta POST. Ecco un esempio:
{{webapi_base_url}}/{{api}}/v2/{{scope}}/co/AgentCO?company={{azienda}}
{
"code": "008",
"companyCode": 2.0,
"generalMasterDataCode": 2593,
"extensionData": [],
"additionalData": {},
"pluginData": {}
}
Questa è la response:
{
"isCommissionAdjustment": 0.0,
"discountCalculationType": 0.0,
"discountCommissionBaseType": 0.0,
"surchargeCommissionBaseType": 0.0,
"enasarcoListPrint": 0.0,
"companyType": 0.0,
"generalMasterData": {
"address": "",
"city": "Misano",
"fiscalCode": null,
"legalName": "Anagrafica test WebApi ",
"nationCode": 86.0,
"province": null,
"vatNumber": null,
"extensionData": [],
"additionalData": {},
"pluginData": {}
},
"agentType": 0.0,
"code": "008",
"commissionPercentage": 0.0,
"commissionRegimeType": 0.0,
"companyCode": 1000.0,
"customerCommissionRegime": 0.0,
"generalMasterDataCode": 980,
"guid": "5df6ff45-1c82-4651-b9a7-f0aebd211267",
"hyperMediaId": null,
"id": 100,
"itemCommissionRegime": 0.0,
"mandateEndDate": null,
"mandateStartDate": null,
"mandateType": 0.0,
"minimumInvoiceAmount": 0.0,
"preferredPrintDocumentType": 0.0,
"regimePriorityType": 0.0,
"relationStartDate": null,
"relationType": 1.0,
"settlementType": 0.0,
"idExtendedAttributeEntity": 4,
"idExtendedAttributeSubEntity": 5,
"dmsPublishedEntityFW": null,
"extensionData": [],
"additionalData": {},
"pluginData": {}
}
Inserimento di una Nazione
Per inserire una Nazione è necessario utilizzare una richiesta POST. Ecco un esempio:
{{webapi_base_url}}/{{api}}/v2/{{scope}}/co/NationCO?company={{azienda}}
{
"code": 811.0,
"currencyCode": "EURO",
"description": "Nazione Italia Webapi",
"euEntryDate": "1995-01-01T00:00:00",
"hyperMediaId": null,
"ibanLength": 27,
"isIbanUsed": 1,
"iso3166Alpha2": "IT",
"iso3166Alpha3": "ITA",
"iso3166Description": "ITALY",
"iso3166Number": "380",
"isoCode": "IT",
"isSepaStandardUsed": 1,
"nationType": 1.0,
"sianCode": null,
"vatNumberLength": "11",
"extensionData": [],
"additionalData": {},
"pluginData": {}
}
Questa è la response:
{
"blacklistEndDate": null,
"blacklistStartDate": null,
"code": 8122.0,
"currencyCode": "EURO",
"description": "Nazione Italia Webapi",
"euEntryDate": "1995-01-01T00:00:00",
"hyperMediaId": null,
"ibanLength": 27,
"isIbanUsed": 1,
"iso3166Alpha2": "IT",
"iso3166Alpha3": "ITA",
"iso3166Description": "ITALY",
"iso3166Number": "380",
"isoCode": "IT",
"isSepaStandardUsed": 1,
"nationType": 1.0,
"sianCode": null,
"vatNumberLength": "11",
"extensionData": [],
"additionalData": {},
"pluginData": {}
}
Anagrafica generale
Inserimento di un'Anagrafica Generale
Per inserire un'Anagrafica Generale minimale è necessario utilizzare una richiesta POST. Ecco un esempio:
{{webapi_base_url}}/{{api}}/V2/{{scope}}/co/generalmasterdataco?company={{azienda}}
{
"city": "Misano",
"genderType": 0.0,
"isEInvoicingEnabled": 0,
"isExcludedFromBlacklist": 0.0,
"isMasterDataForHomonymMerge": 0.0,
"isNaturalPerson": 0.0,
"isValidGeneralMasterData": 1.0,
"legalName": "Anagrafica test WebApi ",
"nationCode": 86.0,
"taxCity": "Misano",
"taxLegalName": "Anagrafica prova WebApi",
"taxNationCode": 86.0,
"idExtendedAttributeEntity": 1,
"idExtendedAttributeSubEntity": 2,
"extensionData": [],
"additionalData": {},
"pluginData": {}
}
Anagrafica Cliente Fornitore
Inserimento di un'Anagrafica Clienti/Fornitori
Per inserire un'Anagrafica Clienti/ fornitori minimale è necessario utilizzare una richiesta POST. Ecco un esempio:
{{webapi_base_url}}/{{api}}/v2/{{scope}}/co/CustomerSupplierCO?company={{azienda}}
{
"customerSupplierType": 0,
"generalMasterDataCode": 980,
"paymentTermCode": "201",
"blackListGeneralMasterDataCode": 4,
"csAccountingIndexCode": "CATF",
"currencyCode": "EURO",
"AgenteCode" : "Agente",
"OfficeCode": 1,
"VatCode": 22,
"additionalInformation": {
"macroAreaCode": "UE",
"areaCode": "ITA",
"zoneCode": null,
"macrocategoryCode": "MCQ",
"categoryCode": "CA1",
"subCategory": "SC1"
}
}