Skip to content

Commit a1ac8a5

Browse files
authored
Merge pull request #3 from FacturAPI/feat/update-default-series
[codex] Add updateDefaultSeries and release automation
2 parents ea2c770 + 2fa6bb7 commit a1ac8a5

6 files changed

Lines changed: 51 additions & 5 deletions

File tree

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [1.1.0] - 2026-04-16
9+
10+
### Added
11+
12+
- Add `organizations.updateDefaultSeries` to set an organization's default series by document type.
13+
814
## [1.0.0] - 2026-04-07
915

1016
### Added

README.es.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,14 @@ Maven:
2929
<dependency>
3030
<groupId>io.facturapi</groupId>
3131
<artifactId>facturapi-java</artifactId>
32-
<version>1.0.0</version>
32+
<version>1.1.0</version>
3333
</dependency>
3434
```
3535

3636
Gradle:
3737

3838
```gradle
39-
implementation("io.facturapi:facturapi-java:1.0.0")
39+
implementation("io.facturapi:facturapi-java:1.1.0")
4040
```
4141

4242
## Inicio rápido

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,14 @@ Maven:
2929
<dependency>
3030
<groupId>io.facturapi</groupId>
3131
<artifactId>facturapi-java</artifactId>
32-
<version>1.0.0</version>
32+
<version>1.1.0</version>
3333
</dependency>
3434
```
3535

3636
Gradle:
3737

3838
```gradle
39-
implementation("io.facturapi:facturapi-java:1.0.0")
39+
implementation("io.facturapi:facturapi-java:1.1.0")
4040
```
4141

4242
## Quickstart

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
<groupId>io.facturapi</groupId>
77
<artifactId>facturapi-java</artifactId>
8-
<version>1.0.0</version>
8+
<version>1.1.0</version>
99
<name>facturapi-java</name>
1010
<description>Official Java SDK for Facturapi</description>
1111
<url>https://github.com/facturapi/facturapi-java</url>

src/main/java/io/facturapi/resources/OrganizationsResource.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,18 @@ public Series updateSeriesGroup(String organizationId, String seriesName, Map<St
201201
return put("/organizations/" + organizationId + "/series-group/" + seriesName, data, null, Series.class);
202202
}
203203

204+
/**
205+
* Sets the default invoice series for a document type.
206+
*
207+
* @param organizationId Organization id.
208+
* @param data Default series payload.
209+
* @return Updated organization configuration.
210+
* @see <a href="https://docs.facturapi.io/api#operation/updateDefaultSeries">API reference</a>
211+
*/
212+
public Organization updateDefaultSeries(String organizationId, Map<String, Object> data) {
213+
return put("/organizations/" + organizationId + "/series-group/default-series", data, null, Organization.class);
214+
}
215+
204216
/**
205217
* Deletes an invoice series.
206218
*/

src/test/java/io/facturapi/FacturapiResourcesTest.java

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import static org.junit.jupiter.api.Assertions.assertEquals;
44
import static org.junit.jupiter.api.Assertions.assertInstanceOf;
55
import static org.junit.jupiter.api.Assertions.assertNotNull;
6+
import static org.junit.jupiter.api.Assertions.assertTrue;
67

78
import io.facturapi.enums.CancellationStatus;
89
import io.facturapi.enums.InvoiceStatus;
@@ -143,6 +144,33 @@ void organizationListLiveApiKeysIsTyped() {
143144
assertEquals("/v2/organizations/org_1/apikeys/live", request.uri().getPath());
144145
}
145146

147+
@Test
148+
void organizationDefaultSeriesCanBeUpdated() {
149+
StubHttpClient httpClient = new StubHttpClient();
150+
httpClient.enqueueJson(200, "{\"id\":\"org_1\"}");
151+
152+
Facturapi sdk = new Facturapi(
153+
FacturapiConfig.builder("sk_test")
154+
.httpClient(httpClient.client())
155+
.build()
156+
);
157+
158+
var response = sdk.organizations().updateDefaultSeries(
159+
"org_1",
160+
Map.of(
161+
"type", "I",
162+
"series", "A"
163+
)
164+
);
165+
166+
assertEquals("org_1", response.getId());
167+
var request = httpClient.requests().get(0);
168+
assertEquals("PUT", request.method());
169+
assertEquals("/v2/organizations/org_1/series-group/default-series", request.uri().getPath());
170+
assertTrue(request.bodyUtf8().contains("\"type\":\"I\""));
171+
assertTrue(request.bodyUtf8().contains("\"series\":\"A\""));
172+
}
173+
146174
@Test
147175
void invoiceComplementsAreTypedForPagoNominaAndCustom() {
148176
StubHttpClient httpClient = new StubHttpClient();

0 commit comments

Comments
 (0)