Реализована выгрузка клиентов, их заказов с сервиса объявлений 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 Telegram/WhatsApp: +79518711457