diff --git a/src/main/java/com/route4me/sdk/examples/advancedconstraints/DriversScheduleswithTerritoriesV3.java b/src/main/java/com/route4me/sdk/examples/advancedconstraints/DriversScheduleswithTerritoriesV3.java index af8af0f..a0542eb 100644 --- a/src/main/java/com/route4me/sdk/examples/advancedconstraints/DriversScheduleswithTerritoriesV3.java +++ b/src/main/java/com/route4me/sdk/examples/advancedconstraints/DriversScheduleswithTerritoriesV3.java @@ -160,7 +160,7 @@ public static void main(String[] args) { optParameters.setAddresses(addresses); try { - DataObject responseObject = manager.runOptimization(optParameters); + DataObject responseObject = manager.runOptimizationWithRedirect0(optParameters); System.out.println("Optimization Problem ID:" + responseObject.getOptimizationProblemId()); System.out.println("State:" + OptimizationState.get(responseObject.getState().intValue())); if (responseObject.getAddresses() != null) { diff --git a/src/main/java/com/route4me/sdk/examples/orders/GetOrdersByCustomFields.java b/src/main/java/com/route4me/sdk/examples/orders/GetOrdersByCustomFields.java index 0b97197..2ab76de 100644 --- a/src/main/java/com/route4me/sdk/examples/orders/GetOrdersByCustomFields.java +++ b/src/main/java/com/route4me/sdk/examples/orders/GetOrdersByCustomFields.java @@ -2,7 +2,6 @@ package com.route4me.sdk.examples.orders; import com.route4me.sdk.exception.APIException; -import com.route4me.sdk.services.orders.Order; import com.route4me.sdk.services.orders.OrderRequest; import com.route4me.sdk.services.orders.OrdersManager; @@ -13,7 +12,7 @@ public static void main(String[] args) { String apiKey = System.getenv("R4M_API_KEY"); OrdersManager manager = new OrdersManager(apiKey); try { - List orders = manager.getOrders(new OrderRequest().setFields("member_id,order_id")); + List> orders = manager.getOrdersByCustomFields(new OrderRequest().setFields("member_id,order_id")); System.out.println(orders); } catch (APIException e) { //handle exception diff --git a/src/main/java/com/route4me/sdk/examples/pickupdropoff/PickupDropoffJoint.java b/src/main/java/com/route4me/sdk/examples/pickupdropoff/PickupDropoffJoint.java index 5e7b550..f466ba7 100644 --- a/src/main/java/com/route4me/sdk/examples/pickupdropoff/PickupDropoffJoint.java +++ b/src/main/java/com/route4me/sdk/examples/pickupdropoff/PickupDropoffJoint.java @@ -43,7 +43,7 @@ public static void main(String[] args) { address = new Address("4805 BELLEVUE AVE, Louisville, KY, 40215", 38.178844, -85.774864, 300); address.setPickUp("PD0004"); - address.setJoint(1); + address.setJoint(true); address.setAlias("Pickup - Customer 004"); addresses.add(address); diff --git a/src/main/java/com/route4me/sdk/examples/routes/AssignVehicle.java b/src/main/java/com/route4me/sdk/examples/routes/AssignVehicle.java index 7f1f5c4..e8f0ed7 100644 --- a/src/main/java/com/route4me/sdk/examples/routes/AssignVehicle.java +++ b/src/main/java/com/route4me/sdk/examples/routes/AssignVehicle.java @@ -7,6 +7,7 @@ import com.route4me.sdk.exception.APIException; import com.route4me.sdk.services.routing.Route; +import com.route4me.sdk.services.routing.RoutesRequest; import com.route4me.sdk.services.routing.RoutingManager; /** @@ -19,9 +20,9 @@ public static void main(String[] args) { String apiKey = System.getenv("R4M_API_KEY"); RoutingManager routeManager = new RoutingManager(apiKey); try { - String routeId = "FA249A8FAC4D7FA7938C77784737481F"; - String vehicleId = "64ACF1E576D078D853F935E788A42F93"; - Route newRoute = routeManager.assignVehicle(routeId, vehicleId); + Route route = routeManager.getRoute(new RoutesRequest().setId("")); //SET VALID ROUTE ID + String vehicleId = ""; //SET VALID VEHICLE ID + Route newRoute = routeManager.assignVehicle(route, vehicleId); System.out.println(newRoute); } catch (APIException e) { //handle exceptions diff --git a/src/main/java/com/route4me/sdk/examples/telematics/TelematicsGetVendorInfo.java b/src/main/java/com/route4me/sdk/examples/telematics/TelematicsGetVendorInfo.java index 942122b..9e38819 100644 --- a/src/main/java/com/route4me/sdk/examples/telematics/TelematicsGetVendorInfo.java +++ b/src/main/java/com/route4me/sdk/examples/telematics/TelematicsGetVendorInfo.java @@ -8,6 +8,7 @@ import com.route4me.sdk.exception.APIException; import com.route4me.sdk.services.telematics.TelematicsManager; import com.route4me.sdk.services.telematics.TelematicsVendorsInfo; + import java.util.logging.Level; import java.util.logging.Logger; diff --git a/src/main/java/com/route4me/sdk/services/orders/OrdersManager.java b/src/main/java/com/route4me/sdk/services/orders/OrdersManager.java index 3acb526..1d04c8f 100644 --- a/src/main/java/com/route4me/sdk/services/orders/OrdersManager.java +++ b/src/main/java/com/route4me/sdk/services/orders/OrdersManager.java @@ -36,6 +36,11 @@ public List getOrders(OrderRequest request) throws APIException { return this.makeJSONRequest(RequestMethod.GET, builder, request, GetOrdersResponse.class).getResults(); } + public List> getOrdersByCustomFields(OrderRequest request) throws APIException { + URIBuilder builder = Manager.defaultBuilder(ORDERS_EP); + return this.makeJSONRequest(RequestMethod.GET, builder, request, GetOrdersResponseByCustomFields.class).getResults(); + } + public List getOrdersByScheduledDate(List scheduledForYYMMDD) throws APIException { return this.getOrdersByScheduledDate(scheduledForYYMMDD, 30, 0); } @@ -106,10 +111,20 @@ private static class GetOrdersResponse { private Integer total; } + @Getter + @Setter(AccessLevel.PRIVATE) + private static class GetOrdersResponseByCustomFields { + @SerializedName("results") + private List> results; + @SerializedName("total") + private Integer total; + @SerializedName("fields") + private List fields; + } + @Data @RequiredArgsConstructor private static class DeleteOrdersRequest { - @SerializedName("order_ids") private final long[] orderIds; } diff --git a/src/main/java/com/route4me/sdk/services/routing/Address.java b/src/main/java/com/route4me/sdk/services/routing/Address.java index 5a54f4d..5293a65 100644 --- a/src/main/java/com/route4me/sdk/services/routing/Address.java +++ b/src/main/java/com/route4me/sdk/services/routing/Address.java @@ -165,7 +165,7 @@ public class Address { @SerializedName("dropoff") private String dropOff; @SerializedName("joint") - private Integer joint; + private Boolean joint; @SerializedName("tags") @QueryParameter("tags") diff --git a/src/main/java/com/route4me/sdk/services/routing/RoutingManager.java b/src/main/java/com/route4me/sdk/services/routing/RoutingManager.java index 13e7313..bbbcca9 100644 --- a/src/main/java/com/route4me/sdk/services/routing/RoutingManager.java +++ b/src/main/java/com/route4me/sdk/services/routing/RoutingManager.java @@ -65,6 +65,12 @@ public DataObject runOptimization(OptimizationParameters parameters) throws APIE URIBuilder builder = Manager.defaultBuilder(OPTIMIZATION_EP); return this.makeJSONRequest(RequestMethod.POST, builder, parameters, DataObject.class); } + + public DataObject runOptimizationWithRedirect0(OptimizationParameters parameters) throws APIException { + URIBuilder builder = Manager.defaultBuilder(OPTIMIZATION_EP); + builder.setParameter("redirect", "0"); + return this.makeJSONRequest(RequestMethod.POST, builder, parameters, DataObject.class); + } public DataObject[] runOptimizationMulti(OptimizationParameters parameters) throws APIException { URIBuilder builder = Manager.defaultBuilder(OPTIMIZATION_EP); @@ -138,7 +144,7 @@ public DataObject moveAddresses(DataObject dataObj, String routeId) throws APIEx } public void deleteAddress(String routeId, Number routeDestinationId) throws APIException { - URIBuilder builder = Manager.defaultBuilder(ROUTE_EP); + URIBuilder builder = Manager.defaultBuilder(ADDRESS_EP); builder.setParameter("route_id", routeId); builder.setParameter("route_destination_id", routeDestinationId.toString()); this.makeRequest(RequestMethod.DELETE, builder, "", null); @@ -231,6 +237,16 @@ public Route assignVehicle(String routeId, String vehicle_id) throws APIExceptio route.setParameters(params); return updateRoute(route); } + + public Route assignVehicle(Route route, String vehicle_id) throws APIException { + Parameters params = new Parameters(); + params.setVehicleId(vehicle_id); + route.setParameters(params); + URIBuilder builder = Manager.defaultBuilder(ROUTE_EP); + String routeId = route.getId(); + builder.setParameter("route_id", routeId); + return this.makeJSONRequest(RequestMethod.PUT, builder, route.getParameters(), Route.class); + } public RouteDeletedResponse deleteRoutes(String... routeIds) throws APIException { URIBuilder builder = Manager.defaultBuilder(ROUTE_EP); diff --git a/src/main/java/com/route4me/sdk/services/telematics/TelematicsManager.java b/src/main/java/com/route4me/sdk/services/telematics/TelematicsManager.java index 6d5b05d..c8ebd2b 100644 --- a/src/main/java/com/route4me/sdk/services/telematics/TelematicsManager.java +++ b/src/main/java/com/route4me/sdk/services/telematics/TelematicsManager.java @@ -28,7 +28,7 @@ public TelematicsManager(String apiKey) { super(apiKey); } - private URIBuilder getTelemaricsVendorURI() { + private URIBuilder getTelematicsVendorURI() { URIBuilder builder = new URIBuilder(); builder.setScheme("https"); builder.setHost("telematics.route4me.com"); @@ -50,20 +50,18 @@ public List getTelematicsConnections(String apiToken) thro } public TelematicsVendorsInfo getTelematicsVendorsInfo() throws APIException { - URIBuilder builder = getTelemaricsVendorURI(); + URIBuilder builder = getTelematicsVendorURI(); return makeRequest(RequestMethod.GET, builder, "", TelematicsVendorsInfo.class); - } public TelematicsVendorsInfo getTelematicsVendorInfo(String vendorID) throws APIException { - URIBuilder builder = getTelemaricsVendorURI(); + URIBuilder builder = getTelematicsVendorURI(); builder.setParameter("vendor_id", vendorID); return makeRequest(RequestMethod.GET, builder, "", TelematicsVendorsInfo.class); - } private TelematicsVendorsInfo searchVendor(String country, String size, String keyWord, String feature, String page, String perPage) throws APIException { - URIBuilder builder = getTelemaricsVendorURI(); + URIBuilder builder = getTelematicsVendorURI(); if (country != null) { builder.setParameter("country", country); } @@ -172,7 +170,7 @@ private List parseVendorFeaturesComparison(Telematic } public List compareTelematicsVendors(String vendorIDs) throws APIException { - URIBuilder builder = getTelemaricsVendorURI(); + URIBuilder builder = getTelematicsVendorURI(); builder.setParameter("vendors", vendorIDs); TelematicsVendorsInfo vendors = makeRequest(RequestMethod.GET, builder, "", TelematicsVendorsInfo.class); return parseVendorFeaturesComparison(vendors);