Get Connection Purchases
curl --request GET \
--url https://api.example.com/connections/{connection_id}/purchases \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.example.com/connections/{connection_id}/purchases"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.example.com/connections/{connection_id}/purchases', 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://api.example.com/connections/{connection_id}/purchases",
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: Bearer <token>"
],
]);
$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://api.example.com/connections/{connection_id}/purchases"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.example.com/connections/{connection_id}/purchases")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/connections/{connection_id}/purchases")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"has_more": true,
"purchases": [
{
"date": "2024-01-01T00:00:00Z",
"purchase_id": "01J51S0JYV6N7K1030CV1ZKSJH",
"purchase_type": "online",
"status": "completed",
"total": "9.34"
}
]
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Connections
Get Connection Purchases
Get purchases for a connection using partner OAuth Bearer authentication, or legacy X-API-Key plus a connection access token
GET
/
connections
/
{connection_id}
/
purchases
Get Connection Purchases
curl --request GET \
--url https://api.example.com/connections/{connection_id}/purchases \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.example.com/connections/{connection_id}/purchases"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.example.com/connections/{connection_id}/purchases', 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://api.example.com/connections/{connection_id}/purchases",
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: Bearer <token>"
],
]);
$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://api.example.com/connections/{connection_id}/purchases"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.example.com/connections/{connection_id}/purchases")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/connections/{connection_id}/purchases")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"has_more": true,
"purchases": [
{
"date": "2024-01-01T00:00:00Z",
"purchase_id": "01J51S0JYV6N7K1030CV1ZKSJH",
"purchase_type": "online",
"status": "completed",
"total": "9.34"
}
]
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Subtotal Connector tool: list_connection_purchases
Purchase status
Each purchase object in the response includes astatus field.
status is the purchase status the retailer last showed. The value is a string, or null when unknown.
The possible string values are:
pendingshippedready_for_pickupcompletedcancelled
null.
completed and cancelled are final. Once a purchase reaches either status, its status does not change again.Authorizations
PartnerOAuthApiKey & ConnectionToken
Partner OAuth: send Authorization: Bearer <access_token>, an OAuth access token from Subtotal's authorization server with the scope this endpoint needs.
Path Parameters
Query Parameters
The maximum number of purchases to return
Required range:
1 <= x <= 50Example:
10
The purchase id of the last purchase you processed. The next purchase returned will be the next oldest purchase. An id that isn't one of this connection's purchases returns 400.
Example:
"01J51S0JYV6N7K1030CV1ZJH30"
Response
Successful Response
Whether there are more purchases available to fetch
Example:
true
The list of purchases for the connection sorted in descending order by purchase date
Show child attributes
Show child attributes
Example:
[
{
"date": "2024-01-01T00:00:00Z",
"purchase_id": "01J51S0JYV6N7K1030CV1ZKSJH",
"purchase_type": "online",
"status": "completed",
"total": "9.34"
}
]