REST API Namaztimes.kz сайтының дерекқорын қолдана отырып қарапайым HTTPS сұранысы арқылы Қалалар мен елді мекендер тізімін алуға мүмкіндік береді. REST API ақпараттарды JSON, XML форматтарында алуды қамтамасыз етеді. Барлық ақпараттар UTF-8 кодировкасы бойынша.
GET сұратымын жіберу
https://namaztimes.kz/ru/api/cities[?id={state}][&type={format}]
API - сұратымды HTTPS протоколында қабылдайды. Қолданымдағы форматтар JSON, XML.
{state}-ге бір Облыс, аудан id нөмірін көрсетуге болады. Облыстар мен аудандардың тізімін мына жерден алуға болады
{format} арқылы xml, json форматын көрсетуге болады. Егер {format} көрсетілмесе онда автоматты түрде json форматы еніп, console.dir функциясы іске қосылады.
Міндетті түрде іздеу боттарының сұратымдарын сүзгіден өткізіңіз. Мұны мынадай қарапайым түрде жүзеге асыруға болады:
$is_bot = preg_match(
"~(Google|Yahoo|Rambler|Bot|Yandex|Spider|Snoopy|Crawler|Finder|Mail|curl)~i",
$_SERVER['HTTP_USER_AGENT']
);
$result = !$is_bot ? json_decode(file_get_contents('https://namaztimes.kz/ru/api/cities?id={city_id}'), true) : [];
var_dump($result);
Сондай-ақ тұтынушы тарапынан 100 бет парақталған жағдайда, АРІ-ге 100 рет сұратым жасамау үшін сұратым нәтижелерін КЭШке сақтап алу қажет.
API-ге JSON форматы бойынша сұратым нәтижесі
//GET https://namaztimes.kz/api/cities?id=almaty&type=json { 8408: "Алматы", 8409: "Бақанас", ... 74900: "Кеген", 74901: "Жаркент" }
API-ге XML форматы бойынша сұратым нәтижесі
//GET https://namaztimes.kz/api/cities?id=almaty&type=xml <response> <city> <id>8408</id> <name>Алматы</name> </city> <city> <id>8409</id> <name>Бақанас</name> </city> <city> <id>8410</id> <name>Бірлік</name> </city> ... <city> <id>74901</id> <name>Жаркент</name> </city> </response>
API-ге сұратым бойынша JSON форматында алған нәтижелердің анықтамасы.
city_id: name
city_id - Қала идентификаторы (id).
name - Қала аты.
>API-ге сұратым бойынша XML форматында алған нәтижелердің анықтамасы.
response->city->id - Қала идентификаторы (id).
response->city->name - Қала аты.
GET https://namaztimes.kz/ru/api/cities?id=almaty&type={format}
API-ге жіберілген {format} JSON,XML форматындағы сұратым нәтижелерін өңдеу. Облысқа қатысты қалалар мен елді мекендер тізімін шақыру {state} = almaty.
//PHP JSON $json = file_get_contents( 'https://namaztimes.kz/api/cities?id=almaty&type=json' ); $json = json_decode($json,true); print_r($json); // PHP XML $xml = simplexml_load_file( 'https://namaztimes.kz/api/cities?id=almaty&type=xml' ); $xml = json_encode($xml); $xml = json_decode($xml,true); $xml = $xml['city']; $data = []; foreach ($xml as $item){ $data[$item['id']]= $item['name']; } unset($xml); print_r($data);
//PHP JSON Array ( [8408] => Алматы [8409] => Бақанас [8410] => Бірлік ... [74900] => Кеген [74901] => Жаркент ) //PHP XML Array ( [8408] => Алматы [8409] => Бақанас [8410] => Бірлік ... [74900] => Кеген [74901] => Жаркент )