Récupérer les modifications
curl --request GET \
--url https://api.hubapi.com/commerce/contracts/2027-03-beta/contracts/{contractId}/changesimport requests
url = "https://api.hubapi.com/commerce/contracts/2027-03-beta/contracts/{contractId}/changes"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.hubapi.com/commerce/contracts/2027-03-beta/contracts/{contractId}/changes', 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.hubapi.com/commerce/contracts/2027-03-beta/contracts/{contractId}/changes",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.hubapi.com/commerce/contracts/2027-03-beta/contracts/{contractId}/changes"
req, _ := http.NewRequest("GET", url, nil)
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.hubapi.com/commerce/contracts/2027-03-beta/contracts/{contractId}/changes")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hubapi.com/commerce/contracts/2027-03-beta/contracts/{contractId}/changes")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"changes": [
{
"contractId": "<string>",
"id": "<string>",
"lineItemChanges": [
{
"action": "ADD",
"rampKey": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"lineItemAdd": {
"mode": "CUSTOM",
"name": "<string>",
"pricing": {
"prices": [
{
"currencyCode": "<string>",
"price": {},
"maxQuantity": 123
}
],
"pricingModel": "FLAT"
},
"quantity": 123,
"allowBuyerSelectedQuantity": true,
"billingCycleAnchorDate": "2023-12-25",
"billingStartDelayDays": 123,
"billingStartDelayMonths": 123,
"buyerSelectedQuantityMax": 123,
"buyerSelectedQuantityMin": 123,
"description": "<string>",
"discount": 123,
"discountPercentage": 123,
"externalId": "<string>",
"images": "<string>",
"isEditablePrice": true,
"isOptional": true,
"lineItemCurrencyCode": "<string>",
"positionOnQuote": 123,
"priceBookId": "<string>",
"productId": "<string>",
"productType": "<string>",
"recurringBillingEndDate": "2023-12-25",
"recurringBillingFrequency": "ANNUALLY",
"recurringBillingPeriod": "<string>",
"recurringBillingStartDate": "2023-12-25",
"richTextDescription": "<string>",
"sku": "<string>",
"taxCategory": "<string>",
"taxRateGroupId": "<string>",
"variantId": "<string>"
},
"lineItemUpdate": {
"allowBuyerSelectedQuantity": {},
"billingCycleAnchorDate": {},
"billingStartDelayDays": {},
"billingStartDelayMonths": {},
"buyerSelectedQuantityMax": {},
"buyerSelectedQuantityMin": {},
"description": {},
"discount": {},
"discountPercentage": {},
"externalId": {},
"images": {},
"isEditablePrice": {},
"isOptional": {},
"lineItemCurrencyCode": {},
"name": {},
"positionOnQuote": {},
"priceBookId": {},
"pricing": {},
"productType": {},
"quantity": {},
"recurringBillingEndDate": {},
"recurringBillingFrequency": {},
"recurringBillingPeriod": {},
"recurringBillingStartDate": {},
"richTextDescription": {},
"sku": {},
"taxCategory": {},
"taxRateGroupId": {},
"variantId": {}
}
}
],
"prorating": true,
"status": "ACCEPTED",
"type": "DIRECT",
"createdAt": "2023-11-07T05:31:56Z",
"effectiveDate": "2023-12-25",
"name": "<string>",
"quoteId": "<string>",
"updatedAt": "2023-11-07T05:31:56Z"
}
]
}{
"message": "Invalid input (details will vary based on the error)",
"correlationId": "aeb5f871-7f07-4993-9211-075dc63e7cbf",
"category": "VALIDATION_ERROR",
"links": {
"knowledge-base": "https://www.hubspot.com/products/service/knowledge-base"
}
}Modifications
Retrieve changes
Récupérer les modifications associées à un contrat spécifique dans votre compte HubSpot. Ce point de terminaison vous permet de visualiser toutes les modifications apportées à un contrat, ce qui peut être utile pour suivre l’historique du contrat et comprendre l’évolution de ses conditions.
GET
/
commerce
/
contracts
/
2027-03-beta
/
contracts
/
{contractId}
/
changes
Récupérer les modifications
curl --request GET \
--url https://api.hubapi.com/commerce/contracts/2027-03-beta/contracts/{contractId}/changesimport requests
url = "https://api.hubapi.com/commerce/contracts/2027-03-beta/contracts/{contractId}/changes"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.hubapi.com/commerce/contracts/2027-03-beta/contracts/{contractId}/changes', 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.hubapi.com/commerce/contracts/2027-03-beta/contracts/{contractId}/changes",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.hubapi.com/commerce/contracts/2027-03-beta/contracts/{contractId}/changes"
req, _ := http.NewRequest("GET", url, nil)
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.hubapi.com/commerce/contracts/2027-03-beta/contracts/{contractId}/changes")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hubapi.com/commerce/contracts/2027-03-beta/contracts/{contractId}/changes")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"changes": [
{
"contractId": "<string>",
"id": "<string>",
"lineItemChanges": [
{
"action": "ADD",
"rampKey": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"lineItemAdd": {
"mode": "CUSTOM",
"name": "<string>",
"pricing": {
"prices": [
{
"currencyCode": "<string>",
"price": {},
"maxQuantity": 123
}
],
"pricingModel": "FLAT"
},
"quantity": 123,
"allowBuyerSelectedQuantity": true,
"billingCycleAnchorDate": "2023-12-25",
"billingStartDelayDays": 123,
"billingStartDelayMonths": 123,
"buyerSelectedQuantityMax": 123,
"buyerSelectedQuantityMin": 123,
"description": "<string>",
"discount": 123,
"discountPercentage": 123,
"externalId": "<string>",
"images": "<string>",
"isEditablePrice": true,
"isOptional": true,
"lineItemCurrencyCode": "<string>",
"positionOnQuote": 123,
"priceBookId": "<string>",
"productId": "<string>",
"productType": "<string>",
"recurringBillingEndDate": "2023-12-25",
"recurringBillingFrequency": "ANNUALLY",
"recurringBillingPeriod": "<string>",
"recurringBillingStartDate": "2023-12-25",
"richTextDescription": "<string>",
"sku": "<string>",
"taxCategory": "<string>",
"taxRateGroupId": "<string>",
"variantId": "<string>"
},
"lineItemUpdate": {
"allowBuyerSelectedQuantity": {},
"billingCycleAnchorDate": {},
"billingStartDelayDays": {},
"billingStartDelayMonths": {},
"buyerSelectedQuantityMax": {},
"buyerSelectedQuantityMin": {},
"description": {},
"discount": {},
"discountPercentage": {},
"externalId": {},
"images": {},
"isEditablePrice": {},
"isOptional": {},
"lineItemCurrencyCode": {},
"name": {},
"positionOnQuote": {},
"priceBookId": {},
"pricing": {},
"productType": {},
"quantity": {},
"recurringBillingEndDate": {},
"recurringBillingFrequency": {},
"recurringBillingPeriod": {},
"recurringBillingStartDate": {},
"richTextDescription": {},
"sku": {},
"taxCategory": {},
"taxRateGroupId": {},
"variantId": {}
}
}
],
"prorating": true,
"status": "ACCEPTED",
"type": "DIRECT",
"createdAt": "2023-11-07T05:31:56Z",
"effectiveDate": "2023-12-25",
"name": "<string>",
"quoteId": "<string>",
"updatedAt": "2023-11-07T05:31:56Z"
}
]
}{
"message": "Invalid input (details will vary based on the error)",
"correlationId": "aeb5f871-7f07-4993-9211-075dc63e7cbf",
"category": "VALIDATION_ERROR",
"links": {
"knowledge-base": "https://www.hubspot.com/products/service/knowledge-base"
}
}Supported products
Supported products
Required Scopes
Required Scopes
Paramètres de chemin
L'identifiant unique du contrat pour lequel les modifications sont récupérées.
Réponse
successful operation
Un tableau de résumés des modifications de contrat : chaque élément du tableau fournit des détails sur une modification spécifique apportée au contrat, représentée par le schéma ContractChangeSummaryResponse.
Show child attributes
Show child attributes
Dernière modification le 6 octobre 2026