RoverServer is the server-side component of the Rover data collection platform.
7.1K
# For testing, initialize a server to receive the status
# and result callbacks from Rover Server
docker run -t --rm -p 1234:1234 smallplanetdigital/roverserver echo
# --- Ensure you have the latest version of Rover Server ---
docker pull smallplanetdigital/roverserver:latest
# --- Run Rover Server in "push" configuration ---
# http: run in "push" configuration (use node for "pull" config)
# license-key: the license key provided to you for Rover
# results-url: results will be POSTed to this url
# authorization: provide a http bearer token
# device-id: unique identifier to represent this server
# max-concurrent-requests: number of concurrent collections allowed
# (adjust as appropiate for your VM configuration)
# status-url: status messages will be POSTed to this url
# requests-url: for "pull" config, requests for work will GET from this url
# poll-rate: for customizing the polling rate for "pull" configuration
# debug: set to true to print verbose debugging information
docker run \
--mount source=storage,target=/root/storage/ \
-p 9999:9999 \
--rm \
smallplanetdigital/roverserver \
http \
--license-key <your-license-key-here> \
--results-url http://host.docker.internal:1234
# Rover Server will display the merchants available to
# your license along with their merchantId. You will use
# these when scheduling collection requests
# --- Schedule a collection request to Rover Server ---
# sessionUUID: a unique identifier you provide to correlate collection status and results
# userId: [optional] identifier you provide representing the user in your systems
# account: [optional] account name for this merchant to connect to
# password: [optional] password for the account for this merchant to connect to
# cookies: [optional] base64 cookies (returned to you in result of previous collection)
# merchantId: the identifier for the merchant to connect to
# fromDate: how far back you'd like to collect receipts
# collectItemInfo: [optional] collect extra information about items when possible (like UPC)
# collectSourceData: [optional] return the raw source data in addition to the parsed receipt json
# toDate: [optional] ignore any receipts which are newer than this date
# appInfo: [optional] a JSON payload you can provide in extra information for this merchant
# proxy: [optional] the url to a proxy you would like the server to route communications through for this specific collection
#
# Sample collection request from our "info/debug" merchant
curl -X POST -H "Content-Type: application/json" -d '{"sessionUUID":"C3FCDBC7-F38F-4EE8-80B5-C29F34ABA3A7","merchantId":49999,"fromDate":"2023-01-01T05:00:00Z","username":"username","password":"password","cookies":null}' http://127.0.0.1:9999
# Rover Server will queue the collection request and then execute it as soon as possible.
# When the collection request is complete, results will be POSTed to the results-url. In
# our example here that is the echo server we ran in the beginning, which should print the
# results to the console when received.
We recommend Google Compute Engine for hosting your Rover Servers. We have some customizations specific to GCE:
You may desire to run Rover Server on a macOS Server. The macOS binary is shipped inside of the Docker container which you can extract with the following command.
docker pull smallplanetdigital/roverserver:latest
docker cp $(docker create --name temp smallplanetdigital/roverserver:latest):/root/macOS/RoverServer ./RoverServer && docker rm temp
Content type
Image
Digest
sha256:19d28c7f6…
Size
1.4 GB
Last updated
about 1 month ago
docker pull smallplanetdigital/roverserver