Интернет магазин создать с нуля. Студия веб разработки, советы, уроки.

Найти меня в:

Блог

Работа с Почта России API

В данной статье разберем - как получать данные через API на примере работы с ПОЧТОЙ РОССИИ. 

У нашей любимой RUSSIAN POST - нет своего API, но есть множество бесплатных сайтов, которые его предоставляют. Например, api.print-post.com, сервис, который позволяет получать цены для отправки по направлению.

Такого типа API (СДЭК, CSE и др) работают по схожему принципу - передаем параметры по ссылке, получаем ответ с данными (в нашем случае цены на доставку). Точные установки можно на сайтах разработчиков, но люди не всегда понимают, что с этимм делать или в процессе работы возникают ошибки. Разберем получение цен на отправку Почтой России на примере.

Что нужно на сайте, чтобы получить цену:

  1. Что должно вызвать получение доставки
  2. Обработчик, отправляющий запрос
  3. Место для вывода

Пункт №1. Начать отправлять данные можно либо по нажатию кнопки или на клик элемента, либо сразу после загрузки страницы. По нажатию кнопки - на html кнопку вешается обработчик onclick, в котором указана функция javascript, которая запускает отправку данных на сервер с API. По загрузке сразу - отправку нужно прописать в коде javascript в jQuery(document).ready(function()

Пункт№2 - сам обработчик: 

<script type="text/javascript">
jQuery(document).ready(function(){        
jQuery.get("http://api.print-post.com/api/sendprice/v2/??", { 
                    weight: '300',
                    summ: '300',
                    from_index: '680000',
                    to_index: '125008'
                    },
                    function(data){           
                                
            
                   alert(data.posilka);
            
                    
                    });
        
        
        
    });             
</script>

  Параметры: вес, сумма объявленной ценности, индекск доставки и отправки.

Пукнт №3 - в роли места вывода обычно используют блоки div с определенным id.

Весь код (с выводомв блок): 

<div id="russuanpostid" ></div>
<!--
<script type="text/javascript">
jQuery(document).ready(function(){        
jQuery.get("http://api.print-post.com/api/sendprice/v2/??", { 
                    weight: '300',
                    summ: '300',
                    from_index: '680000',
                    to_index: '125008'
                    },
                    function(data){     
                    document.getElementById('russuanpostid').innerHTML = data.banderol_price1+'<br>'+data.posilka+'<br>';    
                    });    
        
    });             
</script>

 

Спасибо, почта!)

logopostrus