cURL
curl --request GET \
--url https://dev.api.r4technology.io/tracking/order \
--header 'Authorization: Basic <encoded-value>'import requests
url = "https://dev.api.r4technology.io/tracking/order"
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/order', 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/order",
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/order"
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/order")
.header("Authorization", "Basic <encoded-value>")
.asString();require 'uri'
require 'net/http'
url = URI("https://dev.api.r4technology.io/tracking/order")
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{
"order_id": "ZG12345678",
"current_status": "hub dropoff",
"tracking_updates": [
{
"status": "order created",
"timestamp": "2025-03-15T12:00:00Z",
"description": "Return order created"
},
{
"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": 3,
"packages": [
{
"package_id": "550e8400e29b41d4a716446655440000_02-010005",
"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 Order with Packages
Get tracking information for a return order, including a breakdown of packages and the items in each package
GET
/
tracking
/
order
cURL
curl --request GET \
--url https://dev.api.r4technology.io/tracking/order \
--header 'Authorization: Basic <encoded-value>'import requests
url = "https://dev.api.r4technology.io/tracking/order"
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/order', 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/order",
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/order"
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/order")
.header("Authorization", "Basic <encoded-value>")
.asString();require 'uri'
require 'net/http'
url = URI("https://dev.api.r4technology.io/tracking/order")
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{
"order_id": "ZG12345678",
"current_status": "hub dropoff",
"tracking_updates": [
{
"status": "order created",
"timestamp": "2025-03-15T12:00:00Z",
"description": "Return order created"
},
{
"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": 3,
"packages": [
{
"package_id": "550e8400e29b41d4a716446655440000_02-010005",
"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 return order ID to track
Response
Tracking information for the order
The order ID that was looked up
The most recent status across all packages in the order
Array of tracking updates in chronological order
Show child attributes
Show child attributes
Total number of tracking updates
Array of packages in the order, each containing their line items
Show child attributes
Show child attributes
⌘I
