Кладёт картинку в карточку товара. Нужен, когда фото уже есть файлом и его надо показать в каталоге.
Scope
catalog:write
Заголовки
Content-Type: application/jsonX-Api-Key— ключ проектаIdempotency-Key— для повторного запроса с тем же результатом
Загрузить фото в карточку товара
POST /v1/catalog-products/upload-image. Scope catalog:write.
Учебный пример магазина «Северная полка». Это не запись из вашей базы. Здесь товар: запрос и ответ на одном вызове.
Запрос
{
"data": {
"projectId": "11111111-1111-4111-8111-111111111111",
"productId": "55555555-5555-4555-8555-555555555555",
"fileName": "kruzhka-emal.png",
"mimeType": "image/png",
"fileBase64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg=="
}
}Ответ (успех, 200)
{
"success": true,
"data": {
"id": "55555555-5555-4555-8555-555555555555",
"name": "Кружка эмаль, 350 мл",
"shortDescription": "Лёгкая кружка для чая в дороге.",
"priceAmount": 890,
"priceCurrencyCode": "RUB",
"status": "active",
"sku": "MUG-350-EMAL",
"brand": "Северная полка",
"projectId": "11111111-1111-4111-8111-111111111111",
"createdAt": "2026-10-16T09:00:00.000Z",
"updatedAt": "2026-10-16T09:12:00.000Z"
}
}Пример cURL
curl -X POST "https://api-external.brifly.online/v1/catalog-products/upload-image" \
-H "Content-Type: application/json" \
-H "X-Api-Key: {{api_key}}" \
-d '{"data": {"projectId": "11111111-1111-4111-8111-111111111111", "productId": "55555555-5555-4555-8555-555555555555", "fileName": "kruzhka-emal.png", "mimeType": "image/png", "fileBase64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg=="}}'Ошибки
401INVALID_API_KEY— нет ключа или ключ отозван.403FORBIDDEN_SCOPE— у ключа нетcatalog:write.403PROJECT_MISMATCH— в теле другой проект.429RATE_LIMIT_EXCEEDED— заголовокRetry-After.400VALIDATION_ERROR— не хватает поля вdata.
Ограничения
- Проект и пользователь берутся из ключа. Чужой
data.projectIdотвечает403PROJECT_MISMATCH.