Dimitros (обсуждение | вклад) м |
Dimitros (обсуждение | вклад) м |
||
| Строка 19: | Строка 19: | ||
*Использование изображений для товаров, бывших в употреблении; | *Использование изображений для товаров, бывших в употреблении; | ||
| − | * И другие. | + | *И другие. |
<br /> | <br /> | ||
| − | === Что нужно для создания === | + | ===Что нужно для создания=== |
Для реализации требуется создание скрипта и развертывания его на вашем сервере по техническому заданию: | Для реализации требуется создание скрипта и развертывания его на вашем сервере по техническому заданию: | ||
| Строка 46: | Строка 46: | ||
'''Бренд:''' | '''Бренд:''' | ||
| − | * приводится к нижнему регистру | + | *приводится к нижнему регистру |
| − | * в названии бренда заменяются "слэши" на "минусы" ( / <=> - ) (актуально для Knecht/Mahle, HYUNDAI/KIA и т.п.) | + | *в названии бренда заменяются "слэши" на "минусы" ( / <=> - ) (актуально для Knecht/Mahle, HYUNDAI/KIA и т.п.) |
| − | * в названии бренда не может быть использован символ решетка # | + | *в названии бренда не может быть использован символ решетка # |
| Строка 64: | Строка 64: | ||
'''Артикул:''' | '''Артикул:''' | ||
| − | * удаляются символы: ' ', '-', '/', '\\', '.', ',', '"', '\<nowiki>''</nowiki>, PHP_EOL, "\r", "\n", "\t" | + | *удаляются символы: ' ', '-', '/', '\\', '.', ',', '"', '\<nowiki>''</nowiki>, PHP_EOL, "\r", "\n", "\t" |
| − | * приводится к нижнему регистру | + | *приводится к нижнему регистру |
| − | * пробелы | + | *пробелы |
| − | * минусы | + | *минусы |
| − | * слеши (оба) | + | *слеши (оба) |
| − | * точки | + | *точки |
| − | * запятые | + | *запятые |
| − | * таб | + | *таб |
| − | * перенос строки | + | *перенос строки |
| − | * конец строки | + | *конец строки |
<br /> | <br /> | ||
| − | ==== Вариант 2: Несколько изображений к одной детали на сайте ==== | + | ====Вариант 2: Несколько изображений к одной детали на сайте==== |
Для того, чтобы отображать на сайте несколько изображений к одной детали, необходимо реализовать скрипт. Скрипт в ответ на POST-запрос деталью должен возвращать JSON-ответ со списком всех изображений к товару, отправленному в запросе. | Для того, чтобы отображать на сайте несколько изображений к одной детали, необходимо реализовать скрипт. Скрипт в ответ на POST-запрос деталью должен возвращать JSON-ответ со списком всех изображений к товару, отправленному в запросе. | ||
При этом запросы к вашему серверу могут отправляться как с Content-type:application/json так и с Content-type: application/x-www-form-urlencoded (такое требование возникает из-за особенностей кросс-доменных обращений, подробнее [https://developer.mozilla.org/ru/docs/Web/HTTP/CORS#%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D1%81%D1%86%D0%B5%D0%BD%D0%B0%D1%80%D0%B8%D0%B5%D0%B2_%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F_%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%BE%D0%BC тут]) | При этом запросы к вашему серверу могут отправляться как с Content-type:application/json так и с Content-type: application/x-www-form-urlencoded (такое требование возникает из-за особенностей кросс-доменных обращений, подробнее [https://developer.mozilla.org/ru/docs/Web/HTTP/CORS#%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D1%81%D1%86%D0%B5%D0%BD%D0%B0%D1%80%D0%B8%D0%B5%D0%B2_%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F_%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%BE%D0%BC тут]) | ||
| − | <br /> | + | |
| + | ЗАПРОС (POST): | ||
| + | |||
| + | URL: <nowiki>http://server_name//multifinderbrands.php</nowiki> | ||
| + | |||
| + | BODY: <syntaxhighlight lang="json"> | ||
| + | [ | ||
| + | { | ||
| + | "brand": "febi", | ||
| + | "article": "01089" | ||
| + | } | ||
| + | ] | ||
| + | |||
| + | ОТВЕТ: | ||
| + | [ | ||
| + | { | ||
| + | "url": "https:\/\/server_name\/febi\/01089.jpg" | ||
| + | }, | ||
| + | { | ||
| + | "url": "https:\/\/server_name\/febi\/01089_1.jpg" | ||
| + | } | ||
| + | ] | ||
| + | </syntaxhighlight><br />Дополнительный параметр для миниатюр "isPreview": true | ||
| + | |||
| + | ЗАПРОС (POST): | ||
| + | |||
| + | URL: <nowiki>http://server_name//multifinderbrands.php</nowiki> | ||
| + | |||
| + | BODY:<syntaxhighlight lang="json"> | ||
| + | [ | ||
| + | { | ||
| + | "brand": "febi", | ||
| + | "article": "01089", | ||
| + | "isPreview": true | ||
| + | } | ||
| + | ] | ||
| + | |||
| + | </syntaxhighlight>В ответе желательно возвращать ссылку не на изображение в высоком разрешении, а на его миниатюру. | ||
Версия 12:49, 15 августа 2024
Содержание
Сервер изображений
В базе платформы ABCP для большинства наименований есть изображения.
Мы регулярно проводим большую работу по актуализации этих данных.
Если вам необходимо использовать свои изображения в дополнение к фотографиям из базы платформы, для этого у нас разработан специальный функционал "Сервер изображений".
Как работает
Если картинка для товара есть на вашем сервере изображений, она будет приоритетнее и будет показана на сайте.
Если картинки на вашем сервере изображений нет, но есть в нашей базе, будет показана наша картинка.
Если картинки нет ни на вашем сервере изображений, ни в нашей базе, будет показана "заглушка".
Какие задачи можно решить
- Использование собственных изображений для товаров вместо наших;
- Использование изображений с собственными водяными знаками;
- Использование изображений для товаров, бывших в употреблении;
- И другие.
Что нужно для создания
Для реализации требуется создание скрипта и развертывания его на вашем сервере по техническому заданию:
Требования к серверу изображений:
- Обязательно использование HTTPS. Сертификат должен быть не самоподписанным (браузеры должны принимать его). Корректность сертификата можно проверить в PostMan с включенной проверкой SSL-сертификатов.
- На сервере, где расположен скрипт, должны быть включены кросс-доменные запросы. (Что это и как тут)
Вариант 1: Одно изображение к одной детали
Этот вариант самый простой для реализации, но позволяет вывести только одно изображение для одной детали.
Изображения должны быть доступны по адресу вида:
https://server_name/brand_name/article_number.jpg
Например, для Knecht 00865N1 это будет ссылка:
https://server_name/knecht/00856n1.jpg
Бренд:
- приводится к нижнему регистру
- в названии бренда заменяются "слэши" на "минусы" ( / <=> - ) (актуально для Knecht/Mahle, HYUNDAI/KIA и т.п.)
- в названии бренда не может быть использован символ решетка #
Допустимо использование “слэша” в названии бренда. В этом случае будет происходить 301-й редирект на корректный адрес.
Пример:
http://server_name/knecht/mahle/00856n1.jpg
редирект на:
http://server_name/knecht-mahle/00856n1.jpg
Артикул:
- удаляются символы: ' ', '-', '/', '\\', '.', ',', '"', '\'', PHP_EOL, "\r", "\n", "\t"
- приводится к нижнему регистру
- пробелы
- минусы
- слеши (оба)
- точки
- запятые
- таб
- перенос строки
- конец строки
Вариант 2: Несколько изображений к одной детали на сайте
Для того, чтобы отображать на сайте несколько изображений к одной детали, необходимо реализовать скрипт. Скрипт в ответ на POST-запрос деталью должен возвращать JSON-ответ со списком всех изображений к товару, отправленному в запросе.
При этом запросы к вашему серверу могут отправляться как с Content-type:application/json так и с Content-type: application/x-www-form-urlencoded (такое требование возникает из-за особенностей кросс-доменных обращений, подробнее тут)
ЗАПРОС (POST):
URL: http://server_name//multifinderbrands.php
BODY:
[
{
"brand": "febi",
"article": "01089"
}
]
ОТВЕТ:
[
{
"url": "https:\/\/server_name\/febi\/01089.jpg"
},
{
"url": "https:\/\/server_name\/febi\/01089_1.jpg"
}
]
Дополнительный параметр для миниатюр "isPreview": true
ЗАПРОС (POST):
URL: http://server_name//multifinderbrands.php
BODY:
[
{
"brand": "febi",
"article": "01089",
"isPreview": true
}
]
В ответе желательно возвращать ссылку не на изображение в высоком разрешении, а на его миниатюру.