catalog.product.offer.download
Скачать файлы вариации товара
Описание
Метод скачивает файлы вариации товара по переданным параметрам.
Параметры
fields
object
обязательный
Значения полей для скачивания файлов вариации товара
Параметр fields
fileId
integer
обязательный
Идентификатор зарегистрированного файла.
Для получения идентификаторов файлов вариации товара необходимо использовать catalog.product.offer.get либо catalog.product.offer.list
productId
catalog_product_offer.id
обязательный
Идентификатор вариации товара.
Для получения идентификаторов вариаций товара необходимо использовать catalog.product.offer.list
fieldName
string
обязательный
Имя поля (свойства или поля элемента информационного блока), в котором хранится файл. Возможные значения:
- DETAIL_PICTURE — детальная картинка, поле доступно в старой карточке товара
- PREVIEW_PICTURE — картинка для анонса, поле доступно в старой карточке товара
- PROPERTY_N — свойство, где N — идентификатор свойства либо код свойства
Для получения существующих идентификаторов либо кодов свойств вариаций товара необходимо использовать catalog.productProperty.list
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"fields":{"fileId":6538,"productId":1286,"fieldName":"detailPicture"}}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/catalog.product.offer.download
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"fields":{"fileId":6538,"productId":1286,"fieldName":"detailPicture"},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/catalog.product.offer.download
// This snippet is an ES module: top-level await requires type="module" or a bundler.
// $b24 is an already-initialized SDK instance (see the SDK "Get started" guide).
import { Text } from '@bitrix24/b24jssdk'
import type { B24Frame } from '@bitrix24/b24jssdk'
declare const $b24: B24Frame
try {
const response = await $b24.actions.v2.call.make<boolean>({
method: 'catalog.product.offer.download',
params: {
fields: {
fileId: 6538,
productId: 1286,
fieldName: 'detailPicture',
},
},
requestId: Text.getUuidRfc4122()
})
// The payload is available only on a successful response
if (!response.isSuccess) {
console.error(response.getErrorMessages().join('; '))
} else {
const result = response.getData()!.result
console.info(result)
}
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
<!-- Load the SDK (UMD build); it is exposed as the global B24Js -->
<script src="https://unpkg.com/@bitrix24/b24jssdk@1/dist/umd/index.min.js"></script>
<script>
async function downloadOfferFile() {
try {
// Initialize the SDK inside a Bitrix24 frame
const $b24 = await B24Js.initializeB24Frame()
const response = await $b24.actions.v2.call.make({
method: 'catalog.product.offer.download',
params: {
fields: {
fileId: 6538,
productId: 1286,
fieldName: 'detailPicture',
},
},
requestId: B24Js.Text.getUuidRfc4122()
})
// The payload is available only on a successful response
if (!response.isSuccess) {
console.error(response.getErrorMessages().join('; '))
return
}
const result = response.getData().result
console.info(result)
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', downloadOfferFile)
</script>
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
try:
bitrix_response = client.catalog.product.offer.download(
fields={
"fileId": 6538,
"productId": 1286,
"fieldName": "detailPicture",
},
).response
result = bitrix_response.result
print(result)
except BitrixAPIError as error:
print(
"Ошибка Bitrix API",
f"error: {error.error}",
f"error_description: {error.error_description}",
sep="\n",
)
except BitrixSDKException as error:
print(f"Ошибка Bitrix SDK: {error.message}")
except Exception as error:
print(f"Непредвиденная ошибка: {error}")
try {
$response = $b24Service
->core
->call(
'catalog.product.offer.download',
[
'fields' => [
'fileId' => 6538,
'productId' => 1286,
'fieldName' => 'detailPicture',
],
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
// Нужная вам логика обработки данных
processData($result);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error downloading product offer: ' . $e->getMessage();
}
BX24.callMethod(
'catalog.product.offer.download',
{
fields: {
fileId: 6538,
productId: 1286,
fieldName: 'detailPicture',
}
},
function(result) {
if (result.error()) {
console.error(result.error());
} else {
console.info(result.data());
}
}
);
require_once('crest.php');
$result = CRest::call(
'catalog.product.offer.download',
[
'fields' => [
'fileId' => 6538,
'productId' => 1286,
'fieldName' => 'detailPicture'
]
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "catalog.product.offer.download", b24.Params{
"fields": b24.Params{
"fileId": 6538,
"productId": 1286,
"fieldName": "detailPicture",
},
})
if err != nil {
return fmt.Errorf("catalog.product.offer.download: %w", err)
}
// Ответ приходит как json.RawMessage — разберите его
// в структуру под форму ответа, показанную ниже на этой странице.
fmt.Printf("%s\n", res.Result)
Обработка ошибок
HTTP-статус: 400
{
"error":0,
"error_description":"Required fields: fileId"
}
| Код | Описание | Значение |
|---|---|---|
200040300010 |
Недостаточно прав для чтения торгового каталога | |
0 |
Вариация товара с указанным идентификатором не существует | |
0 |
Указанное свойство не существует либо не является файловым | |
0 |
Файл с указанным идентификатором не существует | |
0 |
Не переданы обязательные поля | |
0 |
Другие ошибки (например, фатальные ошибки) |

