Подскажите, пожалуйста, как настроить расчет доставки на 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) Каким образом изменить значения переменных в запросе (например, чтобы пользователь выбрал из списка в форме город отправитель, город получатель и т.д и значения переменных изменились).
Извините за такие вопросы, просто еще неопытный я очень, а гугл не всегда спасает((((