API ПриватБанка: Получаем список банкоматов
| Май 16th, 2010Написал небольшую функция для получения списка банкоматов ПриватБанка в конкретном городе. Делаем запрос на получение XML списка, который содержит в себе название объекта и его местоположение (улицу), потом парсим это дело и загоняем все в массив для дальнейших каких-то действий(каких зависит от ваших потребностей).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | <?php // get_atm.php // function get_atm($city) { $city = urlencode($city); $url = "https://privat24.privatbank.ua/p24/accountorder?oper=prp&atm&address=&city=$city&PUREXML="; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_TIMEOUT, 20); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); $rez = curl_exec($ch); curl_close($ch); $dom = new DomDocument('1.0','UTF-8'); $dom->loadXML($rez); $xpath = new DOMXPath($dom); $result = $xpath->query('//atm'); $rezl = array(); for ($i=0;$i<$result->length;$i++) { $atm = $result->item($i); $atm_mas = array(); $atm_mas['name'] = $atm->getAttribute('name_RU'); $atm_mas['address'] = $atm->getAttribute('address_RU'); $rezl[] = $atm_mas; } return $rezl; } print_r(get_atm($argv['1'])); ?> |
Писал под консольный вариант, поэтому чтоб запустить пример запускаем с параметром, а именно так:
1 | php get_atm.php 'Киев' |

Заменил просто $argv['1'] на «Киев» — не работает, массив пустой.
видать у них какие то изменения в апишке (хотя ничего в документации об этом не сказано, может временно отключили выдачу списков атм), можно посмотреть здесь примеры запросов