curl --request PATCH \
--url https://api.vori.com/v1/store-product-placements/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"aisle": "<string>",
"is_primary": true,
"section": "<string>",
"shelf": 1
}
'import requests
url = "https://api.vori.com/v1/store-product-placements/{id}"
payload = {
"aisle": "<string>",
"is_primary": True,
"section": "<string>",
"shelf": 1
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({aisle: '<string>', is_primary: true, section: '<string>', shelf: 1})
};
fetch('https://api.vori.com/v1/store-product-placements/{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://api.vori.com/v1/store-product-placements/{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([
'aisle' => '<string>',
'is_primary' => true,
'section' => '<string>',
'shelf' => 1
]),
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.vori.com/v1/store-product-placements/{id}"
payload := strings.NewReader("{\n \"aisle\": \"<string>\",\n \"is_primary\": true,\n \"section\": \"<string>\",\n \"shelf\": 1\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.vori.com/v1/store-product-placements/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"aisle\": \"<string>\",\n \"is_primary\": true,\n \"section\": \"<string>\",\n \"shelf\": 1\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.vori.com/v1/store-product-placements/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"aisle\": \"<string>\",\n \"is_primary\": true,\n \"section\": \"<string>\",\n \"shelf\": 1\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"aisle": "<string>",
"banner_id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"created_by_user_id": "<string>",
"is_primary": true,
"section": "<string>",
"shelf": 123,
"store_id": "<string>",
"store_product_id": "<string>",
"updated_at": "2023-11-07T05:31:56Z"
}{
"error_code": "insufficient_permissions",
"error_details": {
"action": "*",
"resource": "*"
}
}Update a shelf location
Moves a shelf location to a different aisle, section, or shelf, or makes it the primary location for its product. The primary location cannot be demoted directly; promote another location instead.
curl --request PATCH \
--url https://api.vori.com/v1/store-product-placements/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"aisle": "<string>",
"is_primary": true,
"section": "<string>",
"shelf": 1
}
'import requests
url = "https://api.vori.com/v1/store-product-placements/{id}"
payload = {
"aisle": "<string>",
"is_primary": True,
"section": "<string>",
"shelf": 1
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({aisle: '<string>', is_primary: true, section: '<string>', shelf: 1})
};
fetch('https://api.vori.com/v1/store-product-placements/{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://api.vori.com/v1/store-product-placements/{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([
'aisle' => '<string>',
'is_primary' => true,
'section' => '<string>',
'shelf' => 1
]),
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.vori.com/v1/store-product-placements/{id}"
payload := strings.NewReader("{\n \"aisle\": \"<string>\",\n \"is_primary\": true,\n \"section\": \"<string>\",\n \"shelf\": 1\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.vori.com/v1/store-product-placements/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"aisle\": \"<string>\",\n \"is_primary\": true,\n \"section\": \"<string>\",\n \"shelf\": 1\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.vori.com/v1/store-product-placements/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"aisle\": \"<string>\",\n \"is_primary\": true,\n \"section\": \"<string>\",\n \"shelf\": 1\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"aisle": "<string>",
"banner_id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"created_by_user_id": "<string>",
"is_primary": true,
"section": "<string>",
"shelf": 123,
"store_id": "<string>",
"store_product_id": "<string>",
"updated_at": "2023-11-07T05:31:56Z"
}{
"error_code": "insufficient_permissions",
"error_details": {
"action": "*",
"resource": "*"
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Body
Changes to a shelf location, such as moving it to a different aisle, section, or shelf, or promoting it to the primary location.
Aisle identifier (e.g. "1", "1A", "Produce").
120Set true to make this the primary location (demotes the current primary). Setting false on the current primary is rejected — promote another shelf location instead.
Bay/section within the aisle (e.g. "Bay 3", "Left"). Pass null to clear.
120Shelf level within the section. Pass null to clear.
x >= 0Response
A shelf location for a product: where it sits on the sales floor — its aisle, section, and shelf — and whether that is the primary location for the product.
Unique identifier for the record.
Aisle identifier (e.g. "1", "1A", "Produce").
Banner the shelf location belongs to.
When the record was created.
User who created this shelf location; null when an API client created it.
Whether this is the primary (home) location for the product.
Bay/section within the aisle (e.g. "Bay 3", "Left").
Shelf level within the section.
Store the shelf location belongs to.
Store product placed at this location.
When the record was last changed.
Was this page helpful?