Открыть главное меню

ImageServer

Версия от 14:41, 19 августа 2024; Dimitros (обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)

Сервер изображений

В базе платформы 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
   }
]

В ответе желательно возвращать ссылку не на изображение в высоком разрешении, а на его миниатюру.

Как подключить свой сервер изображений

Для проверки выполненных вами настроек и для подключения вашего сервера изображения, необходимо обратиться в техническую поддержку.