Разместите свой проект бесплатно и начните получать предложения от фрилансеров-исполнителей уже спустя минуты после публикации!
2 000 ₴

Наполнить магазин через API в prom.ua и в rozetka.ua

истекло время актуальности


Есть  портал поставщика  с которого можно выгружать прайс в ручную или через API  .

1.    Из портала нужно наполнить сайт на prom.ua товарами ( около 1000 ) и сделать что бы цены и наличие синхронизировались автоматически.

2.  Из prom.ua настроить выгрузку товаров на rozetka.ua через  YML , под требования rozetka.ua с учетом всех характеристик товара.


Либо предложите варианты

https://xn--d1absfibdw.com.ua/ 

 



  1. 5 дней2 000 ₴
    Дмитрий
    Дмитрий Суворов
    517     24  1

    Здравствуйте, буду рад сотрудничеству!
    Мой Skype, Telegram: DmtSuvorov

    Украина Киев | 14 февраля в 16:45 |
  2. 1 день2 000 ₴
    Super
    Super Master
    351     2  0

    Здравствуйте! Готовы к сотрудничеству. Все детали можно обсудить в ЛС.

    Украина Хмельник | 14 февраля в 16:56 |
  3. 5 дней2 000 ₴
    Олександр
    Олександр Фоменко
    3332   проверен    85  0   1

    Здравствуйте. Без проблем могу сделать такой скрипт, и настроить его, чтобы регулярно запускался и всё синхронизировал

    Украина Днепр | 14 февраля в 16:59 |
  4. 5 дней3 400 ₴
    Александр
    Александр Коршаков
    14382     324  0   1

    напишу 2 конвертера
    1 = $75
    2 = $50

    опыт таких разработок есть
    примеры в портфолио

    Украина Киев | 14 февраля в 17:09 |
  5. 5 дней1 600 ₴
    Андрей
    Андрей Витив
    751     14  1   1

    Здравствуйте. Уже работал с prom.ua 2 раза, один из заказов выполняю прямо сейчас. Смогу сделать программу для вас.

    Украина Львов | 14 февраля в 21:09 |
  6. 5 дней3 200 ₴
    Игорь
    Игорь Евтушенко
    4128     129  0   1

    Здравствуйте. Готов сделать.

    Украина Мелитополь | 14 февраля в 22:17 |
  • Дмитрий Федотов
    14 февраля в 16:46 |

    Добрый день,возможно увидеть ссылку на выгрузку поставщика?

  • Сергей Червоненко — заказчик проекта
    14 февраля в 16:52 |

    Вот информация со страницы поставщика


    Прайс-лист API

    Вы можете получить данные по номенклатуре используе предоставленный интерфейс. Для этого необходимо пройти аутентификацию и запросить соответствующие данные.

    Аутентификация (пример)

    Вместо user1234 и pwd1234 используйте ваш логин и пароль от портала.

    Запрос

    curl -X POST -d "username=user1234&password=pwd1234" https://dlr.optim.ua/api/api-token-auth/

    Ответ

    {"token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6IktWMDY0ODMiLCJ1c2VyX2lkIjoxMjQ3LCJlbWFpbCI6ImRldi5vcHRpbUB1a3IubmV0IiwiZXhwIjoxNTQyNzQ0MzI4fQ.mkHGfKC983swjHRJPi0pNuvw1H-ddw1k9ccl5Ynlr-s"}

    В случае неверно указанных ученых данных

    {"non_field_errors":["Невозможно войти с предоставленными учетными данными."]}

    Тестирование обращения после авторизации

    Запрос

    curl -H "Authorization: JWT eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6IktWMDY0ODMiLCJ1c2VyX2lkIjoxMjQ3LCJlbWFpbCI6ImRldi5vcHRpbUB1a3IubmV0IiwiZXhwIjoxNTQyNzQ0MzI4fQ.mkHGfKC983swjHRJPi0pNuvw1H-ddw1k9ccl5Ynlr-s" https://dlr.optim.ua/api/test-data/

    Ответ

    {"data":1}

    Получение данных прайс-листа

    curl -H "Authorization: JWT eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6IktWMDY0ODMiLCJ1c2VyX2lkIjoxMjQ3LCJlbWFpbCI6ImRldi5vcHRpbUB1a3IubmV0IiwiZXhwIjoxNTQyNzQ0MzI4fQ.mkHGfKC983swjHRJPi0pNuvw1H-ddw1k9ccl5Ynlr-s" https://dlr.optim.ua/api/pricelist/?payment_type=1

    Параметр payment_type - способ оплаты. 1 - наличный, 2 - безналичный.

    Пример на PHP

    
    function auth($host, $username, $password) { /** This is to get auth token providing username and password of a dealer @param $host string like 'https://dlr.optim.ua' @param $username @param $password @return token as a string **/  $url = $host .'/api/api-token-auth/';  $data = array('username' => $username, 'password' => $password);   $options = array(    'http' => array(        'header'  => "Content-type: application/x-www-form-urlencoded\r\n",        'method'  => 'POST',        'content' => http_build_query($data)    )  );  $context  = stream_context_create($options);  $result = file_get_contents($url, false, $context);  if ($result === FALSE) { /* Handle error */ }   $result = json_decode($result, true);  return $result['token']; }
     function get_data($host, $token) { /**  This is to get test data from API using the token.  @host string like 'https://dlr.optim.ua'  @token string obtain by auth() function  @return data as a json string **/  $url = $host .'/api/test-data/';   $options = array(    'http' => array(        'header'  => "Authorization: JWT $token\r\n",        'method'  => 'GET'    )  );  $context  = stream_context_create($options);  $result = file_get_contents($url, false, $context);  if ($result === FALSE) { /* Handle error */ }   return $result; }
     function get_price_list($host, $token, $payment_type) { /**  This is to get test data from API using the token.  @host string like 'https://dlr.optim.ua'  @token string obtain by auth() function  @payment_type int: 1 - cash, 2 - non cash  @return data as a json string **/  $url = $host ."/api/pricelist/?payment_type=$payment_type";   $options = array(    'http' => array(        'header'  => "Authorization: JWT $token\r\n",        'method'  => 'GET'    )  );  $context  = stream_context_create($options);  $result = file_get_contents($url, false, $context);  if ($result === FALSE) { /* Handle error */ }   return $result; }
     $host = "https://dlr.optim.ua"; $token = auth($host, "user1234", "password1234"); 
    $data = get_data($host, $token); print($data); 
    $data = get_price_list($host, $token, 2); print($data);
    

    Пример на Python

    
    import requests 
    
    def auth(host, username, password):    """    This is to get auth token providing username and password of a dealer    :param host: string like 'https://dlr.optim.ua'    :param username: username    :param password: password    :return: token as string    """    url = '%s/api/api-token-auth/' % host    r = requests.post(url, data={'username': username, 'password': password})    return r.json()['token'] 
    
    def get_test_data(host, token):    """    This is to get test data from API using the token.    :param host: host string like 'https://dlr.optim.ua'    :param token: token string obtain by auth() function    :return: data as a json string    """    url = '%s/api/test-data/' % host    headers = {'Authorization': 'JWT %s' % token}    r = requests.get(url, headers=headers)    return r.json() 
    
    def get_price_list(host, token, payment_type):    """    This is to get real data from API using the token.    :param host: host string like 'https://dlr.optim.ua'    :param token: token string obtain by auth() function    :return: data as a json string    """    url = '%s/api/pricelist/' % host    headers = {'Authorization': 'JWT %s' % token}    r = requests.get(url, headers=headers, params={"payment_type": payment_type})    return r.json() 
    
    the_host = 'https://dlr.optim.ua' the_token = auth(the_host, 'user1234', 'password1234') data = get_test_data(the_host, the_token) print(data) 
    data = get_price_list(the_host, the_token, payment_type=2) #  payment_type = 1 (нал.) or 2 (безнал.) print(data)
    

    Структура возвращаемых данных

    
    {    'условный код модели': {        'structure_props': { # Классификация модели            'structure_item_alias':{'name': 'наименование', 'value': 'значение'}        },        'common_properties': { # Сандартные свойстава, такие как: наименование, бренд и т.д.            'common_item_alias':{'name': 'наименование', 'value': 'значение'}        },        'category_props': { # свойства модели, зависит от категории техники            'category_item_alias':{'name': 'наименование', 'value': 'значение'}        },        'remains': [ # остатки (могут отсутствовать, в случае если нет наличия)            {                "warehouse_name": "местонахождение склада",                "warehouse_code": "условный код склада",                "value": количество моделей на складе            }        ],  # item remains        'prices': { # цены и валюта            'price_item_alias':{'name': 'наименование', 'value': 'значение'}        },  # item prices        'description': { # краткое описание (может отсутствовать)            'description_item_alias':{'name': 'наименование', 'value': 'значение'}        }    } }
  • free web
    25 августа в 10:42 |

    Добрый день !


    Рассмотрю ваш проект - если еще актуально.


    Есть веб-приложение формирования файла XML розетки. 

    Импорт XLS CSV XML -> XML-розетки.  Есть версия и для прома. XML-прома -> XML-розетки.  Детально пишите в личку и вышлите ваш файл. Оплата поэтапная.

    Возможна выгрузка из базы стандартного движка магазина

    типа Opencart, если подходит по правилам розетки.


    В Демо-примере не работает профиль админа

    http://xv.kl.com.ua/market/admin.php

    логин = admin

    пароль = rozetka


    Если заинтересует - обращайтесь.