Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
16e58bd
feat(api): api update
stainless-app[bot] Oct 8, 2025
7c8d5d6
feat(api): api update
stainless-app[bot] Oct 8, 2025
4f7dc90
feat(api): manual updates
stainless-app[bot] Oct 8, 2025
5b447b4
feat(api): api update
stainless-app[bot] Oct 9, 2025
8d536ca
codegen metadata
stainless-app[bot] Oct 9, 2025
88a2388
feat(api): api update
stainless-app[bot] Nov 6, 2025
50eb173
feat(api): api update
stainless-app[bot] Nov 9, 2025
57c75d9
fix(client): multi-value header serialization
stainless-app[bot] Nov 14, 2025
02308b8
feat(api): api update
stainless-app[bot] Nov 14, 2025
010d7f1
feat(api): api update
stainless-app[bot] Nov 14, 2025
3bc4883
feat(api): api update
stainless-app[bot] Nov 14, 2025
d42fb14
feat(api): api update
stainless-app[bot] Nov 18, 2025
294d175
codegen metadata
stainless-app[bot] Nov 19, 2025
f34d373
fix(client): cancel okhttp call when future cancelled
stainless-app[bot] Nov 27, 2025
4b1c946
docs: remove `$` for better copy-pasteabality
stainless-app[bot] Dec 3, 2025
4a468b2
feat(api): api update
stainless-app[bot] Dec 11, 2025
fcaf0b4
codegen metadata
stainless-app[bot] Dec 18, 2025
c376703
codegen metadata
stainless-app[bot] Dec 19, 2025
b5a6a0f
chore(internal): codegen related update
stainless-app[bot] Jan 1, 2026
b3aad10
chore(internal): codegen related update
stainless-app[bot] Jan 6, 2026
52e1ebb
chore(internal): codegen related update
stainless-app[bot] Jan 9, 2026
ee9459a
chore(internal): codegen related update
stainless-app[bot] Jan 13, 2026
0059a2f
chore(internal): codegen related update
stainless-app[bot] Jan 14, 2026
3ef5ab9
feat(api): api update
stainless-app[bot] Jan 15, 2026
6c5b431
chore(internal): codegen related update
stainless-app[bot] Jan 16, 2026
34d3b25
chore(internal): codegen related update
stainless-app[bot] Jan 17, 2026
5c08714
feat(api): api update
stainless-app[bot] Jan 19, 2026
74c4c9e
feat(api): api update
stainless-app[bot] Jan 20, 2026
2b90fa4
feat(api): api update
stainless-app[bot] Jan 20, 2026
8af9305
feat(api): api update
stainless-app[bot] Jan 21, 2026
9e69b7f
chore(internal): update maven repo doc to include authentication
stainless-app[bot] Jan 22, 2026
310f45e
feat(client): send `X-Stainless-Kotlin-Version` header
stainless-app[bot] Jan 22, 2026
c634578
feat(api): api update
stainless-app[bot] Jan 22, 2026
a1039c6
fix(tests): add missing query/header params
stainless-app[bot] Jan 23, 2026
524c037
chore(internal): correct cache invalidation for `SKIP_MOCK_TESTS`
stainless-app[bot] Jan 23, 2026
2bc9f75
fix(client): preserve time zone in lenient date-time parsing
stainless-app[bot] Jan 23, 2026
eb5c7e5
chore(internal): codegen related update
stainless-app[bot] Jan 24, 2026
04ffe93
chore(internal): codegen related update
stainless-app[bot] Jan 29, 2026
20dd5a8
chore(internal): codegen related update
stainless-app[bot] Jan 31, 2026
c34c507
codegen metadata
stainless-app[bot] Feb 5, 2026
0bd96de
chore(internal): codegen related update
stainless-app[bot] Feb 7, 2026
60dbcea
feat(api): api update
stainless-app[bot] Feb 9, 2026
84aef0c
release: 0.1.0-alpha.13
stainless-app[bot] Feb 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 24 additions & 6 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,10 @@ jobs:
if: github.event_name == 'push' || github.event.pull_request.head.repo.fork

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

