From 96827c8b75495988162a0a03aa88bc53c876d85e Mon Sep 17 00:00:00 2001 From: Igor Skrynkovskyy Date: Mon, 24 Jun 2024 11:07:55 +0300 Subject: [PATCH 1/2] style: Update README.md --- README.md | 43 +++++++++++++++++++++---------------------- 1 file changed, 21 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index 0a3838e..892cc4f 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,11 @@ Access Route4Me's logistics-as-a-service API using our Node.js SDK ------------------- - [![CircleCI](https://circleci.com/gh/route4me/route4me-nodejs-sdk/tree/master.svg?style=svg)](https://circleci.com/gh/route4me/route4me-nodejs-sdk/tree/master) - [![npm version](https://img.shields.io/npm/v/route4me-nodejs-sdk.svg)][NPM] [![npm downloads](https://img.shields.io/npm/dm/route4me-nodejs-sdk.svg)][NPM] [![GitHub stars](https://img.shields.io/github/stars/badges/shields.svg?style=social&label=Star)](https://github.com/route4me/route4me-node-sdk) - - [![codecov](https://codecov.io/gh/route4me/route4me-nodejs-sdk/branch/master/graph/badge.svg)](https://codecov.io/gh/route4me/route4me-nodejs-sdk) - - [![codebeat badge](https://codebeat.co/badges/79f229c5-27f7-4ab9-8503-2d6fc95052f9)](https://codebeat.co/projects/github-com-route4me-route4me-nodejs-sdk) [![Package Quality](http://npm.packagequality.com/shield/route4me-nodejs-sdk.svg)](http://packagequality.com/#?package=route4me-nodejs-sdk) @@ -27,8 +21,11 @@ $ npm run build $ npm run test ``` +### What does Route4Me do? +In layman's terms Route4Me solves complex variations of the [traveling salesman problem](https://blog.route4me.com/traveling-salesman-problem/) and the [vehicle routing problem](https://blog.route4me.com/vehicle-routing-problems-real-life-solutions/). In more technical terms, Route4Me solves HP-hard logistics problems that span several mathematical and scientific disciplines such as industrial engineering, operations research, algorithmic graph theory, computational geometry, combinatorial optimization, fleet management, field service management, [telematics](https://telematics.route4me.com/). + ### What does the Route4Me SDK permit me to do? -This SDK makes it easier for you use the Route4Me API, which creates optimally sequenced driving routes for many drivers. +This SDK makes it easier for you use the Route4Me API. The API has many features, including [route optimization](https://route4me.io/), and the primary features are related to creating orders and then [creating optimally sequenced driving routes](https://route4me.com) for many drivers. ### Who can use the Route4Me SDK (and API)? The service is typically used by organizations who must route many drivers to many destinations. In addition to route optimization for new (future) routes, the API can also be used to analyze historical routes, and to distribute routes to field personnel. @@ -43,8 +40,6 @@ Route4Me permits any paying subscriber to interact with every part of its system The API is RESTful, which means that it’s web based and can be accessed by other programs and machines The API/SDK should be used to automate the route planning process, or to generate many routes with minimal manual intervention - - ### Do optimized routes automatically appear inside my Route4Me account? Every Route4Me SDK instance needs a unique API key. The API key can be retrieved inside your Route4Me.com account, inside the Settings tab called API. When a route is planned, it appears inside the corresponding Route4Me account. Because Route4Me web and mobile accounts are synchronized, the routes will appear in both environments at the same time. @@ -57,48 +52,52 @@ Address Geocoding & Address Reverse Geocoding Route Optimization & Management Viewing a Route -### What is the recommended architecture for the Route4Me SDK? +### What is the recommended integration architecture for the Route4Me SDK? There are two typical integration strategies that we recommend. Using this SDK, you can make optimization requests and then the SDK polls the Route4Me API to detect state changes as the optimization progresses. Alternatively, you can provide a webhook/callback url, and the API will notify that callback URL every time there is a state change. -### I don't need route management or mobile capabilities. Is there a lower level Route4Me API just for the optimization engine? -Yes. Please contact support@route4me.com to learn about the low-level RESTful API. +### I don't need route management or mobile capabilities. Can I just use the route planning and route optimization API? +There are no additional costs to use the web interface or the mobile application to view your [optimized routes](https://support.route4me.com/route-planner-routes-list/), which mean that you can use only the API without paying extra +for our web app or mobile app. ### How fast is the route Route4Me Optimization Web Service? -Most routes having less than 200 destinations are optimized in 1 second or less. +Most routes having less than 200 destinations are optimized in 1 second or less. Larger routes having thousands of stops are split into their +most reasonably optimal geographical regions, and then each of those regions is independently optimized in parallel. Whether you use polling or push, +you will be able to retrieve all the routes optimized that were created from a large optimization problem set. ### Can I disable optimization when planning routes? Yes. You can send routes with optimization disabled if you want to conveniently see them on a map, or distribute them to your drivers in the order you prefer. ### Can the API be used for aerial vehicles such as drones or self-driving cars? -Yes. The API can accept lat/lng and an unlimited amount of per-address metadata. The metadata will be preserved as passthrough data by our API, so that the receiving device will have access to critical data when our API invokes a webhook callback to the device. +Yes. The API can accept lat/lng and an unlimited amount metadata per destination (e.g. altitude, weight, pieces, cubic dimension). The metadata will be preserved as passthrough data by our API, so that the receiving service or device will have access to critical data when our API invokes a webhook callback to the device. ### Are all my optimized routes stored permanently stored in the Route4Me database? -Yes. All routes are permanently stored in the database and are no longer accessible to you after your subscription is terminated. +Yes. Unless your contract specificies otherwise, all routes are permanently stored in the database and are no longer accessible to you after your subscription is terminated. Route4Me auto-prunes route data +based on your subscription plan, with more expensive plans typically permitting a longer archival period. -### Can I incorporate your API into my mobile application? -Route4Me’s route planning and optimization technology can only be added into applications that do not directly compete with Route4Me. +### Can I incorporate your API into my mobile application that requires routing, navigation, or route planning? +Route4Me's route planning and optimization technology can only be added into applications that do not directly compete with Route4Me. This means the application’s primary capabilities must be unrelated to route optimization, route planning, or navigation. ### Can I pay you to develop a custom algorithm? Yes ### Can I use your API and resell it to my customers? -White-labeling and private-labeling Route4Me is possible but the deal’s licensing terms vary considerably based on customer count, route count, and the level of support that Route4Me should provide to your customers. +White-labeling and private-labeling Route4Me is possible but the deal's licensing terms vary considerably based on customer count, route count, and the level of support that Route4Me should provide to your customers. ### Does the API/SDK have TMS or EDI, or EDI translator capabilities? -Route4Me is currently working on these features but they are not currently available for sale. +Yes ### Can the API/SDK send notifications back to our system using callbacks, notifications, pushes, or webhooks? -Because Route4Me processes all routes asynchronously, Route4Me will conveniently notify the endpoint you specify as the route optimization job progresses through each state of the optimization. Every stage of the route optimization process has a unique stage id. +Because Route4Me processes all routes asynchronously, Route4Me will immediately notify the endpoint you specify as a route optimization job progresses through each state of the optimization. Every stage of the route optimization process has a unique stage id. ### Does the Route4Me API and SDK work in my country? Route4Me.com, as well as all of Route4Me’s mobile applications use the Route4Me SDK’s and API. -Since Route4Me works globally, this means that all of Route4Me’s capabilities are available using the SDK’s in every country +Since Route4Me works globally, this means that all of Route4Me’s capabilities are available using the SDK’s in almost every country that has well digitized maps. -### Will the Route4Me API/SDK work in my program on the Mac, PC, or Linux? +### Will the Route4Me API/SDK work in my program on Linux/*Nix/Kubernetes/Docker, Windows, Mac? Customers are encouraged to select their preferred operating system environment. The Route4Me API/SDK will function on any operating system that supports the preferred programming language of the customer. At this point in time, almost every supported SDK can run on any operating system. From af440e27790b9c0734d69a11350d196ab90dcbaf Mon Sep 17 00:00:00 2001 From: Igor Skrynkovskyy Date: Mon, 24 Jun 2024 11:09:53 +0300 Subject: [PATCH 2/2] style: Update README.md --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 892cc4f..90e1e96 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,4 @@ -Access Route4Me's logistics-as-a-service API using our Node.js SDK -------------------- +# Route4Me Node.js SDK [![CircleCI](https://circleci.com/gh/route4me/route4me-nodejs-sdk/tree/master.svg?style=svg)](https://circleci.com/gh/route4me/route4me-nodejs-sdk/tree/master) [![npm version](https://img.shields.io/npm/v/route4me-nodejs-sdk.svg)][NPM]