Use this method to update an existing order item. Use the same order item JSON format as in the POST method.
PUT https://gambio-shop.de/shop1/api.php/v2/orders/{order_id}/items/{item_id}
Parameter name | Value | Description | Additional |
---|---|---|---|
order_id | int64 | The order ID |
Required |
item_id | int64 | The item ID |
Required |
Read-only parameters such as a resource's ID field are to be omitted.
The request body takes a GXOrderItem resource, containing the following writable properties:
{
"addonValues": {
"productId": "2",
"quantityUnitId": "1"
},
"attributes": [
{
"combisId": null,
"id": 1,
"name": "Farbe",
"optionId": 1,
"optionValueId": 1,
"price": 0,
"priceType": "+",
"value": "rot"
}
],
"checkoutInformation": "Checkout information goes here ...",
"customizationData": {
"areas": [
{
"areaId": 1,
"elements": [
{
"elementId": 1,
"file": "",
"name": "Name1",
"type": "text_input",
"value": "Value"
}
],
"name": "Area1"
}
],
"setId": 1,
"setName": "Set1"
},
"discount": 0,
"downloadInformation": {
"countAvailable": 14,
"filename": "Dokument.pdf",
"maxDaysAllowed": 5
},
"finalPrice": 11,
"isTaxAllowed": true,
"model": "12345-s-black",
"name": "Ein Artikel",
"price": 11,
"quantity": 1,
"quantityUnitName": "Liter",
"shippingTimeInformation": "",
"tax": 19
}
{
"addonValues": {
"productId": "string",
"productType": "string"
},
"attributes": {
"combisId": "int64",
"name": "string",
"optionId": "int64",
"optionValueId": "int64",
"price": "int64",
"priceType": "string",
"value": "string"
},
"checkoutInformation": "string",
"customizationData": {},
"discount": "int64",
"downloadInformation": [
"string"
],
"finalPrice": "int64",
"gxCustomizerData": [
"string"
],
"isTaxAllowed": "boolean",
"model": "string",
"name": "string",
"price": "int64",
"quantity": "int64",
"quantityUnitName": "string",
"shippingTimeInformation": "string",
"tax": "int64"
}
Name | Type | Description | Additional |
---|---|---|---|
addonValues | object | GXOrderItemsAddons | Required |
addonValues.productId | string | Required | |
addonValues.productType | string | Required | |
attributes | object | GXOrderItemAttributes | Required |
attributes.combisId | int64 | Required | |
attributes.name | string | Required | |
attributes.optionId | int64 | Required | |
attributes.optionValueId | int64 | Required | |
attributes.price | int64 | Required | |
attributes.priceType | string | Required | |
attributes.value | string | Required | |
checkoutInformation | string | Required | |
customizationData | object | Optional | |
discount | int64 | Required | |
downloadInformation[] | array of string | Required | |
finalPrice | int64 | Required | |
gxCustomizerData[] | array of string | Required | |
isTaxAllowed | boolean | Required | |
model | string | Required | |
name | string | Required | |
price | int64 | Required | |
quantity | int64 | Required | |
quantityUnitName | string | Required | |
shippingTimeInformation | string | Required | |
tax | int64 | Required |
In order to provide the authentication, you must insert the Basic Auth inside the HTTP header. The Basic Auth
is an encrypted base64 string that holds the following content: admin@example.org:12345
where the structure is
as follows: username:password
.
An example header would look as follows:
Authorization: Basic YWRtaW5Ac2hvcC5kZToxMjM0NQ==
This request requires the use of one of following authorisation methods:
BASIC
.
The following HTTP status codes may be returned, optionally with a response resource.
Status code | Description | Resource |
---|---|---|
200 | OK Upon success, returns the updated orders items |
GXOrderItem |
400 | Bad Request (Missing data or invalid ID) |
defaultErrorResponse |
404 | Not Found (Order item ID does not exist in given order) |
defaultErrorResponse |
Here are some example implementations for this operation.
MediaType mediaType = MediaType.parse("application/json"); RequestBody body = RequestBody.create(mediaType, "{\"id\":0,\"model\":\"\",\"name\":\"\",\"quantity\":0,\"price\":0,\"finalPrice\":0,\"tax\":0,\"isTaxAllowed\":false,\"discount\":0,\"shippingTimeInformation\":\"\",\"checkoutInformation\":\"\",\"attributes\":{\"id\":0,\"name\":\"\",\"value\":\"\",\"price\":0,\"priceType\":\"\",\"combisId\":0,\"optionId\":0,\"optionValueId\":0},\"downloadInformation\":[\"\"],\"addonValues\":{\"productId\":\"\",\"productType\":\"\"},\"quantityUnitName\":\"\",\"gxCustomizerData\":[\"\"],\"customizationData\":{}}"); Request request = new Request.Builder() .url("https://gambio-shop.de/shop1/api.php/v2/orders/{order_id}/items/%7Bitem_id%7D") .put(body) .addHeader("content-type", "application/json") .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") .build();
Response response = client.newCall(request).execute();
const options = { "method": "PUT", "hostname": "gambio-shop.de", "port": null, "path": "/shop1/api.php/v2/orders/{order_id}/items/%7Bitem_id%7D", "headers": {
"content-type": "application/json",
"Authorization": "Basic REPLACE_BASIC_AUTH"
} };
const req = http.request(options, function (res) { const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
}); });
req.write(JSON.stringify({ id: 0, model: '', name: '', quantity: 0, price: 0, finalPrice: 0, tax: 0, isTaxAllowed: false, discount: 0, shippingTimeInformation: '', checkoutInformation: '', attributes: {
id: 0,
name: '<ADD STRING VALUE>',
value: '<ADD STRING VALUE>',
price: 0,
priceType: '<ADD STRING VALUE>',
combisId: 0,
optionId: 0,
optionValueId: 0
}, downloadInformation: [''], addonValues: {productId: '', productType: ''}, quantityUnitName: '', gxCustomizerData: [''], customizationData: {} })); req.end();
const options = { method: 'PUT', url: 'https://gambio-shop.de/shop1/api.php/v2/orders/{order_id}/items/%7Bitem_id%7D', headers: {'content-type': 'application/json', Authorization: 'Basic REPLACE_BASIC_AUTH'}, body: {
id: 0,
model: '<ADD STRING VALUE>',
name: '<ADD STRING VALUE>',
quantity: 0,
price: 0,
finalPrice: 0,
tax: 0,
isTaxAllowed: false,
discount: 0,
shippingTimeInformation: '<ADD STRING VALUE>',
checkoutInformation: '<ADD STRING VALUE>',
attributes: {
id: 0,
name: '<ADD STRING VALUE>',
value: '<ADD STRING VALUE>',
price: 0,
priceType: '<ADD STRING VALUE>',
combisId: 0,
optionId: 0,
optionValueId: 0
},
downloadInformation: ['<ADD STRING VALUE>'],
addonValues: {productId: '<ADD STRING VALUE>', productType: '<ADD STRING VALUE>'},
quantityUnitName: '<ADD STRING VALUE>',
gxCustomizerData: ['<ADD STRING VALUE>'],
customizationData: {}
}, json: true };
request(options, function (error, response, body) { if (error) throw new Error(error);
console.log(body); });
const req = unirest("PUT", "https://gambio-shop.de/shop1/api.php/v2/orders/{order_id}/items/%7Bitem_id%7D");
req.headers({ "content-type": "application/json", "Authorization": "Basic REPLACE_BASIC_AUTH" });
req.type("json"); req.send({ "id": 0, "model": "", "name": "", "quantity": 0, "price": 0, "finalPrice": 0, "tax": 0, "isTaxAllowed": false, "discount": 0, "shippingTimeInformation": "", "checkoutInformation": "", "attributes": {
"id": 0,
"name": "<ADD STRING VALUE>",
"value": "<ADD STRING VALUE>",
"price": 0,
"priceType": "<ADD STRING VALUE>",
"combisId": 0,
"optionId": 0,
"optionValueId": 0
}, "downloadInformation": [
"<ADD STRING VALUE>"
], "addonValues": {
"productId": "<ADD STRING VALUE>",
"productType": "<ADD STRING VALUE>"
}, "quantityUnitName": "", "gxCustomizerData": [
"<ADD STRING VALUE>"
], "customizationData": {} });
req.end(function (res) { if (res.error) throw new Error(res.error);
console.log(res.body); });
"id": 0,
"name": "<ADD STRING VALUE>",
"value": "<ADD STRING VALUE>",
"price": 0,
"priceType": "<ADD STRING VALUE>",
"combisId": 0,
"optionId": 0,
"optionValueId": 0
}, "downloadInformation": [
"<ADD STRING VALUE>"
], "addonValues": {
"productId": "<ADD STRING VALUE>",
"productType": "<ADD STRING VALUE>"
}, "quantityUnitName": "", "gxCustomizerData": [
"<ADD STRING VALUE>"
], "customizationData": {} });
const xhr = new XMLHttpRequest(); xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () { if (this.readyState === this.DONE) {
console.log(this.responseText);
} });
xhr.open("PUT", "https://gambio-shop.de/shop1/api.php/v2/orders/{order_id}/items/%7Bitem_id%7D"); xhr.setRequestHeader("content-type", "application/json"); xhr.setRequestHeader("Authorization", "Basic REPLACE_BASIC_AUTH");
xhr.send(data);
"content-type": "application/json",
"Authorization": "Basic REPLACE_BASIC_AUTH"
}, "processData": false, "data": "{\"id\":0,\"model\":\"\",\"name\":\"\",\"quantity\":0,\"price\":0,\"finalPrice\":0,\"tax\":0,\"isTaxAllowed\":false,\"discount\":0,\"shippingTimeInformation\":\"\",\"checkoutInformation\":\"\",\"attributes\":{\"id\":0,\"name\":\"\",\"value\":\"\",\"price\":0,\"priceType\":\"\",\"combisId\":0,\"optionId\":0,\"optionValueId\":0},\"downloadInformation\":[\"\"],\"addonValues\":{\"productId\":\"\",\"productType\":\"\"},\"quantityUnitName\":\"\",\"gxCustomizerData\":[\"\"],\"customizationData\":{}}" };
$.ajax(settings).done(function (response) { console.log(response); });
$curl = curl_init();
curl_setopt_array($curl, [ CURLOPT_URL => "https://gambio-shop.de/shop1/api.php/v2/orders/{order_id}/items/%7Bitem_id%7D", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "PUT", CURLOPT_POSTFIELDS => "{\"id\":0,\"model\":\"\",\"name\":\"\",\"quantity\":0,\"price\":0,\"finalPrice\":0,\"tax\":0,\"isTaxAllowed\":false,\"discount\":0,\"shippingTimeInformation\":\"\",\"checkoutInformation\":\"\",\"attributes\":{\"id\":0,\"name\":\"\",\"value\":\"\",\"price\":0,\"priceType\":\"\",\"combisId\":0,\"optionId\":0,\"optionValueId\":0},\"downloadInformation\":[\"\"],\"addonValues\":{\"productId\":\"\",\"productType\":\"\"},\"quantityUnitName\":\"\",\"gxCustomizerData\":[\"\"],\"customizationData\":{}}", CURLOPT_HTTPHEADER => [
"Authorization: Basic REPLACE_BASIC_AUTH",
"content-type: application/json"
], ]);
$response = curl_exec($curl); $err = curl_error($curl);
curl_close($curl);
if ($err) { echo "cURL Error #:" . $err; } else { echo $response; }
$request = new HttpRequest(); $request->setUrl('https://gambio-shop.de/shop1/api.php/v2/orders/{order_id}/items/%7Bitem_id%7D'); $request->setMethod(HTTP_METH_PUT);
$request->setHeaders([ 'content-type' => 'application/json', 'Authorization' => 'Basic REPLACE_BASIC_AUTH' ]);
$request->setBody('{"id":0,"model":"","name":"","quantity":0,"price":0,"finalPrice":0,"tax":0,"isTaxAllowed":false,"discount":0,"shippingTimeInformation":"","checkoutInformation":"","attributes":{"id":0,"name":"","value":"","price":0,"priceType":"","combisId":0,"optionId":0,"optionValueId":0},"downloadInformation":[""],"addonValues":{"productId":"","productType":""},"quantityUnitName":"","gxCustomizerData":[""],"customizationData":{}}');
try { $response = $request->send();
echo $response->getBody(); } catch (HttpException $ex) { echo $ex; }
$client = new http\Client; $request = new http\Client\Request;
$body = new http\Message\Body; $body->append('{"id":0,"model":"","name":"","quantity":0,"price":0,"finalPrice":0,"tax":0,"isTaxAllowed":false,"discount":0,"shippingTimeInformation":"","checkoutInformation":"","attributes":{"id":0,"name":"","value":"","price":0,"priceType":"","combisId":0,"optionId":0,"optionValueId":0},"downloadInformation":[""],"addonValues":{"productId":"","productType":""},"quantityUnitName":"","gxCustomizerData":[""],"customizationData":{}}');
$request->setRequestUrl('https://gambio-shop.de/shop1/api.php/v2/orders/{order_id}/items/%7Bitem_id%7D'); $request->setRequestMethod('PUT'); $request->setBody($body);
$request->setHeaders([ 'content-type' => 'application/json', 'Authorization' => 'Basic REPLACE_BASIC_AUTH' ]);
$client->enqueue($request)->send(); $response = $client->getResponse();
echo $response->getBody();
conn = http.client.HTTPSConnection("gambio-shop.de")
payload = "{\"id\":0,\"model\":\"\",\"name\":\"\",\"quantity\":0,\"price\":0,\"finalPrice\":0,\"tax\":0,\"isTaxAllowed\":false,\"discount\":0,\"shippingTimeInformation\":\"\",\"checkoutInformation\":\"\",\"attributes\":{\"id\":0,\"name\":\"\",\"value\":\"\",\"price\":0,\"priceType\":\"\",\"combisId\":0,\"optionId\":0,\"optionValueId\":0},\"downloadInformation\":[\"\"],\"addonValues\":{\"productId\":\"\",\"productType\":\"\"},\"quantityUnitName\":\"\",\"gxCustomizerData\":[\"\"],\"customizationData\":{}}"
headers = {
'content-type': "application/json",
'Authorization': "Basic REPLACE_BASIC_AUTH"
}
conn.request("PUT", "/shop1/api.php/v2/orders/{order_id}/items/%7Bitem_id%7D", payload, headers)
res = conn.getresponse() data = res.read()
print(data.decode("utf-8"))
url = "https://gambio-shop.de/shop1/api.php/v2/orders/{order_id}/items/%7Bitem_id%7D"
payload = {
"id": 0,
"model": "<ADD STRING VALUE>",
"name": "<ADD STRING VALUE>",
"quantity": 0,
"price": 0,
"finalPrice": 0,
"tax": 0,
"isTaxAllowed": False,
"discount": 0,
"shippingTimeInformation": "<ADD STRING VALUE>",
"checkoutInformation": "<ADD STRING VALUE>",
"attributes": {
"id": 0,
"name": "<ADD STRING VALUE>",
"value": "<ADD STRING VALUE>",
"price": 0,
"priceType": "<ADD STRING VALUE>",
"combisId": 0,
"optionId": 0,
"optionValueId": 0
},
"downloadInformation": ["<ADD STRING VALUE>"],
"addonValues": {
"productId": "<ADD STRING VALUE>",
"productType": "<ADD STRING VALUE>"
},
"quantityUnitName": "<ADD STRING VALUE>",
"gxCustomizerData": ["<ADD STRING VALUE>"],
"customizationData": {}
} headers = {
"content-type": "application/json",
"Authorization": "Basic REPLACE_BASIC_AUTH"
}
response = requests.request("PUT", url, json=payload, headers=headers)
print(response.text)
url = URI("https://gambio-shop.de/shop1/api.php/v2/orders/{order_id}/items/%7Bitem_id%7D")
http = Net::HTTP.new(url.host, url.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Put.new(url) request["content-type"] = 'application/json' request["Authorization"] = 'Basic REPLACE_BASIC_AUTH' request.body = "{\"id\":0,\"model\":\"\",\"name\":\"\",\"quantity\":0,\"price\":0,\"finalPrice\":0,\"tax\":0,\"isTaxAllowed\":false,\"discount\":0,\"shippingTimeInformation\":\"\",\"checkoutInformation\":\"\",\"attributes\":{\"id\":0,\"name\":\"\",\"value\":\"\",\"price\":0,\"priceType\":\"\",\"combisId\":0,\"optionId\":0,\"optionValueId\":0},\"downloadInformation\":[\"\"],\"addonValues\":{\"productId\":\"\",\"productType\":\"\"},\"quantityUnitName\":\"\",\"gxCustomizerData\":[\"\"],\"customizationData\":{}}"
response = http.request(request) puts response.read_body
curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT"); curl_easy_setopt(hnd, CURLOPT_URL, "https://gambio-shop.de/shop1/api.php/v2/orders/{order_id}/items/%7Bitem_id%7D");
struct curl_slist *headers = NULL; headers = curl_slist_append(headers, "content-type: application/json"); headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);
curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"id\":0,\"model\":\"\",\"name\":\"\",\"quantity\":0,\"price\":0,\"finalPrice\":0,\"tax\":0,\"isTaxAllowed\":false,\"discount\":0,\"shippingTimeInformation\":\"\",\"checkoutInformation\":\"\",\"attributes\":{\"id\":0,\"name\":\"\",\"value\":\"\",\"price\":0,\"priceType\":\"\",\"combisId\":0,\"optionId\":0,\"optionValueId\":0},\"downloadInformation\":[\"\"],\"addonValues\":{\"productId\":\"\",\"productType\":\"\"},\"quantityUnitName\":\"\",\"gxCustomizerData\":[\"\"],\"customizationData\":{}}");
CURLcode ret = curl_easy_perform(hnd);
import (
"fmt"
"strings"
"net/http"
"io/ioutil"
)
func main() {
url := "https://gambio-shop.de/shop1/api.php/v2/orders/{order_id}/items/%7Bitem_id%7D"
payload := strings.NewReader("{\"id\":0,\"model\":\"<ADD STRING VALUE>\",\"name\":\"<ADD STRING VALUE>\",\"quantity\":0,\"price\":0,\"finalPrice\":0,\"tax\":0,\"isTaxAllowed\":false,\"discount\":0,\"shippingTimeInformation\":\"<ADD STRING VALUE>\",\"checkoutInformation\":\"<ADD STRING VALUE>\",\"attributes\":{\"id\":0,\"name\":\"<ADD STRING VALUE>\",\"value\":\"<ADD STRING VALUE>\",\"price\":0,\"priceType\":\"<ADD STRING VALUE>\",\"combisId\":0,\"optionId\":0,\"optionValueId\":0},\"downloadInformation\":[\"<ADD STRING VALUE>\"],\"addonValues\":{\"productId\":\"<ADD STRING VALUE>\",\"productType\":\"<ADD STRING VALUE>\"},\"quantityUnitName\":\"<ADD STRING VALUE>\",\"gxCustomizerData\":[\"<ADD STRING VALUE>\"],\"customizationData\":{}}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("content-type", "application/json")
req.Header.Add("Authorization", "Basic REPLACE_BASIC_AUTH")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
NSDictionary *headers = @{ @"content-type": @"application/json",
@"Authorization": @"Basic REPLACE_BASIC_AUTH" };
NSDictionary *parameters = @{ @"id": @0,
@"model": @"<ADD STRING VALUE>",
@"name": @"<ADD STRING VALUE>",
@"quantity": @0,
@"price": @0,
@"finalPrice": @0,
@"tax": @0,
@"isTaxAllowed": @NO,
@"discount": @0,
@"shippingTimeInformation": @"<ADD STRING VALUE>",
@"checkoutInformation": @"<ADD STRING VALUE>",
@"attributes": @{ @"id": @0, @"name": @"<ADD STRING VALUE>", @"value": @"<ADD STRING VALUE>", @"price": @0, @"priceType": @"<ADD STRING VALUE>", @"combisId": @0, @"optionId": @0, @"optionValueId": @0 },
@"downloadInformation": @[ @"<ADD STRING VALUE>" ],
@"addonValues": @{ @"productId": @"<ADD STRING VALUE>", @"productType": @"<ADD STRING VALUE>" },
@"quantityUnitName": @"<ADD STRING VALUE>",
@"gxCustomizerData": @[ @"<ADD STRING VALUE>" ],
@"customizationData": @{ } };
NSData *postData = [NSJSONSerialization dataWithJSONObject:parameters options:0 error:nil];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://gambio-shop.de/shop1/api.php/v2/orders/{order_id}/items/%7Bitem_id%7D"]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:10.0];
[request setHTTPMethod:@"PUT"]; [request setAllHTTPHeaderFields:headers]; [request setHTTPBody:postData];
NSURLSession *session = [NSURLSession sharedSession]; NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (error) {
NSLog(@"%@", error);
} else {
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
NSLog(@"%@", httpResponse);
}
}];
[dataTask resume];
let headers = [ "content-type": "application/json", "Authorization": "Basic REPLACE_BASIC_AUTH" ] let parameters = [ "id": 0, "model": "", "name": "", "quantity": 0, "price": 0, "finalPrice": 0, "tax": 0, "isTaxAllowed": false, "discount": 0, "shippingTimeInformation": "", "checkoutInformation": "", "attributes": [
"id": 0,
"name": "<ADD STRING VALUE>",
"value": "<ADD STRING VALUE>",
"price": 0,
"priceType": "<ADD STRING VALUE>",
"combisId": 0,
"optionId": 0,
"optionValueId": 0
], "downloadInformation": [""], "addonValues": [
"productId": "<ADD STRING VALUE>",
"productType": "<ADD STRING VALUE>"
], "quantityUnitName": "", "gxCustomizerData": [""], "customizationData": [] ] as [String : Any]
let postData = JSONSerialization.data(withJSONObject: parameters, options: [])
let request = NSMutableURLRequest(url: NSURL(string: "https://gambio-shop.de/shop1/api.php/v2/orders/{order_id}/items/%7Bitem_id%7D")! as URL,
cachePolicy: .useProtocolCachePolicy,
timeoutInterval: 10.0)
request.httpMethod = "PUT" request.allHTTPHeaderFields = headers request.httpBody = postData as Data
let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) {
print(error)
} else {
let httpResponse = response as? HTTPURLResponse
print(httpResponse)
} })
dataTask.resume()
let uri = Uri.of_string "https://gambio-shop.de/shop1/api.php/v2/orders/{order_id}/items/%7Bitem_id%7D" in let headers = Header.add_list (Header.init ()) [ ("content-type", "application/json"); ("Authorization", "Basic REPLACE_BASIC_AUTH"); ] in let body = Cohttp_lwt_body.of_string "{\"id\":0,\"model\":\"\",\"name\":\"\",\"quantity\":0,\"price\":0,\"finalPrice\":0,\"tax\":0,\"isTaxAllowed\":false,\"discount\":0,\"shippingTimeInformation\":\"\",\"checkoutInformation\":\"\",\"attributes\":{\"id\":0,\"name\":\"\",\"value\":\"\",\"price\":0,\"priceType\":\"\",\"combisId\":0,\"optionId\":0,\"optionValueId\":0},\"downloadInformation\":[\"\"],\"addonValues\":{\"productId\":\"\",\"productType\":\"\"},\"quantityUnitName\":\"\",\"gxCustomizerData\":[\"\"],\"customizationData\":{}}" in
Client.call ~headers ~body `PUT uri
= fun (res, body_stream) -> (* Do stuff with the result *)