Use this method to update an existing order item. Use the same order item JSON format as in the POST method.

Request

PUT https://gambio-shop.de/shop1/api.php/v2/orders/{order_id}/items/{item_id}

Path parameters

Parameter name Value Description Additional
item_id int64

The item ID

Required
order_id int64

The order ID

Required

Request body

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 ...",
    "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",
    "discount": "int64",
    "downloadInformation": [
        "string"
    ],
    "finalPrice": "int64",
    "gxCustomizerData": [
        "string"
    ],
    "isTaxAllowed": "boolean",
    "model": "string",
    "name": "string",
    "price": "int64",
    "quantity": "int64",
    "quantityUnitName": "string",
    "shippingTimeInformation": "string",
    "tax": "int64"
}

Properties

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
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

Authorization

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@shop.de: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 .

Response

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

Example Snippets

Here are some example implementations for this operation.

curl --request PUT \
--header 'authorization: Basic REPLACE_BASIC_AUTH' \
--header 'content-type: application/json' \
--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":[""]}'
wget --quiet \
--method PUT \
--header 'content-type: application/json' \
--header 'authorization: Basic REPLACE_BASIC_AUTH' \
--body-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":[""]}' \
--output-document

    echo '{"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":[""]}' | \
    authorization:'Basic REPLACE_BASIC_AUTH' \
    content-type:application/json
    .header("content-type", "application/json")
    .header("authorization", "Basic REPLACE_BASIC_AUTH")
    .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\":[\"\"]}")
    .asString();
    OkHttpClient client = new OkHttpClient();

    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\":[\"\"]}");
    Request request = new Request.Builder()
    .put(body)
    .addHeader("content-type", "application/json")
    .addHeader("authorization", "Basic REPLACE_BASIC_AUTH")
    .build();

    Response response = client.newCall(request).execute();

    var request = new RestRequest(Method.PUT);
    request.AddHeader("authorization", "Basic REPLACE_BASIC_AUTH");
    request.AddHeader("content-type", "application/json");
    request.AddParameter("application/json", "{\"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\":[\"\"]}", ParameterType.RequestBody);
    IRestResponse response = client.Execute(request);
    var http = require("https");

    var 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"

    }

    };

    var req = http.request(options, function (res) {

    var chunks = [];

    res.on("data", function (chunk) {

    chunks.push(chunk);

    });

    res.on("end", function () {

    var 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: '<ADD STRING VALUE>' },

    quantityUnitName: '',

    gxCustomizerData: [ '' ] }));
    req.end();

    var request = require("request");

    var options = { method: 'PUT',

    url:
    headers:
    { authorization: 'Basic REPLACE_BASIC_AUTH',

     'content-type': 'application/json' },

    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>' ] },

    json: true };

    request(options, function (error, response, body) {

    if (error) throw new Error(error);

    console.log(body);

    });

    var unirest = require("unirest");

    req.headers({

    "authorization": "Basic REPLACE_BASIC_AUTH",
    "content-type": "application/json"
    });

    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>"

    ]

    });

    req.end(function (res) {

    if (res.error) throw new Error(res.error);

    console.log(res.body);

    });

    var data = 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": [

    "<ADD STRING VALUE>"

    ],

    "addonValues": {

    "productId": "<ADD STRING VALUE>",
    "productType": "<ADD STRING VALUE>"

    },

    "quantityUnitName": "",
    "gxCustomizerData": [

    "<ADD STRING VALUE>"

    ]

    });

    var xhr = new XMLHttpRequest();

    xhr.withCredentials = true;

    xhr.addEventListener("readystatechange", function () {

    if (this.readyState === this.DONE) {

    console.log(this.responseText);

    }

    });

    xhr.setRequestHeader("content-type", "application/json");
    xhr.setRequestHeader("authorization", "Basic REPLACE_BASIC_AUTH");

    xhr.send(data);

    var settings = {
    "async": true,
    "crossDomain": true,
    "method": "PUT",
    "headers": {

    "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\":[\"\"]}"
    }

    $.ajax(settings).done(function (response) {

    console.log(response);
    });

    <?php

    $curl = curl_init();

    curl_setopt_array($curl, array(

    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\":[\"\"]}",
    CURLOPT_HTTPHEADER => array(

    "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;
    }

    <?php

    $request = new HttpRequest();

    $request->setMethod(HTTP_METH_PUT);

    $request->setHeaders(array(

    'authorization' => 'Basic REPLACE_BASIC_AUTH',
    'content-type' => 'application/json'
    ));

    $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":[""]}');

    try {

    $response = $request->send();

    echo $response->getBody();

    } catch (HttpException $ex) {
    echo $ex;
    }

    <?php

    $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":[""]}');

    $request->setRequestMethod('PUT');
    $request->setBody($body);

    $request->setHeaders(array(

    'authorization' => 'Basic REPLACE_BASIC_AUTH',
    'content-type' => 'application/json'
    ));

    $client->enqueue($request)->send();

    $response = $client->getResponse();

    echo $response->getBody();

    import http.client

    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\":[\"\"]}"

    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"))

    import requests

    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\":[\"\"]}"

    headers = {

    'content-type': "application/json",
    'authorization': "Basic REPLACE_BASIC_AUTH"
    }

    response = requests.request("PUT", url, data=payload, headers=headers)

    print(response.text)

    require 'uri'
    require 'net/http'

    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\":[\"\"]}"

    response = http.request(request)

    puts response.read_body

    CURL *hnd = curl_easy_init();

    curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT");

    struct curl_slist *headers = NULL;

    headers = curl_slist_append(headers, "authorization: Basic REPLACE_BASIC_AUTH");
    headers = curl_slist_append(headers, "content-type: application/json");
    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\":[\"\"]}");

    CURLcode ret = curl_easy_perform(hnd);

    package main

    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>\"]}")
    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))

    }

    #import

    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>" ] };

    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];

    import Foundation

    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": [""]
    ]

    let postData = NSJSONSerialization.dataWithJSONObject(parameters, options: nil, error: nil)

    var request = NSMutableURLRequest(URL: NSURL(string: "https://gambio-shop.de/shop1/api.php/v2/orders/{order_id}/items/%7Bitem_id%7D")!,

                                        cachePolicy: .UseProtocolCachePolicy,
    timeoutInterval: 10.0)

    request.HTTPMethod = "PUT"

    request.allHTTPHeaderFields = headers
    request.HTTPBody = postData

    let session = NSURLSession.sharedSession()

    let dataTask = session.dataTaskWithRequest(request, completionHandler: { (data, response, error) -> Void in
    if (error != nil) {

    println(error)

    } else {

    let httpResponse = response as? NSHTTPURLResponse
    println(httpResponse)

    }

    })

    dataTask.resume()

    open Cohttp_lwt_unix
    open Cohttp
    open Lwt

    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\":[\"\"]}" in

    Client.call ~headers ~body `PUT uri

    = fun (res, body_stream) ->

    (* Do stuff with the result *)