Wells Fargo Tracking

Website: https://www.fargo.co.ke/ 
Portal: https://www.fargotracking.co.ke/

Prerequisites

Wells Fargo Tracking

You will need:

EarthRanger

To send event data to EarthRanger, you will need:

  • A special EarthRanger user (e.g., “Gundi Service Account”) for this integration. 
    Please refer to EarthRanger's documentation or contact our Support team.
  • A long-lived token for authentication assigned to the user created in the previous step. 
    Please refer to EarthRanger's documentation or contact our Support team.

Configuration

Integration Requires Assistance

Self-Service integration not available yet, please contact our Support Team.

This integration requires assistance from our support team for setup and configuration. Please contact our support team at support@earthranger.com and we’ll guide you through the process to ensure everything is set up correctly.

We are actively working to make this integration self-service in the future. Stay tuned for updates!

GUIDES

Gundi Connection Settings

Go to Gundi v1

Go to the Inbound Integrations and select Add Integration

Follow these steps to configure the integration.

Name: Enter a suitable name (e.g., "Sitename - Vehicle Tracking")

Owner:  Select the integration's owner

Type: Wells Fargo

Provider Key:  Leave empty. It will automatically give it a name.

Default Device Group: Leave empty. Gundi will automatically create a default group.

Endpoint:  https://api.3dtracking.net/api/v1.0/ 

Token:  Leave empty

Login/Password:  Username and password provided by the user

State:   

{}

Click Save

Configure the Default Device Group to select the destination site. 

2. EarthRanger Settings

The following configurations are optional:

2.1. Select the data you want to see in the map.

2.1.1 Log in to EarthRanger as an admin (site.pamdas.org/admin).
2.1.2 Go to Source Providers.
2.1.3 Select the Source Provider created for this integration (e.g., "wells_fargo_tracking")

The “Source Provider” is automatically created after Gundi successfully retrieves data from this integration and pushes it to EarthRanger. If you don't find it, please ensure your Connection includes a Destination, and review the Connection Activity Logs for additional details. You should see some records mentioning that Gundi successfully delivered data to EarthRanger.
Important Note:  The integration might take 5 minutes to run. Please verify your connection after this period.

2.1.4 Click on Subject Details Configuration.
2.1.5 Configure the additional information you would like to see on the map.

2.2 Assign your Subjects to a Subject Group.

2.3 Rename your Subjects

Please refer to EarthRanger's documentation or contact Support.

Note on Latency

The time it takes for data to appear in your destination system depends on several factors, such as latency introduced by the source, network conditions, and intermediary systems. While these factors may vary, Gundi typically checks for available data at scheduled intervals (approximately every 5 minutes).

If data is not available in your system after this interval, please check the source of the data for its availability. If the issue persists, contact our Support team for assistance.

TroubleShooting

Which vehicles are in my account? 

Run this script in your terminal to see a list of devices in your account. The table includes the vehicle name, UUID, and last reported time.

#!/bin/bash
# Fetch Wells Fargo / 3DTracking unit list
BASE="https://api.3dtracking.net/api/v1.0"
USER="your_username"
PASS="your_password

# 1. Authenticate -> get UserIdGuid + SessionId
AUTH=$(curl -s -G "$BASE/Authentication/UserAuthenticate" \
  --data-urlencode "username=$USER" \
  --data-urlencode "password=$PASS")
GUID=$(echo "$AUTH" | python3 -c "import sys,json;print(json.load(sys.stdin)['Result']['UserIdGuid'])")
SID=$(echo  "$AUTH" | python3 -c "import sys,json;print(json.load(sys.stdin)['Result']['SessionId'])")

# 2. Fetch positions reported in the last 14 days
SINCE=$(python3 -c "from datetime import datetime,timedelta;print((datetime.now()-timedelta(days=14)).strftime('%d %b %Y %H:%M:%S'))")
curl -s -G "$BASE/Units/LatestPositionsList" \
  --data-urlencode "UserIdGuid=$GUID" \
  --data-urlencode "SessionId=$SID" \
  --data-urlencode "LastDateReceivedUtc=$SINCE" \
| python3 -c "
import sys,json
res=json.load(sys.stdin).get('Result') or []
rows=sorted((str(u.get('Name')).strip(), str(u.get('Uid')), u.get('LastReportedTimeUTC')) for u in res)
print(f'{\"Name\":<14} {\"Uid\":<10} Last Reported (UTC)')
print('-'*52)
[print(f'{n:<14} {u:<10} {t}') for n,u,t in rows]
print(f'\nTotal units: {len(rows)}')
"

 

Data Provider,  Vehicle Tracking, Gundi v1, Pull Integration
June 30, 2026