Shopify
Update Shopify Automation Settings
Update the connected Shopify store’s browse-abandonment and price-drop settings
PUT
/
api
/
v1
/
shopify
/
automation-settings
Update Shopify Automation Settings
curl --request PUT \
--url https://api.sequenzy.com/api/v1/shopify/automation-settings \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"browseAbandonment": {},
"priceDrop": {}
}
'import requests
url = "https://api.sequenzy.com/api/v1/shopify/automation-settings"
payload = {
"browseAbandonment": {},
"priceDrop": {}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({browseAbandonment: {}, priceDrop: {}})
};
fetch('https://api.sequenzy.com/api/v1/shopify/automation-settings', 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.sequenzy.com/api/v1/shopify/automation-settings",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'browseAbandonment' => [
],
'priceDrop' => [
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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://api.sequenzy.com/api/v1/shopify/automation-settings"
payload := strings.NewReader("{\n \"browseAbandonment\": {},\n \"priceDrop\": {}\n}")
req, _ := http.NewRequest("PUT", url, payload)
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.put("https://api.sequenzy.com/api/v1/shopify/automation-settings")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"browseAbandonment\": {},\n \"priceDrop\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sequenzy.com/api/v1/shopify/automation-settings")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"browseAbandonment\": {},\n \"priceDrop\": {}\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Shopify automation settings updated.",
"integrationId": "int_123",
"shopDomain": "my-store.myshopify.com",
"browseAbandonment": {
"enabled": false,
"delayHours": 2,
"cooldownHours": 24
},
"priceDrop": {
"enabled": true,
"minPercent": 10,
"lookbackDays": 30,
"cooldownDays": 7
}
}
{
"success": false,
"error": "Provide browseAbandonment and/or priceDrop settings to update."
}
{
"success": false,
"error": "Unauthorized"
}
{
"success": false,
"error": "Shopify integration not found"
}
Partial update: omitted sections are left untouched, omitted fields within a
section keep their current value, and passing
null for a section resets it
to the platform defaults.
Request
Browse-abandonment settings:
enabled (boolean), delayHours (hours to
wait after a product view, default 2, max 168), cooldownHours (minimum
hours between events per subscriber, default 24, max 720). Pass null to
reset to the defaults.Price-drop settings:
enabled (boolean), minPercent (minimum price
decrease percent, default 5, max 95), lookbackDays (viewer audience
window, default 30, max 90), cooldownDays (minimum days between events per
subscriber and product, default 7, max 90). Pass null to reset to the
defaults.curl -X PUT "https://api.sequenzy.com/api/v1/shopify/automation-settings" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"priceDrop": {"minPercent": 10}, "browseAbandonment": {"enabled": false}}'
Responses
{
"success": true,
"message": "Shopify automation settings updated.",
"integrationId": "int_123",
"shopDomain": "my-store.myshopify.com",
"browseAbandonment": {
"enabled": false,
"delayHours": 2,
"cooldownHours": 24
},
"priceDrop": {
"enabled": true,
"minPercent": 10,
"lookbackDays": 30,
"cooldownDays": 7
}
}
{
"success": false,
"error": "Provide browseAbandonment and/or priceDrop settings to update."
}
{
"success": false,
"error": "Unauthorized"
}
{
"success": false,
"error": "Shopify integration not found"
}
⌘I
Update Shopify Automation Settings
curl --request PUT \
--url https://api.sequenzy.com/api/v1/shopify/automation-settings \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"browseAbandonment": {},
"priceDrop": {}
}
'import requests
url = "https://api.sequenzy.com/api/v1/shopify/automation-settings"
payload = {
"browseAbandonment": {},
"priceDrop": {}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({browseAbandonment: {}, priceDrop: {}})
};
fetch('https://api.sequenzy.com/api/v1/shopify/automation-settings', 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.sequenzy.com/api/v1/shopify/automation-settings",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'browseAbandonment' => [
],
'priceDrop' => [
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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://api.sequenzy.com/api/v1/shopify/automation-settings"
payload := strings.NewReader("{\n \"browseAbandonment\": {},\n \"priceDrop\": {}\n}")
req, _ := http.NewRequest("PUT", url, payload)
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.put("https://api.sequenzy.com/api/v1/shopify/automation-settings")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"browseAbandonment\": {},\n \"priceDrop\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sequenzy.com/api/v1/shopify/automation-settings")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"browseAbandonment\": {},\n \"priceDrop\": {}\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Shopify automation settings updated.",
"integrationId": "int_123",
"shopDomain": "my-store.myshopify.com",
"browseAbandonment": {
"enabled": false,
"delayHours": 2,
"cooldownHours": 24
},
"priceDrop": {
"enabled": true,
"minPercent": 10,
"lookbackDays": 30,
"cooldownDays": 7
}
}
{
"success": false,
"error": "Provide browseAbandonment and/or priceDrop settings to update."
}
{
"success": false,
"error": "Unauthorized"
}
{
"success": false,
"error": "Shopify integration not found"
}