diff --git a/CHANGELOG.md b/CHANGELOG.md index 59f22ec..dac603e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [1.1.0] - 2026-04-16 + +### Added + +- Add `organizations.updateDefaultSeries` to set an organization's default series by document type. + ## [1.0.0] - 2026-04-07 ### Added diff --git a/README.es.md b/README.es.md index 6b7456e..0e1dc20 100644 --- a/README.es.md +++ b/README.es.md @@ -29,14 +29,14 @@ Maven: io.facturapi facturapi-java - 1.0.0 + 1.1.0 ``` Gradle: ```gradle -implementation("io.facturapi:facturapi-java:1.0.0") +implementation("io.facturapi:facturapi-java:1.1.0") ``` ## Inicio rĂ¡pido diff --git a/README.md b/README.md index 74e188d..fe0f67b 100644 --- a/README.md +++ b/README.md @@ -29,14 +29,14 @@ Maven: io.facturapi facturapi-java - 1.0.0 + 1.1.0 ``` Gradle: ```gradle -implementation("io.facturapi:facturapi-java:1.0.0") +implementation("io.facturapi:facturapi-java:1.1.0") ``` ## Quickstart diff --git a/pom.xml b/pom.xml index c0ae95b..6720b5a 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ io.facturapi facturapi-java - 1.0.0 + 1.1.0 facturapi-java Official Java SDK for Facturapi https://github.com/facturapi/facturapi-java diff --git a/src/main/java/io/facturapi/resources/OrganizationsResource.java b/src/main/java/io/facturapi/resources/OrganizationsResource.java index b2011d4..c5fb0de 100644 --- a/src/main/java/io/facturapi/resources/OrganizationsResource.java +++ b/src/main/java/io/facturapi/resources/OrganizationsResource.java @@ -201,6 +201,18 @@ public Series updateSeriesGroup(String organizationId, String seriesName, MapAPI reference + */ + public Organization updateDefaultSeries(String organizationId, Map data) { + return put("/organizations/" + organizationId + "/series-group/default-series", data, null, Organization.class); + } + /** * Deletes an invoice series. */ diff --git a/src/test/java/io/facturapi/FacturapiResourcesTest.java b/src/test/java/io/facturapi/FacturapiResourcesTest.java index e4bbbec..e7705df 100644 --- a/src/test/java/io/facturapi/FacturapiResourcesTest.java +++ b/src/test/java/io/facturapi/FacturapiResourcesTest.java @@ -3,6 +3,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertInstanceOf; import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; import io.facturapi.enums.CancellationStatus; import io.facturapi.enums.InvoiceStatus; @@ -143,6 +144,33 @@ void organizationListLiveApiKeysIsTyped() { assertEquals("/v2/organizations/org_1/apikeys/live", request.uri().getPath()); } + @Test + void organizationDefaultSeriesCanBeUpdated() { + StubHttpClient httpClient = new StubHttpClient(); + httpClient.enqueueJson(200, "{\"id\":\"org_1\"}"); + + Facturapi sdk = new Facturapi( + FacturapiConfig.builder("sk_test") + .httpClient(httpClient.client()) + .build() + ); + + var response = sdk.organizations().updateDefaultSeries( + "org_1", + Map.of( + "type", "I", + "series", "A" + ) + ); + + assertEquals("org_1", response.getId()); + var request = httpClient.requests().get(0); + assertEquals("PUT", request.method()); + assertEquals("/v2/organizations/org_1/series-group/default-series", request.uri().getPath()); + assertTrue(request.bodyUtf8().contains("\"type\":\"I\"")); + assertTrue(request.bodyUtf8().contains("\"series\":\"A\"")); + } + @Test void invoiceComplementsAreTypedForPagoNominaAndCustom() { StubHttpClient httpClient = new StubHttpClient();