Skip to content

invoicetronic/java-sdk

Repository files navigation

Java SDK for the Italian Invoicetronic API

The Invoicetronic API is a RESTful service that allows you to send and receive invoices through the Italian Servizio di Interscambio (SDI), or Interchange Service. The API is designed to be simple and easy to use, abstracting away SDI complexity while providing complete control over the invoice send/receive process. It provides advanced features as encryption at rest, multi-language pre-flight invoice validation, multiple upload formats, webhooks, event logging, client SDKs, and CLI tools.

For more information, see Invoicetronic website

  • API version: 1

  • Build date: 2025-03-07T14:03:32.321851Z[Etc/UTC]

  • Generator version: 7.12.0

Automatically generated by the OpenAPI Generator

Requirements

Building the API client library requires:

  1. Java 1.8+
  2. Maven/Gradle

Installation

To install the API client library to your local Maven repository, simply execute:

mvn clean install

To deploy it to a remote Maven repository instead, configure the settings of the repository and execute:

mvn clean deploy

Refer to the OSSRH Guide for more information.

Maven users

Add this dependency to your project's POM:

<dependency>
  <groupId>com.invoicetronic</groupId>
  <artifactId>java-sdk</artifactId>
  <version>1</version>
  <scope>compile</scope>
</dependency>

Gradle users

Add this dependency to your project's build file:

  repositories {
    mavenCentral()     // Needed if the 'java-sdk' jar has been published to maven central.
    mavenLocal()       // Needed if the 'java-sdk' jar has been published to the local maven repo.
  }

  dependencies {
     implementation "com.invoicetronic:java-sdk:1"
  }

Others

At first generate the JAR by executing:

mvn clean package

Then manually install the following JARs:

  • target/java-sdk-1.jar
  • target/lib/*.jar

Getting Started

Please follow the installation instruction and execute the following Java code:

import com.invoicetronic.sdk.*;
import com.invoicetronic.sdk.auth.*;
import com.invoicetronic.sdk.model.*;
import com.invoicetronic.sdk.api.CompanyApi;

public class CompanyApiExample {

    public static void main(String[] args) {
        ApiClient defaultClient = Configuration.getDefaultApiClient();
        defaultClient.setBasePath("http://localhost");
        
        // Configure HTTP basic authorization: Basic
        HttpBasicAuth Basic = (HttpBasicAuth) defaultClient.getAuthentication("Basic");
        Basic.setUsername("YOUR USERNAME");
        Basic.setPassword("YOUR PASSWORD");

        CompanyApi apiInstance = new CompanyApi(defaultClient);
        Integer page = 1; // Integer | Page number. Defaults to 1.
        Integer pageSize = 100; // Integer | Items per page. Defaults to 50. Cannot be greater than 200.
        String sort = "sort_example"; // String | Sort by field. Prefix with '-' for descending order.
        try {
            List<Company> result = apiInstance.companyGet(page, pageSize, sort);
            System.out.println(result);
        } catch (ApiException e) {
            System.err.println("Exception when calling CompanyApi#companyGet");
            System.err.println("Status code: " + e.getCode());
            System.err.println("Reason: " + e.getResponseBody());
            System.err.println("Response headers: " + e.getResponseHeaders());
            e.printStackTrace();
        }
    }
}

Documentation for API Endpoints

All URIs are relative to http://localhost

Class Method HTTP request Description
CompanyApi companyGet GET /company List companies
CompanyApi companyIdDelete DELETE /company/{id} Delete a company
CompanyApi companyIdGet GET /company/{id} Get a company by id
CompanyApi companyPost POST /company Add a company
CompanyApi companyPut PUT /company Update a company
LogApi logGet GET /log List events
LogApi logIdGet GET /log/{id} Get an event by id
ReceiveApi receiveGet GET /receive List incoming invoices
ReceiveApi receiveIdDelete DELETE /receive/{id} Delete an incoming invoice by id
ReceiveApi receiveIdGet GET /receive/{id} Get an incoming invoice by id
SendApi sendFilePost POST /send/file Add an invoice by file
SendApi sendGet GET /send List invoices
SendApi sendIdGet GET /send/{id} Get a invoice by id
SendApi sendJsonPost POST /send/json Add an invoice by json
SendApi sendPost POST /send Add an invoice
SendApi sendValidateFilesPost POST /send/validate/files Validate an invoice by file
SendApi sendValidateJsonPost POST /send/validate/json Validate an invoice by json
SendApi sendValidatePost POST /send/validate Validate an invoice
SendApi sendValidateXmlPost POST /send/validate/xml Validate an invoice by xml
SendApi sendXmlPost POST /send/xml Add an invoice by xml
StatusApi statusGet GET /status Account status
UpdateApi updateGet GET /update List updates
UpdateApi updateIdGet GET /update/{id} Get an update by id
WebhookApi webhookGet GET /webhook List webhooks
WebhookApi webhookIdDelete DELETE /webhook/{id} Delete a webhook by id
WebhookApi webhookIdGet GET /webhook/{id} Get a webhook by id
WebhookApi webhookPost POST /webhook Add a webhook
WebhookApi webhookPut PUT /webhook Update a webhook
WebhookApi webhookhistoryGet GET /webhookhistory List webhook history items
WebhookApi webhookhistoryIdGet GET /webhookhistory/{id} Get a webhook history item by id

Documentation for Models

Documentation for Authorization

Authentication schemes defined for the API:

Basic

  • Type: HTTP basic authentication

Recommendation

It's recommended to create an instance of ApiClient per thread in a multithreaded environment to avoid any potential issues.

Author

[email protected]