curl --request POST \
--url https://{merchant_site_domain}/order-shipping-info-update-only-url \
--header 'Content-Type: application/json' \
--data '
{
"OrderId": "00010000100000000020",
"InternationalDetails": {
"OrderTrackingNumber": "1265443",
" OrderTrackingUrl": "https://www.somecarrier.com/?1265443"
},
"MerchantGUID": "<MERCHANT_GUID>"
}
'import requests
url = "https://{merchant_site_domain}/order-shipping-info-update-only-url"
payload = {
"OrderId": "00010000100000000020",
"InternationalDetails": {
"OrderTrackingNumber": "1265443",
" OrderTrackingUrl": "https://www.somecarrier.com/?1265443"
},
"MerchantGUID": "<MERCHANT_GUID>"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
OrderId: '00010000100000000020',
InternationalDetails: {
OrderTrackingNumber: '1265443',
' OrderTrackingUrl': 'https://www.somecarrier.com/?1265443'
},
MerchantGUID: '<MERCHANT_GUID>'
})
};
fetch('https://{merchant_site_domain}/order-shipping-info-update-only-url', 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://{merchant_site_domain}/order-shipping-info-update-only-url",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'OrderId' => '00010000100000000020',
'InternationalDetails' => [
'OrderTrackingNumber' => '1265443',
' OrderTrackingUrl' => 'https://www.somecarrier.com/?1265443'
],
'MerchantGUID' => '<MERCHANT_GUID>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{merchant_site_domain}/order-shipping-info-update-only-url"
payload := strings.NewReader("{\n \"OrderId\": \"00010000100000000020\",\n \"InternationalDetails\": {\n \"OrderTrackingNumber\": \"1265443\",\n \" OrderTrackingUrl\": \"https://www.somecarrier.com/?1265443\"\n },\n \"MerchantGUID\": \"<MERCHANT_GUID>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{merchant_site_domain}/order-shipping-info-update-only-url")
.header("Content-Type", "application/json")
.body("{\n \"OrderId\": \"00010000100000000020\",\n \"InternationalDetails\": {\n \"OrderTrackingNumber\": \"1265443\",\n \" OrderTrackingUrl\": \"https://www.somecarrier.com/?1265443\"\n },\n \"MerchantGUID\": \"<MERCHANT_GUID>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{merchant_site_domain}/order-shipping-info-update-only-url")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"OrderId\": \"00010000100000000020\",\n \"InternationalDetails\": {\n \"OrderTrackingNumber\": \"1265443\",\n \" OrderTrackingUrl\": \"https://www.somecarrier.com/?1265443\"\n },\n \"MerchantGUID\": \"<MERCHANT_GUID>\"\n}"
response = http.request(request)
puts response.read_body{
"Description": "<string>",
"ErrorCode": "<string>",
"InternalOrderId": "<string>",
"Message": "<string>",
"OrderId": "<string>",
"PaymentAmount": "<string>",
"PaymentCurrencyCode": "<string>",
"StatusCode": "<string>",
"Success": true
}Update Order Shipping Info (Global-e to Merchant)
Updates the order’s international shipping information on the Merchant site. Only order.OrderId and order.InternationalDetails members are mandatory for this method.
curl --request POST \
--url https://{merchant_site_domain}/order-shipping-info-update-only-url \
--header 'Content-Type: application/json' \
--data '
{
"OrderId": "00010000100000000020",
"InternationalDetails": {
"OrderTrackingNumber": "1265443",
" OrderTrackingUrl": "https://www.somecarrier.com/?1265443"
},
"MerchantGUID": "<MERCHANT_GUID>"
}
'import requests
url = "https://{merchant_site_domain}/order-shipping-info-update-only-url"
payload = {
"OrderId": "00010000100000000020",
"InternationalDetails": {
"OrderTrackingNumber": "1265443",
" OrderTrackingUrl": "https://www.somecarrier.com/?1265443"
},
"MerchantGUID": "<MERCHANT_GUID>"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
OrderId: '00010000100000000020',
InternationalDetails: {
OrderTrackingNumber: '1265443',
' OrderTrackingUrl': 'https://www.somecarrier.com/?1265443'
},
MerchantGUID: '<MERCHANT_GUID>'
})
};
fetch('https://{merchant_site_domain}/order-shipping-info-update-only-url', 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://{merchant_site_domain}/order-shipping-info-update-only-url",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'OrderId' => '00010000100000000020',
'InternationalDetails' => [
'OrderTrackingNumber' => '1265443',
' OrderTrackingUrl' => 'https://www.somecarrier.com/?1265443'
],
'MerchantGUID' => '<MERCHANT_GUID>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{merchant_site_domain}/order-shipping-info-update-only-url"
payload := strings.NewReader("{\n \"OrderId\": \"00010000100000000020\",\n \"InternationalDetails\": {\n \"OrderTrackingNumber\": \"1265443\",\n \" OrderTrackingUrl\": \"https://www.somecarrier.com/?1265443\"\n },\n \"MerchantGUID\": \"<MERCHANT_GUID>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{merchant_site_domain}/order-shipping-info-update-only-url")
.header("Content-Type", "application/json")
.body("{\n \"OrderId\": \"00010000100000000020\",\n \"InternationalDetails\": {\n \"OrderTrackingNumber\": \"1265443\",\n \" OrderTrackingUrl\": \"https://www.somecarrier.com/?1265443\"\n },\n \"MerchantGUID\": \"<MERCHANT_GUID>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{merchant_site_domain}/order-shipping-info-update-only-url")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"OrderId\": \"00010000100000000020\",\n \"InternationalDetails\": {\n \"OrderTrackingNumber\": \"1265443\",\n \" OrderTrackingUrl\": \"https://www.somecarrier.com/?1265443\"\n },\n \"MerchantGUID\": \"<MERCHANT_GUID>\"\n}"
response = http.request(request)
puts response.read_body{
"Description": "<string>",
"ErrorCode": "<string>",
"InternalOrderId": "<string>",
"Message": "<string>",
"OrderId": "<string>",
"PaymentAmount": "<string>",
"PaymentCurrencyCode": "<string>",
"StatusCode": "<string>",
"Success": true
}Body
Object MerchantOrder contains details about the status of the order on the merchant's site.
The number of loyalty points spent for this purchase. The existing loyalty points handling procedure must be applied to the end customer’s user account. Therefore, the “Loyalty points” type discount must not be applied to the order directly but can be used for display purposes elsewhere in the system (i.e. on the end user’s My Account page).
The list of markups being applied to the order, according to the Merchant shipping configuration on Global‑e. Effectively Markup is a “negative Discount”. The main use case for markups is when the end customer is charged in Global‑e checkout, a flat shipping rate, which is higher than the shipping rate, calculated for the respective order. In this case, Global‑e pays the difference to the Merchant in the form of Markups applied to the order. Unlike Discounts, Markups may be only passed to the Merchant’s back-end ERP system for reconciliation purposes, and may not be displayed to the end customer.
Response
Response Parameters
Response details regarding API call.

