We focus on one thing: making it easy to track a shipment’s locations over time with a simple, streamlined API query.
Since different logistics providers have their own APIs and data formats, integrating various logistics data poses a significant challenge for app developers.
- This prototype is written in TypeScript and runs on the Deno runtime.
- We have defined standard status codes for global logistics data.
- Initially it supports two logistics operators: FedEx and SF Express, with a future roadmap planned.
curl https://api.eg1.io/v0/whereis/{{trackingID}} -H "Authorization: Bearer YOUR-TOKEN"
{{trackingID}} uses the structure
operatorCode-trackingNum
. Example: a FedEx trackingID isfdx-888877776666
.
const url = "https://api.eg1.io/v0/whereis/{{trackingID}}";
const response = await fetch(url, {
method: "GET",
headers: {
Authorization: "Bearer YOUR-TOKEN",
},
});
{
"entity": {
"id": "fdx-888877776666",
"type": "waybill",
"uuid": "eg1_7e3f6f06-2710-4225-8067-62bebfc4x45c",
"createdAt": "2024-11-11T14:16:48-06:00",
"additional": {
"origin": "San Francisco CA United States",
"destination": "CENTRAL Hong Kong SAR, China"
}
},
"events": [{
"status": 3000,
"what": "Transport Bill Created",
"whom": "FedEx",
"when": "2024-11-11T14:16:48-06:00",
"where": "Customer location",
"notes": "Shipment information sent to FedEx",
"additional": {
"trackingNum": "888877776666",
"operatorCode": "fdx",
"dataProvider": "FedEx",
"updateMethod": "manual-pull",
"updatedAt": "2025-02-20T12:23:43.892Z"
}
}]
}
curl https://api.eg1.io/v0/status/{{trackingID}}
const url = 'https://api.eg1.io/v0/status/{{trackingID}}';
const response = await fetch(url, {
method: "GET"
});
{
"id": "fdx-888877776666",
"status": 3000,
"what": "Transport Bill Created",
"whom": "FedEx",
"when": "2024-11-11T14:16:48-06:00",
"where": "Customer location",
"notes": "Shipment information sent to FedEx"
}
Follow these steps to deploy the application to Fly.io using the provided Dockerfile:
-
Install Flyctl
If you don’t already have it, install the Fly.io command-line tool (flyctl
) by following the official installation guide. -
Clone the Repository
Clone this repository to your local machine:
git clone https://github.com/eagle1-sys/whereis-api-v0 cd whereis-api-v0
-
Log in to Fly.io
Authenticate with Fly.io using your account:
flyctl auth login
-
Create Database cluster
fly postgres create
-
Deploy the Application
Run the following command to deploy the app to Fly.io. This will use the Dockerfile to build and deploy your application: bash
flyctl deploy
-
Check the Status
Once the deployment is complete, you can check the status of your app:
flyctl status