Example script that create downloadable product
<?php
$curl = curl_init();
$URL = "http://magento.dev";
curl_setopt_array($curl, array(
CURLOPT_URL => $URL . "/rest/V1/integration/admin/token",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "{\"username\":\"admin\", \"password\":\"123123q\"}",
CURLOPT_HTTPHEADER => array(
"accept: application/json",
"cache-control: no-cache",
"content-type: application/json",
"postman-token: 654c3084-0e0a-b3a1-043f-0960e695e520"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
die();
} else {
$key = $response;
}
$data = [
"product"=> [
"sku"=> "DownloadableProduct_18sdsd5",
"name"=> "DownloadableProduct_185",
"attribute_set_id"=> 4,
"price"=> "1",
"status"=> 1,
"visibility"=> 4,
"type_id"=> "downloadable",
"extension_attributes"=> [
"stock_item"=> [
"manage_stock"=> 1,
"is_in_stock"=> 1,
"qty"=> "10"
],
"downloadable_product_samples"=> [[
"title"=> "sample1185869143",
"sort_order"=> "0",
"sample_type"=> "url",
"sample_url"=> "http://example.com"
]],
"downloadable_product_links"=> [[
"title"=> "link-1-185862143",
"sort_order"=> "1",
"is_shareable"=> 0,
"price"=> 2.43,
"number_of_downloads"=> "2",
"link_type"=> "url",
"link_url"=> "http://example.com",
"sample_type"=> "url",
"sample_url"=> "http://example.com"
]]
],
"custom_attributes"=> [[
"attribute_code"=> "tax_class_id",
"value"=> 2
], [
"attribute_code"=> "quantity_and_stock_status",
"value"=> [
"qty"=> "10",
"is_in_stock"=> 1
]
], [
"attribute_code"=> "is_virtual",
"value"=> 1
], [
"attribute_code"=> "url_key",
"value"=> "downloadableproduct-185892143"
], [
"attribute_code"=> "links_title",
"value"=> "Links title 185862143"
], [
"attribute_code"=> "links_purchased_separately",
"value"=> 1
], [
"attribute_code"=> "samples_title",
"value"=> "Samples185692143"
], [
"attribute_code"=> "links_exist",
"value"=> 1
]]
]
];
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => $URL . "/rest/admin/V1/products/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => $data,
CURLOPT_HTTPHEADER => array(
"accept: application/json",
"content-type: application/json",
"authorization: Bearer " . $key,
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
Best Answer
The answer seems to be quite simple. All you need to do is add the store code to the URL.
Example URL:
http://localhost:8888/magento/index.php/rest/{store_code}/V1/products