Реализована выгрузка клиентов, их заказов с сервиса объявлений farpost.ru, drom.ru на платформу ABCP через API.
Автоматически определяется самая выгодная цена из всех поставщиков (возможна более гибкая сортировка), и создаётся заказ в ABCP с нужным статусом.
Есть плохие поставщики, их отсеиваем на этапе проценки.
Клиенты синхронизируются, адрес доставки также синхронизируется.
Сейчас загружаются только заказы в определенном статусе, но возможна доработка, если это позволяет API drom.ru (https://www.farpost.ru/help/API)
Комментарии менеджеров не выгружаются на drom.ru, так как на момент разработки, функции изменения заказа через API не было.
Можно доработать, чтобы поставщики группировались по срокам доставки, и цена определялась не по самому "быстрому" поставщику, а по вхождению его в интервал 1-3 дня, и т.д.
Цена настройки скрипта PHP, который не использует сторонних библиотек, работает по расписанию, и не требует вмешательства пользователя 25 тыс. рублей.
Возможна доработка для работы с другими информационными системами например 1С, и прочими.
Видео: загрузка объявлений drom.ru/farpost, проценка, нахождение самых выгодных цен и выгрузка заказа на ABCP для размещения у поставщиков.
Описание АПИ для магазинов, подключенных к Защищенным сделкам. Получение оплаченных сделок Вы можете запрашивать все заказы, которые изменили состояние у нас нас сайте за определенный период. Изменили состояние - это означает были оплачены покупателями, подтверждены продавцами, отправлены или переданы покупателю продавцами. Текущий статус заказа отдается в атрибуте status. Семантика статусов заказа: dealPaid - заказ оплачен покупателем dealInProgress - заказ подтвержден продавцом dealGoodSent - заказ отправлен dealFailed - заказ не выполнен, деньги возвращены покупателю. Ссылка, по которой мы отдаем заказы - http://www.farpost.ru/deals/api/sync/paid?auth=&userId= &dateFrom= &dateUntil= где: auth - параметр аутентификации. Он для каждого кабинета продавца (рабочего и тестового) уникален, и мы предоставим его по вашему запросу. userId - id кабинета продавца, заказы которого вы хотите получить. dateFrom, dateUntil - даты начала и окончания периода, за который вы хотите получить заказы, в формате YYYYMMDDTHHMMSS+mmss, где +mmss - таймзона продавца (для Владивостока +10:00). Если dateUntil не указан, то будут выданы все заказы с момента dateFrom до текущего момента. Пример запроса - http://www.farpost.ru/deals/api/sync/paid?auth=***&userId=**&dateFrom=20240720T000000+1000&dateUntil=20240726T140200+1000 В качестве ответа мы отдаем код HTTP-ответа и файл со списком заказов, если код HTTP ответа был 200, т.е. запрос успешен. Тег группирует заказы. Тег группирует товары в заказе. Тег содержит частичные возвраты за период. Пример содержимого файла: deals.xml <-?xml version="1.0" encoding="windows-1251"?> <-deals> <-deal> <-id>1949295 <-status>dealPaid <-statusDate>2016-06-02 15:34:40 <-paidAmount>13700 <-deliveryAmount>700 <-deliveryMode>До ТК <-buyerName>Иванов Иван <-buyerPhone>79147654327 <-buyerEmail>mailbox@email.ru <-deliveryAddress>Приморский край, Владивосток <-deliveryCarrier>Энергия <-items> <-item> <-article>abb93c49-add6-11e5-aa93-000c2908f1cd <-url>http://www.farpost.ru/vladivostok/auto/sell_spare_parts/akpp-mitsubishi-dingo-cq2a-4g15-33000-g996889534.html <-subject>Акпп Mitsubishi Dingo, CQ2A, 4G15;33000 <-quantity>1 <-price>13000 <-/item> <-item> *** <-/item> <-/items> <-/deal> <-/deals> <-refunds> <-refund> <-deal_id>1949295 <-date>2016-08-02 15:34:40 <-amount>10000 <-/refund> <-/refunds> <-delivery> <-address> <-deal_id>1949295 <->2016-08-02 15:34:40 <-amount>10000 <-/refund> <-/delivery> Если запрос был неудачен, то мы возвращаем следующие коды ответов: 400 Некорректные параметры - отсутствует один из параметров в запросе (кроме dateFrom). Нужно проверить запрос и выполнить его еще раз. 401 Доступ запрещен - неправильный либо auth либо userId. Нужно проверить запрос и выполнить его еще раз. 503 Ошибка сервиса - ошибка на нашем сервисе. В этом случае нужно повторить запрос позже, когда мы восстановим сервис. Для создания тестовых заказов вам нужно будет использовать отдельный кабинет покупателя. После авторизации в нем вам нужно включить режим тестовых покупок по ссылке http://www.farpost.ru/set/testBuyer/1 После этого вы сможете зайти в любой товар из вашего тестового прайслиста в кабинете ?????? и создать тестовый заказ по нажатию кнопки "Купить". Для оплаты тестовых заказов используйте карту 4111 1111 1111 1111 дата экспирации 12/2019, держатель TEST, CVC 123, код подтверждения 12345678. Смена статуса сделки Чтобы перевести защищенную сделку в статус "отправлено" (dealGoodSent), нужно выполнить POST-запрос к адресу https://www.farpost.ru/deals/api/sync/deal/update/ с параметрами: userId - id кабинета продавца auth - должен вычисляться как hash('sha512', X), где X - ключ синхронизации продавца, который выдает администратор по запросу продавца dealId - id сделки status - статус, в который нужно перевести сделку. Пока единственное валидное значение этого параметра - dealGoodSent, при передаче иного значения запрос вернет ошибку. text - текст, который содержит трекинговый номер. Если доставка выполняется не транспортной компанией или почтой, параметр может не передаваться. В иных случаях параметр должен содержать трекинговый номер Для создания тестовых заказов вам нужно будет использовать отдельный кабинет покупателя. После авторизации в нем вам нужно включить режим тестовых покупок по ссылке http://www.farpost.ru/set/testBuyer/1 После этого вы сможете зайти в любой товар из вашего тестового прайслиста в кабинете ?????? и создать тестовый заказ по нажатию кнопки "Купить". для примера https://baza.drom.ru/novokuznetsk/sell_spare_parts/poliuretanovaja-vtulka-ja12-tochka-opory-art-17031973-g3073039931.html Автомобильные объявления — Доска объявлений Подать объявление. Частные объявления и предложения организаций. 1.добавьте данный товар в корзину 2.оплатите его 3.дождитесь подтверждения после чего получите его у нас в офисе или укажите адрес доставки ИНСТРУКЦИЯ подробная тут => https://baza.drom.ru/help/how_to_buy_parts (внимательно прочитайте!)
e-mail:kserdyukov@mail.ru Телефон: 8-951-871-14-57 Skype: kserdyukov WhatsApp/Telegram: +79518711457