From 4f0fbdeeb4dba96b2915e63004266dac5e28bc8b Mon Sep 17 00:00:00 2001 From: paraguaio Date: Mon, 9 Mar 2020 13:24:44 -0300 Subject: [PATCH] Adicionado funcionalidade para trabalhar com proxy, modificado LabelResponse orderNumber para String (aceitar uuid) e adicionado campo cellphone em ShipmentOrderCustomerResquest --- .gitignore | 4 ++- pom.xml | 9 ++++-- .../sdk/client/IntelipostClient.java | 30 ++++++++++++++----- .../sdk/dsl/ShipmentOrderCustomerDSL.java | 5 ++++ .../ShipmentOrderCustomerResquest.java | 1 + .../sdk/resource/LabelResource.java | 4 +++ .../intelipost/sdk/resource/PlpResource.java | 4 +++ .../sdk/resource/QuoteResource.java | 4 +++ .../com/intelipost/sdk/resource/Resource.java | 21 +++++++++++-- .../sdk/resource/ShipmentOrderResource.java | 5 ++++ .../resource/ShipmentOrderStatusResource.java | 5 ++++ .../sdk/resource/TrackingCodeResource.java | 6 ++++ .../sdk/resource/TrackingDataResource.java | 6 ++++ .../sdk/resource/ZipCodeResource.java | 6 ++++ .../sdk/response/LabelResponse.java | 2 +- 15 files changed, 96 insertions(+), 16 deletions(-) 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;