cURL
curl --request GET \
--url https://dev.api.r4technology.io/tracking/package \
--header 'Authorization: Basic <encoded-value>'import requests
url = "https://dev.api.r4technology.io/tracking/package"
headers = {"Authorization": "Basic <encoded-value>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Basic <encoded-value>'}};
fetch('https://dev.api.r4technology.io/tracking/package', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://dev.api.r4technology.io/tracking/package",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://dev.api.r4technology.io/tracking/package"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Basic <encoded-value>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://dev.api.r4technology.io/tracking/package")
.header("Authorization", "Basic <encoded-value>")
.asString();require 'uri'
require 'net/http'
url = URI("https://dev.api.r4technology.io/tracking/package")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Basic <encoded-value>'
response = http.request(request)
puts response.read_body{
"package_id": "550e8400e29b41d4a716446655440000_02-010005",
"return_order_id": "550e8400-e29b-41d4-a716-446655440000",
"current_status": "hub dropoff",
"tracking_updates": [
{
"status": "detail",
"timestamp": "2025-03-15T14:23:17Z",
"description": "Package scanned and received at a dropoff point"
},
{
"status": "hub dropoff",
"timestamp": "2025-03-16T09:12:48Z",
"description": "Package arrived at consolidation hub"
}
],
"total_updates": 2,
"items": [
{
"id": "abc123",
"sku": "SHIRT-BLU-LG",
"title": "Blue Shirt",
"description": "Classic blue button-down shirt",
"variant_description": "Large",
"quantity": 1,
"image": "https://example.com/shirt.jpg"
}
]
}{
"error": 123,
"message": "<string>"
}{
"error": 123,
"message": "<string>"
}Endpoints
Track Package
Get tracking information and items for a specific package using an encoded package ID
GET
/
tracking
/
package
cURL
curl --request GET \
--url https://dev.api.r4technology.io/tracking/package \
--header 'Authorization: Basic <encoded-value>'import requests
url = "https://dev.api.r4technology.io/tracking/package"
headers = {"Authorization": "Basic <encoded-value>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Basic <encoded-value>'}};
fetch('https://dev.api.r4technology.io/tracking/package', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://dev.api.r4technology.io/tracking/package",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://dev.api.r4technology.io/tracking/package"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Basic <encoded-value>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://dev.api.r4technology.io/tracking/package")
.header("Authorization", "Basic <encoded-value>")
.asString();require 'uri'
require 'net/http'
url = URI("https://dev.api.r4technology.io/tracking/package")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Basic <encoded-value>'
response = http.request(request)
puts response.read_body{
"package_id": "550e8400e29b41d4a716446655440000_02-010005",
"return_order_id": "550e8400-e29b-41d4-a716-446655440000",
"current_status": "hub dropoff",
"tracking_updates": [
{
"status": "detail",
"timestamp": "2025-03-15T14:23:17Z",
"description": "Package scanned and received at a dropoff point"
},
{
"status": "hub dropoff",
"timestamp": "2025-03-16T09:12:48Z",
"description": "Package arrived at consolidation hub"
}
],
"total_updates": 2,
"items": [
{
"id": "abc123",
"sku": "SHIRT-BLU-LG",
"title": "Blue Shirt",
"description": "Classic blue button-down shirt",
"variant_description": "Large",
"quantity": 1,
"image": "https://example.com/shirt.jpg"
}
]
}{
"error": 123,
"message": "<string>"
}{
"error": 123,
"message": "<string>"
}Authorizations
Basic authentication header of the form Basic <encoded-value>, where <encoded-value> is the base64-encoded string username:password.
Query Parameters
The encoded package ID combining return_order_id and spot_order_key
Example:
"550e8400e29b41d4a716446655440000_02-010005"
Response
Tracking information for the package
The encoded package ID that was looked up
The decoded return order UUID
The most recent tracking status for this package
Array of tracking updates in chronological order
Show child attributes
Show child attributes
Total number of tracking updates
Array of items in this package
Show child attributes
Show child attributes
⌘I
