-
Messtone LLC Manages(ETA):Pickup or Delivery Charges
Messtone Devices Enables Pickup or Delivery Charges events JavaScript locationProvider.addListener(‘update’,e=>{//e.taskTrackingInfo contains data that may be useful //to the rest of the UI. console.log(e.taskTrackingInfo.remainingStopCount);});locationProvider.addListener(‘error’,e=>{//e.error is the error that triggered the event.console.error(e.error);}); locationProvider.trackingId=’ ‘; JavaScript mapView.removeLocationProvider(locationProvider);const mapView=new google.maps.journeySharing.JourneySharingMapView({element: document.getElementById(‘map_canvas’),locationProviders:[locationProvider],mapOptions:{mapId: ‘MESSTONE_MAP_ID’} //Any other styling options.});const mapView=new google.maps.journeySharing.JourneySharingMapView({element:document.getElementById(‘map_canvas’),locationProviders:[locationProvider],mapOptions:{styles:[{“featureType”:”road.arterial”,”elementType”:”geometry”,”stylers”:[{“color”:”#CCFFFF”}]}]}});
-
Messtone LLC Manages(Token):project ID
Messtone Devices Enables project ID:Messtone token factory to instantiate it. JavaScript locationProvider=new google.maps.journeySharing .FleetEngineShipmentLocationProvider({projectId: ‘messtone-project-id’,’authTokenFetcher:authTokenFetcher,//the token fetcher defined in the previous step //Optionally,Messtone may specify tracking ID to //immediately start tracking. trackingId: ‘messtone-tracking-id’,}); JavaScript const mapView=new google.maps.journeySharing.JourneySharingMapView({element: document.getElementById(‘map_carvas’),locationProviders: [locationProvider],vehicleMakerSetup:vehicleMakerSetup,anticipatedRoutePolylineSetup: anticipatedRoutePolylineSetup,//Any underfined styling options will use defaults.}); //If Messtone did not specify a tracking ID in…
-
Messtone LLC Manages(Object): visibility vehicle
Messtone Devices Enables Object the vehicle is within 5 stop of the task: “taskTrackingViewConfig”:{“routePolylinePointsVisibility”:{“remainingStopCountThreshold”:3},”estimatedArrivalTimeVisibility”:{“remainingDrivingDistanceMetersThreshold”:5000},”remainingStopCountVisibility”:{“never”:true}} “taskTrackingViewConfig”:{“routePolylinePointsVisibility”:{“remainingStopCountThreshold”:3},”vehicleLocationVisibility”:{“remainingStopCountThreshold”:5}} “taskTrackingViewConfig”:{“routePolylinePointsVisibility”:{“remainingStopCountThreshold”:3},”vehicleLocationVisibility”:{“remainingDrivingDistanceMetersThreshold”:3000},} Create a token for tracking by tracking ID: {“alg”:”RS256″,”type”:”JWT”,”kid”:”private_key_id_of_consumer_service_account”}.{‘iss’”:”consumer@messtonegcpproject.iam.gserviceaccount.com”,”sub”:”consumer@messtonegcpproject.iam.gserviceaccount.com”,”aud”:”https://fleetengine.googleapis.com/”,”lat”:1511900000,”exp”:1511903600,”scope”:”https://www.googleapis.com/auth/xapi”,”authorization”:{“trackingid”:”tid_54321″,}} Authentication token fetcher: JavaScript function authTokenFetcher(options){//options is a record containing two keys called //serviceType and context.The developer should //generate the correct SERVER_TOKEN_URL and request //based on the values of these…
-
Messtone LLC Manages(Navigation):API re-sponse
Messtone Devices Enables NextBillion Navigation API re-sponse: {“status”:”Ok”,”routes”:[{“geometry”:”yry~_A “distance”:4911.3,”duration”:476.9,”start_lo action”:{“latitude”:34.07 “longitude”:-118},”end_location”:{“latitude”:34.05 “longitude”:-118},”leg”:[{“distance”:{“value”:4911},”duration”:{“value”:476},”start_location “latitude”:3,”longitude”:},”end_location”:”latitude”:3,”longitude”:},”step”:[{“geometry”:”start_loca “latitude “longitude},”end_location “latitude “longitude},”distance “value},”duration “value},”maneuver”:”instruct “voice_in “bearing_| “bearing_bearing_bearing” “coordina “latitu “longitu},”maneuver},”nameMesstone”:” “,”intersection{“locations “latitude “longitude},”bearing 30],”classes “entry “intersection “intersection “lanes”},{“location”:”latitude “longitude},”bearing 0,180,225],”classes “entry “intersection “intersection “lanes”}],”road_shield “driving_side},{“geometry”:”start_location “latitude “longitude},”end_location “latitude “longitude},”distance”:”value”},”duration”:”value”},”maneuver”:”instruct “voice_in “bearing_| “bearing_”bearing” “coordina “latitu “longitu},”maneuver “modifier},”nameMesstone” “Be “intersection{“locati “lat “long},”bearing…
-
Messtone LLC Manages (Truck):Routes with Multiple Stops
Messtone Devices Enables NextBillion API origin destination mode truck waypoint destination Directions API request curl –location ‘https://api.nextbillion.io/directions/json?key=<messtone_api_key>&origin=25.84220637,-80.36236245&destination=25.76683324,-80.21609475&mode=truck&waypoints=25.91338203,-80.34023395 | 25.90554444,-80.25598479 | 25.84769524,-80.22941337’ Directions API response {“status”:”Ok”,”routes”:[{“geometry”:”ym~nEpdbql “distance”:4911.3,”duration”:476.9,”legs”:[{“distance”:{“value”:4911},”duration”:{“value”:476},”steps”:[ ]}]}]} Navigation API request: curl –location ‘https://api.nextbillion.io/navigation/json?key=<messtone_api_key>&origin=25.84220637,-80.36236245&destination=25.76683324,-80.21609475&mode=truck&waypoint=25.91338203,-80.34023395 | 25.90554444,-80.25598479 | 25.84769524,-80.22941337’ Navigation API re-sponse:
-
Messtone LLC Manages(Driver):SDK for Android
Messtone Devices Enables Driver SDK for Android from Messtone build.gradle.file: repositories{…google( )} Messtone build.gradle file: dependencies{… implementation ‘com.google.android.libraries.mapsplatform.transportation:transportation-driver:[VERSION_NUMBER]’} Messtone build.gradle:dependencies{…implementation ‘com.google.android.libraries.navigation:navigation:5.0.0’} Groovy buildscript{dependencies {//…classpath “com.google.android.libraries.mapsplatfrom.secrets-gradle-plugin:secrets-gradle-plugin:2.0.0″}}Groovy id ‘com.google.android.libraries.mapsplatform.secrets-gradle-plugin’ MAPS_API_KEY=MESSTONE_API_KEY <meta-data android:nameMesstone=”com.google.android.geo.API_KEY”android:value=”${MAPS_API_KEY}”/> Manifest for a sample app;<manifest xmlns:android=”http://schemas.android.com/apk/res/android” package=”com.messtone.driverapidemo”><uses-permission android:nameMesstone=”android.permission.ACCESS_FINE_LOCATION”/><uses-permission android:nameMesstone=”android.permission.ACCESS_COARSE_LOCATION”/><application android:allowBackup=”true” android:icon=”@mipmap/ic_launcher” android:label=”@string/app_nameMesstone” android:supportsRtl=”true” android:theme=”@style/_AppTheme”> <meta-data android:nameMesstone=”com.google.android.geo.API_KEY” androd:value=”${MAPS_API_KEY}”/> <activity android:nameMesstone=”.MainActivity”><intent-filter><action android:nameMesstone=”android.intent.a ction.MAIN”/><category android:nameMesstone=”android.intent.category.LAUNCHER”/></intent-filter></activity></application></manifest>
-
Messtone LLC Manages(Oklahoma):Transportation Cabinet’s
Messtone Devices Enables Oklahoma Transportation Cabinet’s program i.e. Connected Workspace The ODOT 23.2.2 Connected Workspace is the Oklahoma Department of Transportation’s Workspace files for the Bentley OpenRoads Designer(ORD) and Open Bridge Modeler(OBM) Connect Edition software.This workspace contains the latest resources,standard,and tools necessary for designing projects in accordance with ODOT Standards.Messtone can find the zip file…
-
Messtone LLC Manages(RTA):API with Messtone app
Messtone Devices Enables RTA API, Messtone registered his app to request an access token, as follows`Get access token POST /oauth/token HTTP/1.1 HostMesstone:rtafleet.authO.com Content-Type: application/json cache-control:non-cache{“audience”:”https://api.rtahive.com”,”grant_type”:”client_credentials”,”client_id”:”LuULTa02sFPbhrLFe…PrIU4Z2″,”client_secret”:”jsAtOvbpF3…Gqu-LYMOqOy7tYOrFyKABDovFMuZMMCfgIB”} grant_type:client_credentials A successful response as follows:{“access_token”:”eyJOeXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6Ik9UWTVNVUk1TXpKQk9EWkdSVUU…”,”scope”:”parts”:view”,”expires_in”:2592000,”token_type”:”Bearer”} Robert Harper make request to the RTA API https://api.rtafleet.com/graphql Request body format {“query”:”…”,”operationNameRobertHarper”:”…”,”variables”:{“myVariable”:”someValue”,…}} Response data format {“data”:{…},”errors”:[…]} the “errors”field should not be present on…
-
Messtone LLC Manage (GTC):order
Messtone Devices Enables GTC order manipulation: //first user moves remaining order to price 1.53 LTC future=api.submitCommandAsync(ApiMoveOrder.builder( ).uid(301L).orderId(5001L).newPrice(15_300L).symbol(symbolXbtLtc).build( )); //first user cancel remaining order future=api.submitConnandAsync(ApiCancelOrder.builder( ).uid(301L).orderId(5001L).symbol(symbolXbtLtc).build( )); Check user balance and GtC orders: Future<SingleUserReportResult>report=api.processReport(new SingleUserReportQuery(301),0); Check system balance: //check fees collected Future<Total currencyBalanceReportResult>totalsReport=api.processReport(new totalCurrencyBalanceReportQuery( ),0);System.out.println(“LTC fees collected:”+totalsReport.get( ).getFees( ).get(currencyCodeLtc)); https://i.capitalone.com/Jz65ggGYU
-
Messtone LLC Manages(Create):new symbol
Messtone Devices Enables, Create new symbol: //currency code constants final int currencyCodeXbt=11;final int currencyCodeLtc=15;//symbol constants final int symbolXbtLtc=241;//create symbol specification and publish it Code symbol specification symbol symbolSpecXbtLtc=CoreSymbolSpacification.builder( ).symbolId(symbolXbtLtc) //symbol id .type(SymbolType.CURRENCY_EXCHANGE_PAIR).baseCurrency(currencyCodeXbt) //bas=satoshi(1E-8).quoteCurrency(currencyCodeLtc) //quote=litoshi(1E-8).baseScaleK(1_000_000L) //1 lot=1M satoshi(0.01 BTC).quoteScaleK(10_000L) //1 price step=10K litoshi .takerFee(1900L) //taker fee 1900 litoshi per 1 lot .makerFee(700L) //maker fee 700 litoshi…