https://github.com/digipost/signature-api-client-java
https://github.com/digipost/signature-api-client-java
Last synced: 10 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/digipost/signature-api-client-java
- Owner: digipost
- License: apache-2.0
- Created: 2015-09-08T11:50:52.000Z (over 10 years ago)
- Default Branch: main
- Last Pushed: 2024-12-01T04:51:46.000Z (about 1 year ago)
- Last Synced: 2025-01-29T05:37:45.268Z (11 months ago)
- Language: Java
- Size: 1.23 MB
- Stars: 0
- Watchers: 19
- Forks: 1
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Posten Signering – Java client Library
[](https://maven-badges.herokuapp.com/maven-central/no.digipost.signature/signature-api-client-java)
[](https://javadoc.io/doc/no.digipost.signature/signature-api-client-java)

[](https://github.com/digipost/signature-api-client-java/blob/main/LICENCE)
This repo is the Java client library for integrating with **Posten signering**.
If you are looking for the C# variant of this library, please see [signature-api-client-dotnet](https://github.com/digipost/signature-api-client-dotnet).
## Documentation
Get started by [reading the documentation](http://signering-docs.rtfd.io/).
## Dependency
The recommended way to declare dependency on the library is to utilize the [BOM](https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#bill-of-materials-bom-poms). With Maven, this is declared like this:
```xml
no.digipost.signature
signature-api-client-bom
7.0.4
pom
import
...
```
And depend directly on the library artifact (without any specified version, since this is supplied by the BOM artifact above)
```xml
no.digipost.signature
signature-api-client-java
...
```
## Upgrading
> [!IMPORTANT]
> Clients are always strongly encouraged to upgrade to the [latest][latest-release] version.
The _minimal_ version which is currently supported is [v6.1][minimum-seid2-release]. Any earlier release is expected to stop working after January 7th 2025 due to Posten signering transitioning from SEIDv1 to the SEIDv2 certificate standard in the API. (Note: SEIDv2 used for clients' certificates is not affected, and has been supported for several years already. No action is required for client certificates.)
### Changes v4.6.x ➡️ v6.1.x
- change all `Document.FileType` references to `DocumentType`
- multiple documents in a signature job is now supported, and both [PortalJob.builder(..)](https://javadoc.io/static/no.digipost.signature/signature-api-client-java/6.1.1/no/digipost/signature/client/portal/PortalJob.html#builder(java.lang.String,java.util.List,java.util.List)) and [DirectJob.builder(..)](https://javadoc.io/static/no.digipost.signature/signature-api-client-java/6.1.1/no/digipost/signature/client/direct/DirectJob.html#builder(java.lang.String,java.util.List,java.util.List,no.digipost.signature.client.direct.WithExitUrls)) methods are changed according to this:
- the **title of the job** is the first parameter (this was previously set on the document itself)
- the second and third parameter are either **lists of documents and signers**, or a single document and a single signer
- for direct jobs, **exit-URLs** are provided as the fourth parameter
- the optional description for the job (text with more details displayed for the signer) is set on the builder instance: [.withDescription(String)](https://javadoc.io/static/no.digipost.signature/signature-api-client-java/6.1.1/no/digipost/signature/client/direct/DirectJob.Builder.html#withDescription(java.lang.String))
- availability for portal jobs:
- The [PortalJob.Builder.availableFor(..)](https://javadoc.io/static/no.digipost.signature/signature-api-client-java/6.1.1/no/digipost/signature/client/portal/PortalJob.Builder.html#availableFor(java.time.Duration)) now accepts a [Duration][java.time.Duration] instead of separate `long` and `TimeUnit` arguments.
- response from `DirectClient.create(DirectJob)`
- `RedirectUrls` is replaced with [getting a list of DirectSigners](https://javadoc.io/static/no.digipost.signature/signature-api-client-java/6.1.1/no/digipost/signature/client/direct/DirectJobResponse.html#getSigners()) from where the redirect-URL for each signer can be obtained.
- In the case of jobs with a single signer, it was previously possible to get the signer's redirect-URL from `DirectJobResponse.getSingleRedirectUrl()`. This is now changed to `DirectJobResponse.getSingleSigner()` and you can [get the redirect URL](https://javadoc.io/static/no.digipost.signature/signature-api-client-java/6.1.1/no/digipost/signature/client/direct/DirectSignerResponse.html#getRedirectUrl()) from the returned single `DirectSigner` instance. The URL is represented as a [URI][java.net.URI] instead of previously being a `String`.
### Changes v6.1.x ➡️ v7.x
If you are upgrading from an earlier version to v7.x, see also applicable previous section(s).
- see the [Dependency](#dependency) section for how to properly declare your dependency using the BOM
- see release notes for [v7.0.1][jakarta-support-release] for more details. Only the [configuration API](https://javadoc.io/static/no.digipost.signature/signature-api-client-java/7.0.4/no/digipost/signature/client/ClientConfiguration.Builder.html) has got some minor breaking changes:
- "globalSender" is renamed to [.defaultSender(Sender)](https://javadoc.io/static/no.digipost.signature/signature-api-client-java/7.0.4/no/digipost/signature/client/ClientConfiguration.Builder.html#defaultSender(no.digipost.signature.client.core.Sender))
- "serviceUri" and "trustStore" has been combined and replaced with [ServiceEnvironment](https://javadoc.io/static/no.digipost.signature/signature-api-client-java/7.0.4/no/digipost/signature/client/ServiceEnvironment.html). Instead of separately specifying the former two, instead specify either `ServiceEnvironment.STAGING` or `ServiceEnvironment.PRODUCTION` depending on which environment you intend to use.
[minimum-seid2-release]: https://github.com/digipost/signature-api-client-java/releases/6.1
[jakarta-support-release]: https://github.com/digipost/signature-api-client-java/releases/7.0.1
[latest-release]: https://github.com/digipost/signature-api-client-java/releases/latest
[java.net.URI]: https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/net/URI.html
[java.time.Duration]: https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/time/Duration.html