MaximusDem
@MaximusDem
Начинающий разработчик

Как настроить расчет доставки на API 2.0 от Новой почты?

Подскажите, пожалуйста, как настроить расчет доставки на API 2.0 от Новой почты? (сам сайт на php и mysql).
1)В аккаунте самой Новой почты зарегистрировался, Api ключ получил.
2) Нашел готовый класс на Гитхабе (https://github.com/lis-dev/nova-poshta-api-2).
3) Каким образом можно вывести на странице, например, форму с пунктом отправки, пунктом получения и ценой за доставку? Дайте, пожалуйста, хоть направление, куда копать...

UPd 19.02.17
По совету уважаемого sim3x закопался в документацию "Новой почты", попробовал создавать json для запроса к их АПИ.
<!DOCTYPE html>
<html>
 
<head>
  <meta charset='UTF-8'>
  <title>Пример отправки (Новая почта)</title>
</head>
 
<body>
<div class='citySender'></div>
<div class='cityRecipient'></div>
<div class='weight'></div>
<div class='cost'></div>
 
</body>
 
<script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.min.js'></script>
<script>
  $(function () {
      var params = {
          'apiKey': 'Ключ АПИ, который я вставил',
          'modelName': 'InternetDocument',
          'calledMethod': 'getDocumentPrice',
          'methodProperties': {
      'CitySender': '8d5a980d-391c-11dd-90d9-001a92567626',
      'CityRecipient': 'db5c88e0-391c-11dd-90d9-001a92567626',
      'Weight': '1',
	  'ServiceType': 'DoorsDoors',
      'Cost': '400',
	  'CargoType': 'Documents',
      'SeatsAmount': '1',
	   'PackCalculate': {
            'PackCount': '1',
            'PackRef': '1499fa4a-d26e-11e1-95e4-0026b97ed48a'
        },
      'RedeliveryCalculate': {
         'CargoType': 'Money',
         'Amount': '100'
      }
          
		  }
      };
      $.ajax({
          url: 'https://api.novaposhta.ua/v2.0/json/?' + $.param(params),
          beforeSend: function (xhrObj) {
              xhrObj.setRequestHeader('Content-Type', 'application/json');
          },
          type: 'POST',
          dataType: 'jsonp',
          data: '{body}'
      }).done(function (jsondb) {
            
            $('.citySender').html('Город отправитель: ' + jsondb.data[0].CitySender) // город отправитель
            $('.cityRecipient').html('Город получатель: ' + jsondb.data[0].CityRecipient) // город получатель
            $('.weight').html('Вес: ' + jsondb.data[0].Weight + ' кг.') // вес
			$('.cost').html('Стоимость: ' + jsondb.data[0].Cost + ' грн.') // стоимость
			
			
			
			
      }).fail(function () {
          alert('error');
      });
  });
</script>
 
</html>


Ответ сервера - jQuery31008965744875947166_1487537766830({"success":true,"data":[{"AssessedCost":400,"Cost":47,"CostRedelivery":37,"TZoneInfo":{"TzoneName":"\u0422\u0430\u0440\u0438\u0444\u043d\u0430 \u0437\u043e\u043d\u0430: \u0422\u0430\u0440\u0438\u0444\u043d\u0430 \u0437\u043e\u043d\u0430 4","TzoneID":"4"},"CostPack":4}],"errors":[],"warnings":["DateTime is set to current"],"info":[],"messageCodes":[],"errorCodes":[],"warningCodes":["30000200880"],"infoCodes":[]})

Возникло два вопроса -
1) Почему не выводит названия городов отправителя и получателя?
2) Каким образом изменить значения переменных в запросе (например, чтобы пользователь выбрал из списка в форме город отправитель, город получатель и т.д и значения переменных изменились).
Извините за такие вопросы, просто еще неопытный я очень, а гугл не всегда спасает((((
  • Вопрос задан
  • 1715 просмотров
Пригласить эксперта
Ответы на вопрос 1
sim3x
@sim3x
Класс давно не обновлялся - я б не советовал им пользоваться

Начать отсюда
https://devcenter.novaposhta.ua/docs/services/556e...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы