diff --git a/.gitignore b/.gitignore
index 7c2d6df..8776569 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,4 +4,6 @@ rebel.xml
.project
/.settings
/target
-*.orig
\ No newline at end of file
+*.orig
+.idea
+.factorypath
diff --git a/pom.xml b/pom.xml
index 09fb1c3..dbaa08f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
br.com.intelipost
sdk-java
- 0.0.8
+ 0.0.13
jar
Intelipost Java SDK
@@ -113,8 +113,8 @@
org.hamcrest
- hamcrest-library
- RELEASE
+ java-hamcrest
+ 2.0.0.0
test
@@ -171,6 +171,9 @@
org.apache.maven.plugins
maven-gpg-plugin
1.5
+
+ true
+
sign-artifacts
diff --git a/src/main/java/br/com/intelipost/sdk/client/IntelipostClient.java b/src/main/java/br/com/intelipost/sdk/client/IntelipostClient.java
index a10c9b9..d614941 100644
--- a/src/main/java/br/com/intelipost/sdk/client/IntelipostClient.java
+++ b/src/main/java/br/com/intelipost/sdk/client/IntelipostClient.java
@@ -21,9 +21,11 @@
import br.com.intelipost.sdk.response.TrackingCodeResponse;
import br.com.intelipost.sdk.response.TrackingDataResponse;
import br.com.intelipost.sdk.response.ZipCodeResponse;
+import org.apache.http.HttpHost;
import java.util.List;
+
public class IntelipostClient {
private ZipCodeResource zipCodeResource;
@@ -36,14 +38,26 @@ public class IntelipostClient {
private LabelResource labelResource;
public IntelipostClient(String apiKey) {
- zipCodeResource = new ZipCodeResource(apiKey);
- trackingCodeResource = new TrackingCodeResource(apiKey);
- trackingDataResource = new TrackingDataResource(apiKey);
- shipmentOrderResource = new ShipmentOrderResource(apiKey);
- shipmentOrderStatusResource = new ShipmentOrderStatusResource(apiKey);
- quoteResource = new QuoteResource(apiKey);
- plpResource = new PlpResource(apiKey);
- labelResource = new LabelResource(apiKey);
+ zipCodeResource = new ZipCodeResource(apiKey, null);
+ trackingCodeResource = new TrackingCodeResource(apiKey, null);
+ trackingDataResource = new TrackingDataResource(apiKey, null);
+ shipmentOrderResource = new ShipmentOrderResource(apiKey, null);
+ shipmentOrderStatusResource = new ShipmentOrderStatusResource(apiKey, null);
+ quoteResource = new QuoteResource(apiKey, null);
+ plpResource = new PlpResource(apiKey, null);
+ labelResource = new LabelResource(apiKey, null);
+ }
+
+
+ public IntelipostClient(String apiKey, HttpHost httpHost) {
+ zipCodeResource = new ZipCodeResource(apiKey, httpHost);
+ trackingCodeResource = new TrackingCodeResource(apiKey, httpHost);
+ trackingDataResource = new TrackingDataResource(apiKey, httpHost);
+ shipmentOrderResource = new ShipmentOrderResource(apiKey, httpHost);
+ shipmentOrderStatusResource = new ShipmentOrderStatusResource(apiKey, httpHost);
+ quoteResource = new QuoteResource(apiKey, httpHost);
+ plpResource = new PlpResource(apiKey, httpHost);
+ labelResource = new LabelResource(apiKey, httpHost);
}
public ZipCodeResponse getZipCodeInfo(String zipCode) {
diff --git a/src/main/java/br/com/intelipost/sdk/dsl/ShipmentOrderCustomerDSL.java b/src/main/java/br/com/intelipost/sdk/dsl/ShipmentOrderCustomerDSL.java
index bb6b0d7..c748f79 100644
--- a/src/main/java/br/com/intelipost/sdk/dsl/ShipmentOrderCustomerDSL.java
+++ b/src/main/java/br/com/intelipost/sdk/dsl/ShipmentOrderCustomerDSL.java
@@ -34,6 +34,11 @@ public ShipmentOrderCustomerDSL phone(String phone){
return this;
}
+ public ShipmentOrderCustomerDSL cellPhone(String cellPhone){
+ customer.setCellphone(cellPhone);
+ return this;
+ }
+
public ShipmentOrderCustomerDSL federalTaxPayerId(String federalTaxPayerId){
customer.setTaxPayerId(federalTaxPayerId);
return this;
diff --git a/src/main/java/br/com/intelipost/sdk/request/ShipmentOrderCustomerResquest.java b/src/main/java/br/com/intelipost/sdk/request/ShipmentOrderCustomerResquest.java
index 5e99bf2..dc9f440 100644
--- a/src/main/java/br/com/intelipost/sdk/request/ShipmentOrderCustomerResquest.java
+++ b/src/main/java/br/com/intelipost/sdk/request/ShipmentOrderCustomerResquest.java
@@ -13,6 +13,7 @@ public class ShipmentOrderCustomerResquest {
private String email;
private String phone;
+ private String cellphone;
@JsonProperty("first_name")
private String firstName;
diff --git a/src/main/java/br/com/intelipost/sdk/resource/LabelResource.java b/src/main/java/br/com/intelipost/sdk/resource/LabelResource.java
index d7e396a..058f600 100644
--- a/src/main/java/br/com/intelipost/sdk/resource/LabelResource.java
+++ b/src/main/java/br/com/intelipost/sdk/resource/LabelResource.java
@@ -1,5 +1,6 @@
package br.com.intelipost.sdk.resource;
+import org.apache.http.HttpHost;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -13,6 +14,9 @@ public class LabelResource extends Resource {
public LabelResource(String apiKey) {
super(apiKey);
}
+ public LabelResource(String apiKey, HttpHost httpHost) {
+ super(apiKey, httpHost);
+ }
public LabelResponse getLabel(String orderNumber, Integer shipmentOrderVolumeNumber) {
try {
diff --git a/src/main/java/br/com/intelipost/sdk/resource/PlpResource.java b/src/main/java/br/com/intelipost/sdk/resource/PlpResource.java
index c292fed..c69ced6 100644
--- a/src/main/java/br/com/intelipost/sdk/resource/PlpResource.java
+++ b/src/main/java/br/com/intelipost/sdk/resource/PlpResource.java
@@ -2,6 +2,7 @@
import br.com.intelipost.sdk.request.PlpRequest;
import br.com.intelipost.sdk.response.Response;
+import org.apache.http.HttpHost;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -12,6 +13,9 @@ public class PlpResource extends Resource {
public PlpResource(String apiKey) {
super(apiKey);
}
+ public PlpResource(String apiKey, HttpHost httpHost) {
+ super(apiKey, httpHost);
+ }
public Response send(PlpRequest requestBody) {
try {
diff --git a/src/main/java/br/com/intelipost/sdk/resource/QuoteResource.java b/src/main/java/br/com/intelipost/sdk/resource/QuoteResource.java
index 944b3ff..f274784 100644
--- a/src/main/java/br/com/intelipost/sdk/resource/QuoteResource.java
+++ b/src/main/java/br/com/intelipost/sdk/resource/QuoteResource.java
@@ -3,6 +3,7 @@
import br.com.intelipost.sdk.request.QuoteRequest;
import br.com.intelipost.sdk.response.QuoteResponse;
import br.com.intelipost.sdk.response.Response;
+import org.apache.http.HttpHost;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -13,6 +14,9 @@ public class QuoteResource extends Resource {
public QuoteResource(String apiKey) {
super(apiKey);
}
+ public QuoteResource(String apiKey, HttpHost httpHost) {
+ super(apiKey, httpHost);
+ }
public QuoteResponse doShippingQuote(QuoteRequest requestBody) {
try {
diff --git a/src/main/java/br/com/intelipost/sdk/resource/Resource.java b/src/main/java/br/com/intelipost/sdk/resource/Resource.java
index 9756e6d..fb9842b 100644
--- a/src/main/java/br/com/intelipost/sdk/resource/Resource.java
+++ b/src/main/java/br/com/intelipost/sdk/resource/Resource.java
@@ -6,6 +6,7 @@
import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
import br.com.intelipost.sdk.response.Response;
+import org.apache.http.HttpHost;
import org.apache.http.client.fluent.Request;
import org.apache.http.entity.ContentType;
@@ -15,9 +16,19 @@ public abstract class Resource {
protected ObjectMapper objectMapper;
protected String apiKey;
+ private HttpHost httpHost;
private String apiUrl;
public Resource(String apiKey) {
+ this.init(apiKey);
+ }
+
+ public Resource(String apiKey, HttpHost httpHost) {
+ this.init(apiKey);
+ this.httpHost = httpHost;
+ }
+
+ private void init(String apiKey) {
this.objectMapper = new ObjectMapper();
this.objectMapper.registerModule(new JavaTimeModule());
this.objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
@@ -27,12 +38,15 @@ public Resource(String apiKey) {
this.apiUrl = "https://api.intelipost.com.br/api/v1";
}
+
protected Response doGetRequest(String path) throws Exception {
+
JsonNode json = Request.Get(apiUrl + path)
- .addHeader("api_key", apiKey)
- .execute()
- .handleResponse(httpResponse -> objectMapper.readTree(httpResponse.getEntity().getContent()));
+ .addHeader("api_key", apiKey)
+ .viaProxy(this.httpHost)
+ .execute()
+ .handleResponse(httpResponse -> objectMapper.readTree(httpResponse.getEntity().getContent()));
return processResponse(json);
}
@@ -42,6 +56,7 @@ protected Response doPostRequest(String path, REQUEST requestBody) throws Except
JsonNode json = Request.Post(apiUrl + path)
.addHeader("api_key", apiKey)
+ .viaProxy(this.httpHost)
.bodyString(objectMapper.writeValueAsString(requestBody), ContentType.APPLICATION_JSON)
.execute()
.handleResponse(httpResponse -> objectMapper.readTree(httpResponse.getEntity().getContent()));
diff --git a/src/main/java/br/com/intelipost/sdk/resource/ShipmentOrderResource.java b/src/main/java/br/com/intelipost/sdk/resource/ShipmentOrderResource.java
index 965745b..a709f9f 100644
--- a/src/main/java/br/com/intelipost/sdk/resource/ShipmentOrderResource.java
+++ b/src/main/java/br/com/intelipost/sdk/resource/ShipmentOrderResource.java
@@ -4,6 +4,7 @@
import br.com.intelipost.sdk.request.ShipmentOrderRequest;
import br.com.intelipost.sdk.response.Response;
import br.com.intelipost.sdk.response.ShipmentOrderResponse;
+import org.apache.http.HttpHost;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -16,6 +17,10 @@ public ShipmentOrderResource(String apiKey) {
super(apiKey);
}
+ public ShipmentOrderResource(String apiKey, HttpHost httpHost) {
+ super(apiKey, httpHost);
+ }
+
public ShipmentOrderResponse getShipmentOrder(String orderNumber) {
try {
diff --git a/src/main/java/br/com/intelipost/sdk/resource/ShipmentOrderStatusResource.java b/src/main/java/br/com/intelipost/sdk/resource/ShipmentOrderStatusResource.java
index 4569bb9..91b55f5 100644
--- a/src/main/java/br/com/intelipost/sdk/resource/ShipmentOrderStatusResource.java
+++ b/src/main/java/br/com/intelipost/sdk/resource/ShipmentOrderStatusResource.java
@@ -4,6 +4,7 @@
import com.fasterxml.jackson.databind.JsonNode;
import br.com.intelipost.sdk.request.ShipmentOrderStatusRequest;
import br.com.intelipost.sdk.response.Response;
+import org.apache.http.HttpHost;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -17,6 +18,10 @@ public ShipmentOrderStatusResource(String apiKey) {
super(apiKey);
}
+ public ShipmentOrderStatusResource(String apiKey, HttpHost httpHost) {
+ super(apiKey, httpHost);
+ }
+
public Response setAsReadyToShip(List shipmentOrders) {
try {
JsonNode requestBody = objectMapper.valueToTree(shipmentOrders);
diff --git a/src/main/java/br/com/intelipost/sdk/resource/TrackingCodeResource.java b/src/main/java/br/com/intelipost/sdk/resource/TrackingCodeResource.java
index a10f4b4..35afebe 100644
--- a/src/main/java/br/com/intelipost/sdk/resource/TrackingCodeResource.java
+++ b/src/main/java/br/com/intelipost/sdk/resource/TrackingCodeResource.java
@@ -3,6 +3,8 @@
import br.com.intelipost.sdk.request.TrackingCodeRequest;
import br.com.intelipost.sdk.response.Response;
import br.com.intelipost.sdk.response.TrackingCodeResponse;
+import org.apache.http.HttpHost;
+import org.apache.http.client.methods.HttpPost;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -14,6 +16,10 @@ public TrackingCodeResource(String apiKey) {
super(apiKey);
}
+ public TrackingCodeResource(String apiKey, HttpHost httpHost) {
+ super(apiKey, httpHost);
+ }
+
public TrackingCodeResponse getTrackingCode(TrackingCodeRequest trackingCodeRequest) {
try {
diff --git a/src/main/java/br/com/intelipost/sdk/resource/TrackingDataResource.java b/src/main/java/br/com/intelipost/sdk/resource/TrackingDataResource.java
index c15678b..fe395c7 100644
--- a/src/main/java/br/com/intelipost/sdk/resource/TrackingDataResource.java
+++ b/src/main/java/br/com/intelipost/sdk/resource/TrackingDataResource.java
@@ -3,6 +3,7 @@
import br.com.intelipost.sdk.request.TrackingDataRequest;
import br.com.intelipost.sdk.response.Response;
import br.com.intelipost.sdk.response.TrackingDataResponse;
+import org.apache.http.HttpHost;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -14,6 +15,11 @@ public TrackingDataResource(String apiKey) {
super(apiKey);
}
+ public TrackingDataResource(String apiKey, HttpHost httpHost) {
+ super(apiKey, httpHost);
+ }
+
+
public TrackingDataResponse updateTrackingData(TrackingDataRequest trackingDataRequest) {
try {
Response response = doPostRequest("/shipment_order/set_tracking_data", trackingDataRequest);
diff --git a/src/main/java/br/com/intelipost/sdk/resource/ZipCodeResource.java b/src/main/java/br/com/intelipost/sdk/resource/ZipCodeResource.java
index 0350d18..1de666b 100644
--- a/src/main/java/br/com/intelipost/sdk/resource/ZipCodeResource.java
+++ b/src/main/java/br/com/intelipost/sdk/resource/ZipCodeResource.java
@@ -2,6 +2,7 @@
import br.com.intelipost.sdk.response.Response;
import br.com.intelipost.sdk.response.ZipCodeResponse;
+import org.apache.http.HttpHost;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -13,6 +14,11 @@ public ZipCodeResource(String apiKey) {
super(apiKey);
}
+ public ZipCodeResource(String apiKey, HttpHost httpHost) {
+ super(apiKey, httpHost);
+ }
+
+
public ZipCodeResponse getZipCodeInfo(String zipCode) {
try {
diff --git a/src/main/java/br/com/intelipost/sdk/response/LabelResponse.java b/src/main/java/br/com/intelipost/sdk/response/LabelResponse.java
index cd1bfd5..307c516 100644
--- a/src/main/java/br/com/intelipost/sdk/response/LabelResponse.java
+++ b/src/main/java/br/com/intelipost/sdk/response/LabelResponse.java
@@ -11,7 +11,7 @@
public class LabelResponse {
@JsonProperty("order_number")
- private Long orderNumber;
+ private String orderNumber;
@JsonProperty("shipment_order_volume_number")
private Long shipmentOrderVolumeNumber;