Preisstrategie-Vorlage aktualisieren
Aktualisiert strategiespezifische Argumente für eine Preisstrategie-Vorlage. Die Pfad-ID wird intern auf templateId abgebildet. Optional kann der Markt für Preisänderungen der Vorlage gesetzt werden (priceChangeSource + priceChangeCountry, beide oder keiner; null/null setzt ihn auf den Shop-Standard zurück). Werden beide weggelassen, bleibt der Markt unverändert. Eine Marktänderung löst eine Neupreisberechnung der an diese Vorlage gebundenen Varianten aus; mit variantId wird diese Variante gebunden und ihre eigene Marktüberschreibung gelöscht.
curl --request PATCH \
--url https://app.pricepirate.com/api/v1/pricing-templates/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--data '
{
"args": {
"marginPercent": 10
},
"variantId": "gid://shopify/ProductVariant/1001",
"priceChangeSource": "IDEALO",
"priceChangeCountry": "DE"
}
'import requests
url = "https://app.pricepirate.com/api/v1/pricing-templates/{id}"
payload = {
"args": { "marginPercent": 10 },
"variantId": "gid://shopify/ProductVariant/1001",
"priceChangeSource": "IDEALO",
"priceChangeCountry": "DE"
}
headers = {
"Idempotency-Key": "<idempotency-key>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {
'Idempotency-Key': '<idempotency-key>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
args: {marginPercent: 10},
variantId: 'gid://shopify/ProductVariant/1001',
priceChangeSource: 'IDEALO',
priceChangeCountry: 'DE'
})
};
fetch('https://app.pricepirate.com/api/v1/pricing-templates/{id}', 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://app.pricepirate.com/api/v1/pricing-templates/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'args' => [
'marginPercent' => 10
],
'variantId' => 'gid://shopify/ProductVariant/1001',
'priceChangeSource' => 'IDEALO',
'priceChangeCountry' => 'DE'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"Idempotency-Key: <idempotency-key>"
],
]);
$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://app.pricepirate.com/api/v1/pricing-templates/{id}"
payload := strings.NewReader("{\n \"args\": {\n \"marginPercent\": 10\n },\n \"variantId\": \"gid://shopify/ProductVariant/1001\",\n \"priceChangeSource\": \"IDEALO\",\n \"priceChangeCountry\": \"DE\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Idempotency-Key", "<idempotency-key>")
req.Header.Add("Authorization", "Bearer <token>")
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.patch("https://app.pricepirate.com/api/v1/pricing-templates/{id}")
.header("Idempotency-Key", "<idempotency-key>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"args\": {\n \"marginPercent\": 10\n },\n \"variantId\": \"gid://shopify/ProductVariant/1001\",\n \"priceChangeSource\": \"IDEALO\",\n \"priceChangeCountry\": \"DE\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.pricepirate.com/api/v1/pricing-templates/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Idempotency-Key"] = '<idempotency-key>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"args\": {\n \"marginPercent\": 10\n },\n \"variantId\": \"gid://shopify/ProductVariant/1001\",\n \"priceChangeSource\": \"IDEALO\",\n \"priceChangeCountry\": \"DE\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"templateId": "template-123",
"affectedVariantsCount": 4
}{
"error": {
"code": "BAD_REQUEST",
"message": "JSON body must be an object",
"details": "Validation details may be included for invalid inputs.",
"requestId": "1b11c2c2-7c6f-44d9-9980-02a77681b91f"
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "Missing or invalid Authorization header",
"requestId": "1b11c2c2-7c6f-44d9-9980-02a77681b91f"
}
}{
"error": {
"code": "FORBIDDEN",
"message": "Forbidden",
"requestId": "1b11c2c2-7c6f-44d9-9980-02a77681b91f"
}
}{
"error": {
"code": "NOT_FOUND",
"message": "Resource not found",
"requestId": "1b11c2c2-7c6f-44d9-9980-02a77681b91f"
}
}{
"error": {
"code": "idempotency_key_reuse",
"message": "Idempotency-Key was already used for a different request",
"requestId": "1b11c2c2-7c6f-44d9-9980-02a77681b91f"
}
}{
"error": {
"code": "TOO_MANY_REQUESTS",
"message": "Rate limit exceeded",
"requestId": "1b11c2c2-7c6f-44d9-9980-02a77681b91f"
}
}{
"error": {
"code": "INTERNAL_SERVER_ERROR",
"message": "Internal server error",
"requestId": "1b11c2c2-7c6f-44d9-9980-02a77681b91f"
}
}{
"error": {
"code": "INTERNAL_SERVER_ERROR",
"message": "Internal server error",
"requestId": "1b11c2c2-7c6f-44d9-9980-02a77681b91f"
}
}Autorisierungen
Public-API-Token, das als Authorization: Bearer übergeben wird.
Header
Erforderlich für Schreibanfragen. Verwenden Sie denselben Schlüssel nur erneut, wenn Sie exakt dieselbe Anfrage wiederholen.
Pfadparameter
ID der Preisstrategie-Vorlage.
Body
Aktualisierte Vorlagenargumente.
IDEALO, GOOGLE_SHOPPING, KLARNA, PRICERUNNER, ALLEGRO, AMAZON AE, AT, AU, BE, BG, BR, CA, CH, CN, CZ, DE, DK, ES, FI, FR, GR, HR, HU, IE, IN, IT, JP, NL, NO, PL, PT, RO, MX, SE, SK, UK, US Antwort
Erfolgreiche Antwort.
War diese Seite hilfreich?
curl --request PATCH \
--url https://app.pricepirate.com/api/v1/pricing-templates/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--data '
{
"args": {
"marginPercent": 10
},
"variantId": "gid://shopify/ProductVariant/1001",
"priceChangeSource": "IDEALO",
"priceChangeCountry": "DE"
}
'import requests
url = "https://app.pricepirate.com/api/v1/pricing-templates/{id}"
payload = {
"args": { "marginPercent": 10 },
"variantId": "gid://shopify/ProductVariant/1001",
"priceChangeSource": "IDEALO",
"priceChangeCountry": "DE"
}
headers = {
"Idempotency-Key": "<idempotency-key>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {
'Idempotency-Key': '<idempotency-key>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
args: {marginPercent: 10},
variantId: 'gid://shopify/ProductVariant/1001',
priceChangeSource: 'IDEALO',
priceChangeCountry: 'DE'
})
};
fetch('https://app.pricepirate.com/api/v1/pricing-templates/{id}', 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://app.pricepirate.com/api/v1/pricing-templates/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'args' => [
'marginPercent' => 10
],
'variantId' => 'gid://shopify/ProductVariant/1001',
'priceChangeSource' => 'IDEALO',
'priceChangeCountry' => 'DE'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"Idempotency-Key: <idempotency-key>"
],
]);
$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://app.pricepirate.com/api/v1/pricing-templates/{id}"
payload := strings.NewReader("{\n \"args\": {\n \"marginPercent\": 10\n },\n \"variantId\": \"gid://shopify/ProductVariant/1001\",\n \"priceChangeSource\": \"IDEALO\",\n \"priceChangeCountry\": \"DE\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Idempotency-Key", "<idempotency-key>")
req.Header.Add("Authorization", "Bearer <token>")
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.patch("https://app.pricepirate.com/api/v1/pricing-templates/{id}")
.header("Idempotency-Key", "<idempotency-key>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"args\": {\n \"marginPercent\": 10\n },\n \"variantId\": \"gid://shopify/ProductVariant/1001\",\n \"priceChangeSource\": \"IDEALO\",\n \"priceChangeCountry\": \"DE\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.pricepirate.com/api/v1/pricing-templates/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Idempotency-Key"] = '<idempotency-key>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"args\": {\n \"marginPercent\": 10\n },\n \"variantId\": \"gid://shopify/ProductVariant/1001\",\n \"priceChangeSource\": \"IDEALO\",\n \"priceChangeCountry\": \"DE\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"templateId": "template-123",
"affectedVariantsCount": 4
}{
"error": {
"code": "BAD_REQUEST",
"message": "JSON body must be an object",
"details": "Validation details may be included for invalid inputs.",
"requestId": "1b11c2c2-7c6f-44d9-9980-02a77681b91f"
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "Missing or invalid Authorization header",
"requestId": "1b11c2c2-7c6f-44d9-9980-02a77681b91f"
}
}{
"error": {
"code": "FORBIDDEN",
"message": "Forbidden",
"requestId": "1b11c2c2-7c6f-44d9-9980-02a77681b91f"
}
}{
"error": {
"code": "NOT_FOUND",
"message": "Resource not found",
"requestId": "1b11c2c2-7c6f-44d9-9980-02a77681b91f"
}
}{
"error": {
"code": "idempotency_key_reuse",
"message": "Idempotency-Key was already used for a different request",
"requestId": "1b11c2c2-7c6f-44d9-9980-02a77681b91f"
}
}{
"error": {
"code": "TOO_MANY_REQUESTS",
"message": "Rate limit exceeded",
"requestId": "1b11c2c2-7c6f-44d9-9980-02a77681b91f"
}
}{
"error": {
"code": "INTERNAL_SERVER_ERROR",
"message": "Internal server error",
"requestId": "1b11c2c2-7c6f-44d9-9980-02a77681b91f"
}
}{
"error": {
"code": "INTERNAL_SERVER_ERROR",
"message": "Internal server error",
"requestId": "1b11c2c2-7c6f-44d9-9980-02a77681b91f"
}
}