Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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
133 changes: 70 additions & 63 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,25 +32,25 @@ Install the SDK by adding the following dependency in your project's pom.xml fil
<dependency>
<groupId>com.maxio</groupId>
<artifactId>advanced-billing-sdk</artifactId>
<version>7.0.0</version>
<version>7.0.1</version>
</dependency>
```

You can also view the package at:
https://central.sonatype.com/artifact/com.maxio/advanced-billing-sdk/7.0.0
https://central.sonatype.com/artifact/com.maxio/advanced-billing-sdk/7.0.1

## Initialize the API Client

**_Note:_** Documentation for the client can be found [here.](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.0/doc/client.md)
**_Note:_** Documentation for the client can be found [here.](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.1/doc/client.md)

The following parameters are configurable for the API Client:

| Parameter | Type | Description |
| --- | --- | --- |
| site | `String` | The subdomain for your Advanced Billing site.<br>*Default*: `"subdomain"` |
| environment | `Environment` | The API environment. <br> **Default: `Environment.US`** |
| httpClientConfig | [`Consumer<HttpClientConfiguration.Builder>`](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.0/doc/http-client-configuration-builder.md) | Set up Http Client Configuration instance. |
| basicAuthCredentials | [`BasicAuthCredentials`](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.0/doc/auth/basic-authentication.md) | The Credentials Setter for Basic Authentication |
| httpClientConfig | [`Consumer<HttpClientConfiguration.Builder>`](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.1/doc/http-client-configuration-builder.md) | Set up Http Client Configuration instance. |
| basicAuthCredentials | [`BasicAuthCredentials`](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.1/doc/auth/basic-authentication.md) | The Credentials Setter for Basic Authentication |

The API client can be initialized as follows:

Expand All @@ -61,17 +61,22 @@ import com.maxio.advancedbilling.authentication.BasicAuthModel;
import com.maxio.advancedbilling.exceptions.ApiException;
import java.io.IOException;

AdvancedBillingClient client = new AdvancedBillingClient.Builder()
.httpClientConfig(configBuilder -> configBuilder
.timeout(0))
.basicAuthCredentials(new BasicAuthModel.Builder(
"BasicAuthUserName",
"BasicAuthPassword"
)
.build())
.environment(Environment.US)
.site("subdomain")
.build();
public class Program {
public static void main(String[] args) {
AdvancedBillingClient client = new AdvancedBillingClient.Builder()
.httpClientConfig(configBuilder -> configBuilder
.timeout(0))
.basicAuthCredentials(new BasicAuthModel.Builder(
"BasicAuthUserName",
"BasicAuthPassword"
)
.build())
.environment(Environment.US)
.site("subdomain")
.build();

}
}
```

## Environments
Expand All @@ -89,65 +94,67 @@ The SDK can be configured to use a different environment for making API calls. A

This API uses the following authentication schemes.

* [`BasicAuth (Basic Authentication)`](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.0/doc/auth/basic-authentication.md)
* [`BasicAuth (Basic Authentication)`](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.1/doc/auth/basic-authentication.md)

## List of APIs

