Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Исходные условия:

Наш магазин работает на платформе https://www.bigcommerce.com/ . Онаимеет закрытый исходный код и не позволяет работать с PHP or DB. Для доработки

мы создали отдельный сайт, который работает с их API. Сайт на symphony 3.2. 

Основная задача:

На данном этапе возникла потребность поддерживать inventory.Есть csv файл, который содержит актуальную информацию. Этот файл будет

получатся с другого сайта. Поля в этом файле – upc and stock. Ссылке пока нет, поэтмусделать надо сделать заглушку для получения файла по ссылке. Надо сделать

скрипт, который будет обходить записи из этого файла и синхронизировать с

магазином через API.

Описание:

Не все продукты которые находятся в csv файле имеются вмагазине. В магазине есть категория (API id – 323), продукты с которой надо будетобходить. То есть надо будет выбрать все продукты из категории и сравнить inventory.

Если inventory в csv отличается – значит надо обновить. Но здесь есть важная

деталь. Продукт может иметь 1 или более SKUs. И inventory имеет не продукт, а SKU.

Соответственно, надо будет получать SKUs каждого продукта и с ним работать.

Документация по SKU - https://developer.bigcommerce.com/api/v2/#skus. Поле для идентификации SKU – upc. Оно есть и в csv файле. Inventory содержится

в поле inventory_level, который и надо обновлять из ‘stock’ в csv файле.

Библиотека для работы с API - https://github.com/bigcommerce/bigcommerce-api-php. Но в ней неправильно работает метод по обновлении SKU. Надо будет

использовать внутренний метод  - updateResource.API endpoint - /products/{product_id}/skus/{id}. Можно посмотреть в документации.

При ошибки обновления – подождать некоторое время ипопробовать снова. Если и в этот раз не выйдет, синхронизацию остановить и

отослать письмо на пошту с соответствующим сообщением.

Еще один важный момент. API имеет ratelimits - https://developer.bigcommerce.com/api/#rate-limits-oauth. Это надо учитывать.

На выходе надо контроллери файл, который можно будет запускать из cli. Файл нужно, потому что он будет запускатся через cron.

 

Требования к работе:

Надо чистый качественный симонический код. Нужен человек сопытом, который выполнит работу без архитектурных ошибок. Вместе с заявками

оставляйте ссылки на на github или примеры с кодом.

7 лет назад
Iron-man
28 летУкраина
11 лет в сервисе
Был
7 лет назад