Update a Product Category
Endpoint Overview
This API endpoint provides a detailed overview of the endpoint responsible for updating an existing product category within the Inventory module of the Juleb ERP.
name is still requiredThis endpoint reuses the same request body as
Create a Product Category, so name must still be included even when only
updating other fields.
Endpoint Details
- Method: PATCH
- URL:
/api/v1/inventory/product-category/{id}
Parameters
- Path Parameters:
id(string, required): The ID of the product category to update.
- Query Parameters: None
Request Body
Same fields as Create a Product Category: name (required),
parent_id, removal_strategy_id, sync_with_pos_category, pos_categ_id, j_category_ar,
j_category_num, j_category_code.
{
"name": string,
"pos_categ_id": integer
}
Response
- 202 Accepted: Successfully updated the record.
- 400 Bad Request: Bad request.
- 401 Unauthorized: Unauthorized.
- 404 Not Found: Record with the provided ID not found.
Response Body
{
"data": {
...record fields
}
}
Example
Request
- NodeJS
- curl
- python
- java
const axios = require('axios');
const accountName = process.env.ACCOUNT_NAME;
const apiKey = process.env.API_KEY;
axios.patch(`https://${accountName}.juleb.com/api/v1/inventory/product-category/12`, {
name: 'Pain Relief',
pos_categ_id: 9
}, {
headers: {
accept: '*/*',
Authorization: `TOKEN`,
'Content-Type': 'application/json'
}
})
.then(response => {
console.log(response.data);
})
.catch(error => {
console.error('Error:', error);
});
curl -X PATCH \
-H "accept: */*" \
-H "Authorization: ******" \
-H "Content-Type: application/json" \
-d '{
"name": "Pain Relief",
"pos_categ_id": 9
}' \
"https://$ACCOUNT_NAME.juleb.com/api/v1/inventory/product-category/12"
import os
import requests
account_name = os.getenv('ACCOUNT_NAME')
api_key = os.getenv('API_KEY')
url = f'https://{account_name}.juleb.com/api/v1/inventory/product-category/12'
headers = {
'accept': '*/*',
'Authorization': f'******',
'Content-Type': 'application/json'
}
data = {
'name': 'Pain Relief',
'pos_categ_id': 9
}
response = requests.patch(url, headers=headers, json=data)
if response.status_code == 202:
print(response.json())
else:
print(f'Error: {response.status_code}', response.text)
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.http.HttpResponse.BodyHandlers;
public class Main {
public static void main(String[] args) throws Exception {
String accountName = System.getenv("ACCOUNT_NAME");
String apiKey = System.getenv("API_KEY");
String json = "{"
+ "\"name\": \"Pain Relief\","
+ "\"pos_categ_id\": 9"
+ "}";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(new URI("https://" + accountName + ".juleb.com/api/v1/inventory/product-category/12"))
.header("accept", "*/*")
.header("Authorization", "Bearer " + apiKey)
.header("Content-Type", "application/json")
.method("PATCH", HttpRequest.BodyPublishers.ofString(json))
.build();
HttpResponse<String> response = client.send(request, BodyHandlers.ofString());
if (response.statusCode() == 202) {
System.out.println(response.body());
} else {
System.out.println("Error: " + response.statusCode() + ", " + response.body());
}
}
}
Response
{
"data": {
"id": 12,
"name": "Pain Relief",
"pos_categ_id": 9
}
}