* [API Exports](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.0/doc/controllers/api-exports.md)
* [Advance Invoice](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.0/doc/controllers/advance-invoice.md)
* [Billing Portal](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.0/doc/controllers/billing-portal.md)
* [Component Price Points](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.0/doc/controllers/component-price-points.md)
* [Custom Fields](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.0/doc/controllers/custom-fields.md)
* [Events-Based Billing Segments](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.0/doc/controllers/events-based-billing-segments.md)
* [Payment Profiles](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.0/doc/controllers/payment-profiles.md)
* [Product Families](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.0/doc/controllers/product-families.md)
* [Product Price Points](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.0/doc/controllers/product-price-points.md)
* [Proforma Invoices](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.0/doc/controllers/proforma-invoices.md)
* [Reason Codes](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.0/doc/controllers/reason-codes.md)
* [Referral Codes](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.0/doc/controllers/referral-codes.md)
* [Sales Commissions](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.0/doc/controllers/sales-commissions.md)
* [Subscription Components](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.0/doc/controllers/subscription-components.md)
* [Subscription Groups](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.0/doc/controllers/subscription-groups.md)
* [Subscription Group Invoice Account](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.0/doc/controllers/subscription-group-invoice-account.md)
* [Subscription Group Status](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.0/doc/controllers/subscription-group-status.md)
* [Subscription Invoice Account](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.0/doc/controllers/subscription-invoice-account.md)
* [Subscription Notes](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.0/doc/controllers/subscription-notes.md)
* [Subscription Products](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.0/doc/controllers/subscription-products.md)
* [Subscription Status](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.0/doc/controllers/subscription-status.md)
* [Coupons](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.0/doc/controllers/coupons.md)
* [Components](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.0/doc/controllers/components.md)
* [Customers](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.0/doc/controllers/customers.md)
* [Events](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.0/doc/controllers/events.md)
* [Insights](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.0/doc/controllers/insights.md)
* [Invoices](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.0/doc/controllers/invoices.md)
* [Offers](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.0/doc/controllers/offers.md)
* [Products](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.0/doc/controllers/products.md)
* [Sites](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.0/doc/controllers/sites.md)
* [Subscriptions](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.0/doc/controllers/subscriptions.md)
* [Webhooks](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.0/doc/controllers/webhooks.md)
* [API Exports](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.1/doc/controllers/api-exports.md)
* [Advance Invoice](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.1/doc/controllers/advance-invoice.md)
* [Billing Portal](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.1/doc/controllers/billing-portal.md)
* [Component Price Points](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.1/doc/controllers/component-price-points.md)
* [Custom Fields](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.1/doc/controllers/custom-fields.md)
* [Events-Based Billing Segments](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.1/doc/controllers/events-based-billing-segments.md)
* [Payment Profiles](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.1/doc/controllers/payment-profiles.md)
* [Product Families](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.1/doc/controllers/product-families.md)
* [Product Price Points](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.1/doc/controllers/product-price-points.md)
* [Proforma Invoices](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.1/doc/controllers/proforma-invoices.md)
* [Reason Codes](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.1/doc/controllers/reason-codes.md)
* [Referral Codes](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.1/doc/controllers/referral-codes.md)
* [Sales Commissions](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.1/doc/controllers/sales-commissions.md)
* [Subscription Components](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.1/doc/controllers/subscription-components.md)
* [Subscription Groups](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.1/doc/controllers/subscription-groups.md)
* [Subscription Group Invoice Account](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.1/doc/controllers/subscription-group-invoice-account.md)
* [Subscription Group Status](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.1/doc/controllers/subscription-group-status.md)
* [Subscription Invoice Account](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.1/doc/controllers/subscription-invoice-account.md)
* [Subscription Notes](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.1/doc/controllers/subscription-notes.md)
* [Subscription Products](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.1/doc/controllers/subscription-products.md)
* [Subscription Status](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.1/doc/controllers/subscription-status.md)
* [Coupons](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.1/doc/controllers/coupons.md)
* [Components](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.1/doc/controllers/components.md)
* [Customers](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.1/doc/controllers/customers.md)
* [Events](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.1/doc/controllers/events.md)
* [Insights](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.1/doc/controllers/insights.md)
* [Invoices](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.1/doc/controllers/invoices.md)
* [Offers](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.1/doc/controllers/offers.md)
* [Products](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.1/doc/controllers/products.md)
* [Sites](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.1/doc/controllers/sites.md)
* [Subscriptions](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.1/doc/controllers/subscriptions.md)
* [Webhooks](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.1/doc/controllers/webhooks.md)

## SDK Infrastructure

### Configuration

* [Configuration Interface](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.0/doc/configuration-interface.md)
* [HttpClientConfiguration](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.0/doc/http-client-configuration.md)
* [HttpClientConfiguration.Builder](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.0/doc/http-client-configuration-builder.md)
* [Configuration Interface](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.1/doc/configuration-interface.md)
* [HttpClientConfiguration](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.1/doc/http-client-configuration.md)
* [HttpClientConfiguration.Builder](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.1/doc/http-client-configuration-builder.md)
* [HttpProxyConfiguration](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.1/doc/http-proxy-configuration.md)
* [HttpProxyConfiguration.Builder](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.1/doc/http-proxy-configuration-builder.md)

### HTTP

* [Headers](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.0/doc/headers.md)
* [HttpCallback Interface](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.0/doc/http-callback-interface.md)
* [HttpContext](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.0/doc/http-context.md)
* [HttpBodyRequest](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.0/doc/http-body-request.md)
* [HttpRequest](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.0/doc/http-request.md)
* [HttpResponse](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.0/doc/http-response.md)
* [HttpStringResponse](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.0/doc/http-string-response.md)
* [Headers](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.1/doc/headers.md)
* [HttpCallback Interface](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.1/doc/http-callback-interface.md)
* [HttpContext](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.1/doc/http-context.md)
* [HttpBodyRequest](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.1/doc/http-body-request.md)
* [HttpRequest](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.1/doc/http-request.md)
* [HttpResponse](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.1/doc/http-response.md)
* [HttpStringResponse](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.1/doc/http-string-response.md)

### Utilities