- name: Set up Java
uses: actions/setup-java@v4
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: |
Expand All @@ -40,14 +40,17 @@ jobs:
build:
timeout-minutes: 15
name: build
permissions:
contents: read
id-token: write
runs-on: ${{ github.repository == 'stainless-sdks/e-invoice-api-java' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
if: github.event_name == 'push' || github.event.pull_request.head.repo.fork

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

- name: Set up Java
uses: actions/setup-java@v4
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: |
Expand All @@ -61,16 +64,31 @@ jobs:
- name: Build SDK
run: ./scripts/build

- name: Get GitHub OIDC Token
if: github.repository == 'stainless-sdks/e-invoice-api-java'
id: github-oidc
uses: actions/github-script@v8
with:
script: core.setOutput('github_token', await core.getIDToken());

- name: Build and upload Maven artifacts
if: github.repository == 'stainless-sdks/e-invoice-api-java'
env:
URL: https://pkg.stainless.com/s
AUTH: ${{ steps.github-oidc.outputs.github_token }}
SHA: ${{ github.sha }}
PROJECT: e-invoice-api-java
run: ./scripts/upload-artifacts
test:
timeout-minutes: 15
name: test
runs-on: ${{ github.repository == 'stainless-sdks/e-invoice-api-java' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
if: github.event_name == 'push' || github.event.pull_request.head.repo.fork
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

- name: Set up Java
uses: actions/setup-java@v4
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: |
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/publish-sonatype.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@ jobs:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

- name: Set up Java
uses: actions/setup-java@v4
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release-doctor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
if: github.repository == 'e-invoice-be/e-invoice-java' && (github.event_name == 'push' || github.event_name == 'workflow_dispatch' || startsWith(github.head_ref, 'release-please') || github.head_ref == 'next')

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

- name: Check release environment
run: |
Expand Down
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "0.1.0-alpha.12"
".": "0.1.0-alpha.13"
}
8 changes: 4 additions & 4 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 24
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/e-invoice-be%2Fe-invoice-api-6bf85ca7bc7eac16815d912ab0720537e72e39e6234b030c9c3644b3df327788.yml
openapi_spec_hash: f9ac6f267c1fde475250d7893cf966c7
config_hash: d627f345d2cab6590eeea9820301272e
configured_endpoints: 28
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/e-invoice-be%2Fe-invoice-api-456484895d394520a1179d60cd2df0b377207849fa84562e406d66886bf8244f.yml
openapi_spec_hash: b51d0365469bbe89d7e1e8c13983475d
config_hash: 852a0117abb3db077933876ad1185f41
56 changes: 56 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,61 @@
# Changelog

## 0.1.0-alpha.13 (2026-02-09)

Full Changelog: [v0.1.0-alpha.12...v0.1.0-alpha.13](https://github.com/e-invoice-be/e-invoice-java/compare/v0.1.0-alpha.12...v0.1.0-alpha.13)

### Features

* **api:** api update ([60dbcea](https://github.com/e-invoice-be/e-invoice-java/commit/60dbcea186a99adbde90154602023e831daf3632))
* **api:** api update ([c634578](https://github.com/e-invoice-be/e-invoice-java/commit/c63457882b2760456275e531d05f289c716e5934))
* **api:** api update ([8af9305](https://github.com/e-invoice-be/e-invoice-java/commit/8af9305dcb70550adbd23bc6b31119eaa5aaf23c))
* **api:** api update ([2b90fa4](https://github.com/e-invoice-be/e-invoice-java/commit/2b90fa4367258ccc96cdf4fe039efeede2a7048e))
* **api:** api update ([74c4c9e](https://github.com/e-invoice-be/e-invoice-java/commit/74c4c9e381b260df4545a7180365cf517a65b26f))
* **api:** api update ([5c08714](https://github.com/e-invoice-be/e-invoice-java/commit/5c0871400561a727de59401802a44d4722e6a09a))
* **api:** api update ([3ef5ab9](https://github.com/e-invoice-be/e-invoice-java/commit/3ef5ab9f1fd50c8dc83094c6d58212e350e1000e))
* **api:** api update ([4a468b2](https://github.com/e-invoice-be/e-invoice-java/commit/4a468b27a6b2a2c8e748131b3d4f35176a4e3d98))
* **api:** api update ([d42fb14](https://github.com/e-invoice-be/e-invoice-java/commit/d42fb14927fcae080a39896743dade19a3f23c81))
* **api:** api update ([3bc4883](https://github.com/e-invoice-be/e-invoice-java/commit/3bc4883a59e0cc7352dfa41a3c6f67f4efc8ba19))
* **api:** api update ([010d7f1](https://github.com/e-invoice-be/e-invoice-java/commit/010d7f1fc776ed37da2fb55f96ade8267e184cee))
* **api:** api update ([02308b8](https://github.com/e-invoice-be/e-invoice-java/commit/02308b86f70414c3008b61e1776f17f1fa8d38f0))
* **api:** api update ([50eb173](https://github.com/e-invoice-be/e-invoice-java/commit/50eb173e52614313f0474c525571300d31f47003))
* **api:** api update ([88a2388](https://github.com/e-invoice-be/e-invoice-java/commit/88a2388ce1f68f3ad01ac7ae30aa6fd25c1daa15))
* **api:** api update ([5b447b4](https://github.com/e-invoice-be/e-invoice-java/commit/5b447b4473189cf6675d79480758e989808dab38))
* **api:** api update ([7c8d5d6](https://github.com/e-invoice-be/e-invoice-java/commit/7c8d5d6baaf53b8fa24983e413280c44ef6783bb))
* **api:** api update ([16e58bd](https://github.com/e-invoice-be/e-invoice-java/commit/16e58bd343a028e65724cd766aaea0c96b8a01aa))
* **api:** manual updates ([4f7dc90](https://github.com/e-invoice-be/e-invoice-java/commit/4f7dc90de5d979ea18f9650a25a4b747e28ce5af))
* **client:** send `X-Stainless-Kotlin-Version` header ([310f45e](https://github.com/e-invoice-be/e-invoice-java/commit/310f45e949318fdc406d157cebe1525e048e1f7c))


### Bug Fixes

* **client:** cancel okhttp call when future cancelled ([f34d373](https://github.com/e-invoice-be/e-invoice-java/commit/f34d373cab9477deb15c0c5670166984fe83c850))
* **client:** multi-value header serialization ([57c75d9](https://github.com/e-invoice-be/e-invoice-java/commit/57c75d98fc1b53bdc1d1544476c6a31cec525601))
* **client:** preserve time zone in lenient date-time parsing ([2bc9f75](https://github.com/e-invoice-be/e-invoice-java/commit/2bc9f757bcc64596e9db1b2fab3bdeb504e92534))
* **tests:** add missing query/header params ([a1039c6](https://github.com/e-invoice-be/e-invoice-java/commit/a1039c67421588b13f9a5d522b5baa7c1b150931))


### Chores

* **internal:** codegen related update ([0bd96de](https://github.com/e-invoice-be/e-invoice-java/commit/0bd96de349c640f0757190242e91a9e315c133e1))
* **internal:** codegen related update ([20dd5a8](https://github.com/e-invoice-be/e-invoice-java/commit/20dd5a8e841a3649ffe0f76098e1046e1d8f00e9))
* **internal:** codegen related update ([04ffe93](https://github.com/e-invoice-be/e-invoice-java/commit/04ffe93692ea6714f8825df585864c39b84a2663))
* **internal:** codegen related update ([eb5c7e5](https://github.com/e-invoice-be/e-invoice-java/commit/eb5c7e54df6ca465861af705907ed654e844d5a5))
* **internal:** codegen related update ([34d3b25](https://github.com/e-invoice-be/e-invoice-java/commit/34d3b2519e014679f33b0e66e807b13134c12741))
* **internal:** codegen related update ([6c5b431](https://github.com/e-invoice-be/e-invoice-java/commit/6c5b4313f318f8c7e7a99cade9644bbb2103be72))
* **internal:** codegen related update ([0059a2f](https://github.com/e-invoice-be/e-invoice-java/commit/0059a2f619a5e17c3bc9f17e7f684e4af983fe60))
* **internal:** codegen related update ([ee9459a](https://github.com/e-invoice-be/e-invoice-java/commit/ee9459ac80af991d3a9d719f46d28bee16ac1d49))
* **internal:** codegen related update ([52e1ebb](https://github.com/e-invoice-be/e-invoice-java/commit/52e1ebbb83280db67feb3581a08d3f7241a500f0))
* **internal:** codegen related update ([b3aad10](https://github.com/e-invoice-be/e-invoice-java/commit/b3aad10fd43571a39c18361ddf3597d68a643531))
* **internal:** codegen related update ([b5a6a0f](https://github.com/e-invoice-be/e-invoice-java/commit/b5a6a0f7aa5ed8d9a44f27f818da15da3ff30d3f))
* **internal:** correct cache invalidation for `SKIP_MOCK_TESTS` ([524c037](https://github.com/e-invoice-be/e-invoice-java/commit/524c0373a029f9e0ac7429d05d0e9869dca8a723))
* **internal:** update maven repo doc to include authentication ([9e69b7f](https://github.com/e-invoice-be/e-invoice-java/commit/9e69b7ff607be2392d5ab6e9796518e129c46fcc))


### Documentation

* remove `$` for better copy-pasteabality ([4b1c946](https://github.com/e-invoice-be/e-invoice-java/commit/4b1c946cf5e6403194165bf0c92f5160a5e95e32))

## 0.1.0-alpha.12 (2025-09-26)

Full Changelog: [v0.1.0-alpha.11...v0.1.0-alpha.12](https://github.com/e-invoice-be/e-invoice-java/compare/v0.1.0-alpha.11...v0.1.0-alpha.12)
Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@
same "printed page" as the copyright notice for easier
identification within third-party archives.

Copyright 2025 E Invoice
Copyright 2026 E Invoice

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
61 changes: 34 additions & 27 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,25 @@

<!-- x-release-please-start-version -->

[![Maven Central](https://img.shields.io/maven-central/v/com.e_invoice.api/e-invoice-java)](https://central.sonatype.com/artifact/com.e_invoice.api/e-invoice-java/0.1.0-alpha.12)
[![javadoc](https://javadoc.io/badge2/com.e_invoice.api/e-invoice-java/0.1.0-alpha.12/javadoc.svg)](https://javadoc.io/doc/com.e_invoice.api/e-invoice-java/0.1.0-alpha.12)
[![Maven Central](https://img.shields.io/maven-central/v/com.e_invoice.api/e-invoice-java)](https://central.sonatype.com/artifact/com.e_invoice.api/e-invoice-java/0.1.0-alpha.13)
[![javadoc](https://javadoc.io/badge2/com.e_invoice.api/e-invoice-java/0.1.0-alpha.13/javadoc.svg)](https://javadoc.io/doc/com.e_invoice.api/e-invoice-java/0.1.0-alpha.13)

<!-- x-release-please-end -->

The e-invoice.be Peppol SDK provides convenient access to the [e-invoice.be REST API](https://api.e-invoice.be) from applications written in Java.

## MCP Server

Use the E Invoice MCP Server to enable AI assistants to interact with this API, allowing them to explore endpoints, make test requests, and use documentation to help integrate this SDK into your application.

[![Add to Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en-US/install-mcp?name=e-invoice-api-mcp&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsImUtaW52b2ljZS1hcGktbWNwIl0sImVudiI6eyJFX0lOVk9JQ0VfQVBJX0tFWSI6Ik15IEFQSSBLZXkifX0)
[![Install in VS Code](https://img.shields.io/badge/_-Add_to_VS_Code-blue?style=for-the-badge&logo=data:image/svg%2bxml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCA0MCA0MCI+PHBhdGggZmlsbD0iI0VFRSIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMzAuMjM1IDM5Ljg4NGEyLjQ5MSAyLjQ5MSAwIDAgMS0xLjc4MS0uNzNMMTIuNyAyNC43OGwtMy40NiAyLjYyNC0zLjQwNiAyLjU4MmExLjY2NSAxLjY2NSAwIDAgMS0xLjA4Mi4zMzggMS42NjQgMS42NjQgMCAwIDEtMS4wNDYtLjQzMWwtMi4yLTJhMS42NjYgMS42NjYgMCAwIDEgMC0yLjQ2M0w3LjQ1OCAyMCA0LjY3IDE3LjQ1MyAxLjUwNyAxNC41N2ExLjY2NSAxLjY2NSAwIDAgMSAwLTIuNDYzbDIuMi0yYTEuNjY1IDEuNjY1IDAgMCAxIDIuMTMtLjA5N2w2Ljg2MyA1LjIwOUwyOC40NTIuODQ0YTIuNDg4IDIuNDg4IDAgMCAxIDEuODQxLS43MjljLjM1MS4wMDkuNjk5LjA5MSAxLjAxOS4yNDVsOC4yMzYgMy45NjFhMi41IDIuNSAwIDAgMSAxLjQxNSAyLjI1M3YuMDk5LS4wNDVWMzMuMzd2LS4wNDUuMDk1YTIuNTAxIDIuNTAxIDAgMCAxLTEuNDE2IDIuMjU3bC04LjIzNSAzLjk2MWEyLjQ5MiAyLjQ5MiAwIDAgMS0xLjA3Ny4yNDZabS43MTYtMjguOTQ3LTExLjk0OCA5LjA2MiAxMS45NTIgOS4wNjUtLjAwNC0xOC4xMjdaIi8+PC9zdmc+)](https://vscode.stainless.com/mcp/%7B%22name%22%3A%22e-invoice-api-mcp%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22e-invoice-api-mcp%22%5D%2C%22env%22%3A%7B%22E_INVOICE_API_KEY%22%3A%22My%20API%20Key%22%7D%7D)

> Note: You may need to set environment variables in your MCP client.

<!-- x-release-please-start-version -->

The REST API documentation can be found on [api.e-invoice.be](https://api.e-invoice.be). Javadocs are available on [javadoc.io](https://javadoc.io/doc/com.e_invoice.api/e-invoice-java/0.1.0-alpha.12).
The REST API documentation can be found on [api.e-invoice.be](https://api.e-invoice.be). Javadocs are available on [javadoc.io](https://javadoc.io/doc/com.e_invoice.api/e-invoice-java/0.1.0-alpha.13).

<!-- x-release-please-end -->

Expand All @@ -22,7 +31,7 @@ The REST API documentation can be found on [api.e-invoice.be](https://api.e-invo
### Gradle

```kotlin
implementation("com.e_invoice.api:e-invoice-java:0.1.0-alpha.12")
implementation("com.e_invoice.api:e-invoice-java:0.1.0-alpha.13")
```

### Maven
Expand All @@ -31,7 +40,7 @@ implementation("com.e_invoice.api:e-invoice-java:0.1.0-alpha.12")
<dependency>
<groupId>com.e_invoice.api</groupId>
<artifactId>e-invoice-java</artifactId>
<version>0.1.0-alpha.12</version>
<version>0.1.0-alpha.13</version>
</dependency>
```

Expand Down Expand Up @@ -185,61 +194,57 @@ The SDK defines methods that accept files.
To upload a file, pass a [`Path`](https://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html):

```java
import com.e_invoice.api.models.documents.attachments.AttachmentAddParams;
import com.e_invoice.api.models.documents.attachments.DocumentAttachment;
import com.e_invoice.api.models.documents.DocumentCreateFromPdfParams;
import com.e_invoice.api.models.documents.DocumentCreateFromPdfResponse;
import java.nio.file.Paths;

AttachmentAddParams params = AttachmentAddParams.builder()
.documentId("document_id")
DocumentCreateFromPdfParams params = DocumentCreateFromPdfParams.builder()
.file(Paths.get("/path/to/file"))
.build();
DocumentAttachment documentAttachment = client.documents().attachments().add(params);
DocumentCreateFromPdfResponse response = client.documents().createFromPdf(params);
```

Or an arbitrary [`InputStream`](https://docs.oracle.com/javase/8/docs/api/java/io/InputStream.html):

```java
import com.e_invoice.api.models.documents.attachments.AttachmentAddParams;
import com.e_invoice.api.models.documents.attachments.DocumentAttachment;
import com.e_invoice.api.models.documents.DocumentCreateFromPdfParams;
import com.e_invoice.api.models.documents.DocumentCreateFromPdfResponse;
import java.net.URL;

AttachmentAddParams params = AttachmentAddParams.builder()
.documentId("document_id")
DocumentCreateFromPdfParams params = DocumentCreateFromPdfParams.builder()
.file(new URL("https://example.com//path/to/file").openStream())
.build();
DocumentAttachment documentAttachment = client.documents().attachments().add(params);
DocumentCreateFromPdfResponse response = client.documents().createFromPdf(params);
```

Or a `byte[]` array:

```java
import com.e_invoice.api.models.documents.attachments.AttachmentAddParams;
import com.e_invoice.api.models.documents.attachments.DocumentAttachment;
import com.e_invoice.api.models.documents.DocumentCreateFromPdfParams;
import com.e_invoice.api.models.documents.DocumentCreateFromPdfResponse;

AttachmentAddParams params = AttachmentAddParams.builder()
.documentId("document_id")
DocumentCreateFromPdfParams params = DocumentCreateFromPdfParams.builder()
.file("content".getBytes())
.build();
DocumentAttachment documentAttachment = client.documents().attachments().add(params);
DocumentCreateFromPdfResponse response = client.documents().createFromPdf(params);
```

Note that when passing a non-`Path` its filename is unknown so it will not be included in the request. To manually set a filename, pass a [`MultipartField`](e-invoice-java-core/src/main/kotlin/com/e_invoice/api/core/Values.kt):

```java
import com.e_invoice.api.core.MultipartField;
import com.e_invoice.api.models.documents.attachments.AttachmentAddParams;
import com.e_invoice.api.models.documents.attachments.DocumentAttachment;
import com.e_invoice.api.models.documents.DocumentCreateFromPdfParams;
import com.e_invoice.api.models.documents.DocumentCreateFromPdfResponse;
import java.io.InputStream;
import java.net.URL;

AttachmentAddParams params = AttachmentAddParams.builder()
.documentId("document_id")
DocumentCreateFromPdfParams params = DocumentCreateFromPdfParams.builder()
.file(MultipartField.<InputStream>builder()
.value(new URL("https://example.com//path/to/file").openStream())
.filename("/path/to/file")
.build())
.build();
DocumentAttachment documentAttachment = client.documents().attachments().add(params);
DocumentCreateFromPdfResponse response = client.documents().createFromPdf(params);
```

## Raw responses
Expand Down Expand Up @@ -402,13 +407,13 @@ The SDK uses the standard [OkHttp logging interceptor](https://github.com/square
Enable logging by setting the `E_INVOICE_LOG` environment variable to `info`:

```sh
$ export E_INVOICE_LOG=info
export E_INVOICE_LOG=info
```

Or to `debug` for more verbose logging:

```sh
$ export E_INVOICE_LOG=debug
export E_INVOICE_LOG=debug
```

## ProGuard and R8
Expand All @@ -428,6 +433,8 @@ If the SDK threw an exception, but you're _certain_ the version is compatible, t
> [!CAUTION]
> We make no guarantee that the SDK works correctly when the Jackson version check is disabled.

Also note that there are bugs in older Jackson versions that can affect the SDK. We don't work around all Jackson bugs ([example](https://github.com/FasterXML/jackson-databind/issues/3240)) and expect users to upgrade Jackson for those instead.

## Network options

### Retries
Expand Down
2 changes: 1 addition & 1 deletion build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ repositories {

allprojects {
group = "com.e_invoice.api"
version = "0.1.0-alpha.12" // x-release-please-version
version = "0.1.0-alpha.13" // x-release-please-version
}

subprojects {
Expand Down
3 changes: 3 additions & 0 deletions buildSrc/src/main/kotlin/e-invoice.kotlin.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,9 @@ kotlin {
tasks.withType<Test>().configureEach {
systemProperty("junit.jupiter.execution.parallel.enabled", true)
systemProperty("junit.jupiter.execution.parallel.mode.default", "concurrent")

// `SKIP_MOCK_TESTS` affects which tests run so it must be added as input for proper cache invalidation.
inputs.property("skipMockTests", System.getenv("SKIP_MOCK_TESTS")).optional(true)
}

val ktfmt by configurations.creating
Expand Down
8 changes: 8 additions & 0 deletions buildSrc/src/main/kotlin/e-invoice.publish.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,14 @@ configure<PublishingExtension> {
}
}
}
repositories {
if (project.hasProperty("publishLocal")) {
maven {
name = "LocalFileSystem"
url = uri("${rootProject.layout.buildDirectory.get()}/local-maven-repo")
}
}
}
}

signing {
Expand Down
3 changes: 2 additions & 1 deletion e-invoice-java-client-okhttp/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,6 @@ dependencies {
implementation("com.squareup.okhttp3:logging-interceptor:4.12.0")

testImplementation(kotlin("test"))
testImplementation("org.assertj:assertj-core:3.25.3")
testImplementation("org.assertj:assertj-core:3.27.7")
testImplementation("com.github.tomakehurst:wiremock-jre8:2.35.2")
}
Loading
Loading