За последние 24 часа нас посетили 20760 программистов и 1712 роботов. Сейчас ищут 1445 программистов ...

Интеграция курьерской службы КТС с сайтом

Тема в разделе "PHP для профи", создана пользователем maksivlev, 21 мар 2018.

  1. maksivlev

    maksivlev Новичок

    С нами с:
    2 мар 2018
    Сообщения:
    20
    Симпатии:
    0
    Доброй ночи!
    Занимался ли кто-нибудь интеграцией интернет-магазина с КТС?
    Вообще калькулятор у них есть на сайте http://www.ktscompany.ru/cost .
    Печаль, но api там и не пахнет.
    При беглом взгляде не понял где понял где у них ссылка на обработчик формы....
    А не нашел ajax запрос:
    Код (Javascript):
    1.            
    2. $.ajax({
    3.                 type: 'get',
    4.                 url: '/route',
    5.                 data: {
    6.                     sender: sender,
    7.                     receiver: receiver,
    8.                     weight: weight,
    9.                     uniq: Math.random()
    10.                 },
    Только что-то сходу get запрос из адресной строки ничего не дает.
    http://www.ktscompany.ru/route?sender=Самара&receiver=Самара&weight=3&uniq=5y85huhttyjyj

    Посоветуйте пожалуйста, в чем загвоздка?
     
  2. gruth

    gruth Активный пользователь

    С нами с:
    13 май 2017
    Сообщения:
    224
    Симпатии:
    18
    uniq должен быть числом, логично же

    php 5.4 =(
     
  3. maksivlev

    maksivlev Новичок

    С нами с:
    2 мар 2018
    Сообщения:
    20
    Симпатии:
    0
    ок. логично.
    а у вас сработало?) у меня что-то нет
     
  4. gruth

    gruth Активный пользователь

    С нами с:
    13 май 2017
    Сообщения:
    224
    Симпатии:
    18
    а что должно сработать? что то должно вернуться?
     
  5. maksivlev

    maksivlev Новичок

    С нами с:
    2 мар 2018
    Сообщения:
    20
    Симпатии:
    0
    что-то же должно было случиться?))
    просто я думал file_get_contents отделать , но в принципе и curl неплох
     
  6. gruth

    gruth Активный пользователь

    С нами с:
    13 май 2017
    Сообщения:
    224
    Симпатии:
    18
    А толку то? сайт говяный в этом плане, там и автокомплит есть и данные необработанные отправляются.
     
  7. maksivlev

    maksivlev Новичок

    С нами с:
    2 мар 2018
    Сообщения:
    20
    Симпатии:
    0
    Сайт нормальный, держится на принципе "Авось - вся надежда наша"
     
  8. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.859
    Симпатии:
    749
    Адрес:
    Татарстан
    так там и на сайте то в ответ ничего не приходит )))) калькулятор не рботает
     
  9. maksivlev

    maksivlev Новичок

    С нами с:
    2 мар 2018
    Сообщения:
    20
    Симпатии:
    0
    У меня работал, если выбрать дополнительные настройки.
     
  10. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.794
    Симпатии:
    1.331
    Адрес:
    Лень
    нужно точно понимать, что РАБОТАЕТ и что НЕТ
     
  11. maksivlev

    maksivlev Новичок

    С нами с:
    2 мар 2018
    Сообщения:
    20
    Симпатии:
    0
    калькулятор работает на доставку из Питера и Москвы в любые города.
    но при запросе из curl или адресной строки все равно глухо.
    кстати uniq число с плавающей точкой от 0 до 1
     
  12. voral

    voral Активный пользователь

    С нами с:
    30 ноя 2017
    Сообщения:
    646
    Симпатии:
    104
    Так может это "защита". Утрировано заходите в сессии запоминается уникальный код посетителя, возможно он меняется от хита к хиту..... И т.п. Может проверяет что был именно аякс запрос а не "из строки браузера".

    Не пробовали с сервисом договориться? Сделаете им АПИ :)
     
  13. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.859
    Симпатии:
    749
    Адрес:
    Татарстан
    попробовал - да норм из Москвы в Питер
    - смотрит на наличие X-Requested-With - чтоб был XMLHttpRequest
    uniq не обязателен
     
    maksivlev нравится это.
  14. maksivlev

    maksivlev Новичок

    С нами с:
    2 мар 2018
    Сообщения:
    20
    Симпатии:
    0
    вы на сайте попробовали или через curl. мне он через curl и ajax ничего не дает
     
  15. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.859
    Симпатии:
    749
    Адрес:
    Татарстан
    через Postman запрос отправлял, как только добавляешь в заголовки X-Requested-With - сразу норм
    Ну и конечно там еще не просто Москва, Питер надо отправлять
    а именно то - что автокомплит отдает, а там было чето sender = "Москва,+Москва"
     
  16. maksivlev

    maksivlev Новичок

    С нами с:
    2 мар 2018
    Сообщения:
    20
    Симпатии:
    0
    Как то так в простейшем виде, если делать без учета размера товара.

    PHP:
    1. $href = 'http://www.ktscompany.ru/route?sender=Санкт-Петербург&receiver=ГородДоставки&weight=ВесОтправления&uniq=0.898';
    2.     $curl = curl_init();
    3.     curl_setopt($curl, CURLOPT_URL, $href);
    4.     curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    5.     curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
    6.     curl_setopt($curl, CURLOPT_HTTPHEADER, array(
    7.         "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:58.0) Gecko/20100101 Firefox/58.0",
    8.         'X-Requested-With: XMLHttpRequest',
    9.     ) );
    10.     $out = curl_exec($curl);
    11.     $er = curl_error($curl); //Вывод ошибок
    12.     curl_close($curl);
    13.  
    14.   var_dump(json_decode($out,true));