* [ApiException](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.0/doc/api-exception.md)
* [ApiHelper](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.0/doc/api-helper.md)
* [FileWrapper](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.0/doc/file-wrapper.md)
* [DateTimeHelper](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.0/doc/date-time-helper.md)
* [ApiException](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.1/doc/api-exception.md)
* [ApiHelper](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.1/doc/api-helper.md)
* [FileWrapper](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.1/doc/file-wrapper.md)
* [DateTimeHelper](https://www.github.com/maxio-com/ab-java-sdk/tree/7.0.1/doc/date-time-helper.md)

18 changes: 11 additions & 7 deletions doc/auth/basic-authentication.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,13 +26,17 @@ You must provide credentials in the client as shown in the following code snippe
import com.maxio.advancedbilling.AdvancedBillingClient;
import com.maxio.advancedbilling.authentication.BasicAuthModel;

AdvancedBillingClient client = new AdvancedBillingClient.Builder()
.basicAuthCredentials(new BasicAuthModel.Builder(
"BasicAuthUserName",
"BasicAuthPassword"
)
.build())
.build();
public class Program {
public static void main(String[] args) {
AdvancedBillingClient client = new AdvancedBillingClient.Builder()
.basicAuthCredentials(new BasicAuthModel.Builder(
"BasicAuthUserName",
"BasicAuthPassword"
)
.build())
.build();
}
}
```


27 changes: 16 additions & 11 deletions doc/client.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,17 +19,22 @@ import com.maxio.advancedbilling.authentication.BasicAuthModel;
import com.maxio.advancedbilling.exceptions.ApiException;
import java.io.IOException;

AdvancedBillingClient client = new AdvancedBillingClient.Builder()
.httpClientConfig(configBuilder -> configBuilder
.timeout(0))
.basicAuthCredentials(new BasicAuthModel.Builder(
"BasicAuthUserName",
"BasicAuthPassword"
)
.build())
.environment(Environment.US)
.site("subdomain")
.build();
public class Program {
public static void main(String[] args) {
AdvancedBillingClient client = new AdvancedBillingClient.Builder()
.httpClientConfig(configBuilder -> configBuilder
.timeout(0))
.basicAuthCredentials(new BasicAuthModel.Builder(
"BasicAuthUserName",
"BasicAuthPassword"
)
.build())
.environment(Environment.US)
.site("subdomain")
.build();

}
}
```

## Maxio Advanced BillingClient Class
Expand Down
6 changes: 4 additions & 2 deletions doc/controllers/component-price-points.md
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ try {

# Create Component Price Point

This endpoint can be used to create a new price point for an existing component.
Creates a price point for an existing component.

```java
ComponentPricePointResponse createComponentPricePoint(
Expand Down Expand Up @@ -149,7 +149,9 @@ CreateComponentPricePointRequest body = new CreateComponentPricePointRequest.Bui
"4.00"
)
)
.endingQuantity(null)
.endingQuantity(PriceEndingQuantity.fromString(
"200"
))
.build()
)
)
Expand Down
4 changes: 2 additions & 2 deletions doc/controllers/components.md
Original file line number Diff line number Diff line change
Expand Up @@ -707,9 +707,9 @@ try {

# Read Component

This request will return information regarding a component from a specific product family.
Returns information regarding a component from a specific product family.

You may read the component by either the component's id or handle. When using the handle, it must be prefixed with `handle:`.
You can read the component by either the component's id or handle. When using the handle, it must be prefixed with `handle:`.

```java
ComponentResponse readComponent(
Expand Down
39 changes: 38 additions & 1 deletion doc/controllers/customers.md
Original file line number Diff line number Diff line change
Expand Up @@ -284,7 +284,7 @@ try {

# Read Customer

This method allows to retrieve the Customer properties by Advanced Billing-generated Customer ID.
Retrieves the Customer properties by Advanced Billing-generated Customer ID.

```java
CustomerResponse readCustomer(
Expand Down Expand Up @@ -316,6 +316,43 @@ try {
}
```

## Example Response *(as JSON)*

```json
{
"customer": {
"first_name": "Jane",
"last_name": "Doe",
"email": "[email protected]",
"cc_emails": "[email protected]",
"organization": "ABC, Inc.",
"reference": "1234567890",
"id": 88833369,
"created_at": "2025-05-08T11:39:18-04:00",
"updated_at": "2025-05-08T11:39:18-04:00",
"address": "123 Main Street",
"address_2": "Unit 10",
"city": "Anytown",
"state": "MA",
"state_name": "Massachusetts",
"zip": "02120",
"country": "US",
"country_name": "United States",
"phone": "555-555-1212",
"verified": false,
"portal_customer_created_at": null,
"portal_invite_last_sent_at": null,
"portal_invite_last_accepted_at": null,
"tax_exempt": false,
"vat_number": null,
"parent_id": null,
"locale": "es-MX",
"salesforce_id": null,
"default_auto_renewal_profile_id": null
}
}
```


# Update Customer

Expand Down
Loading
Loading