Namaztimes.kz logo
 

API Облыстар мен аудандардың тізімі

REST API


REST API Namaztimes.kz сайтының дерекқорын қолдана отырып қарапайым HTTPS сұранысы арқылы Облыстар мен аудандардың тізімін алуға мүмкіндік береді.
REST API ақпараттарды JSON, XML форматтарында алуды қамтамасыз етеді. Барлық ақпараттар UTF-8 кодировкасы бойынша.

Анықтама


GET сұратым жіберу

https://namaztimes.kz/api/states[?id={country_id}][&type={format}]

API - HTTPS сұратымын қабылдайды.
Қолданымдағы форматтар JSON, XML.

{country_id}-ге бір елдің 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/api/states?id={country_id}'), true) : [];
var_dump($result);

Сондай-ақ тұтынушы тарапынан 100 бет парақталған жағдайда, АРІ-ге 100 рет сұратым жасамау үшін сұратым нәтижелерін КЭШке сақтап алу қажет.

Қолдану мысалдары


GET https://namaztimes.kz/api/states?id=99

Бірегей нөмірі {country_id} = 99 болған ел туралы(Қазақстан) Облыстар мен аудандардың тізімін JSON форматында шығарады.

GET https://namaztimes.kz/api/states?id=99&type=xml

Бірегей нөмірі {country_id} = болған ел туралы(Қазақстан) Облыстар мен аудандардың тізімін XML форматында шығарады.

Нәтижелерге мысалдар


API-дің JSON форматы бойынша сұратым нәтижесі

    //GET https://namaztimes.kz/api/states?id=99
{
    Akmola: "Ақмола облысы",
    Aqtobe: "Ақтөбе облысы",
    Almaty: "Алматы облысы",
    ...
    East Kazakhstan: "Шығыс Қазақстан облысы"
}
    

API-дің XML форматы бойынша сұратым нәтижесі

    //GET https://namaztimes.kz/api/states?id=99&type=xml
<response>
	<state>
		<id>Akmola</id>
		<name>Ақмола облысы</name>
	</state>
	<state>
		<id>Aqtobe</id>
		<name>Ақтөбе облысы</name>
	</state>
	<state>
		<id>Almaty</id>
		<name>Алматы облысы</name>
	</state>
	...
	<state>
		<id>East Kazakhstan</id>
		<name>Шығыс Қазақстан облысы</name>
	</state>
</response>
    

Нәтижелердің анықтамасы


API-ге сұратым бойынша алған нәтижелердің анықтамасы.

JSON форматы бойынша

state: state_name

state - Облыс, аудан идентификаторы.

state_name - Облыс, аудан аты.

XML форматы бойынша

response-> state-> id, name

id - Облыс, аудан идентификаторы.

name - Облыс, аудан аты.

REST API


REST API позволяет с помощью простого запроса по HTTPS получить дату по Исламскому календарю используя базу данных Namaztimes.kz
REST API позволяет получить данные в JSON, XML формате. Все данные в кодировке UTF-8.

Описание


Отправьте GET запрос на

https://namaztimes.kz/ru/api/date[?date={date}][&type={format}]

API поддерживает запросы на HTTPS.
Поддерживаемые форматы: JSON, XML.

В {date} можно указывать одну дату, в формате: год-месяц-день (с ведущим нулем).

В {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']
);
$geo = !$is_bot ? json_decode(file_get_contents('https://namaztimes.kz/ru/api/date[?date={date}][&type={format}]'), true) : [];
var_dump($geo);

Также следует кэшировать результаты запросов для пользователей, чтобы при посещении пользователем 100 страниц сайта, не делать 100 запросов к API.

Примеры результатов


Результат обращения к API в JSON

    //GET https://namaztimes.kz/ru/api/date?date=2019-02-09&type=json
    {
        IslamicDate: "1440-07-04",
        Date: "2019-02-09"
    }
                        

Результат обращения к API в XML

    //GET https://namaztimes.kz/ru/api/date?date=2019-02-09&type=xml

    <response>
        <IslamicDate>1440-07-04</IslamicDate>
        <Date>2019-02-09</Date>
    </response>
                        

Описание результатов


Описание полученных результатов обращения к API в JSON.

IslamicDate - Дата по Исламскому календарю.

Date - Дата запроса.

Описание полученных результатов обращения к API в XML.

response->IslamicDate - Дата по Исламскому календарю.

response->Date - Дата запроса.

Примеры использования


GET https://namaztimes.kz/ru/api/cities?id=almaty&type=json

Выводит информацию городов и населенных пунктов области, региона с {state} = almaty. То есть Алматинская область в формате JSON.

Обработка результата обращения к API в JSON,XML вызов городов и населенных пунктов для области {state} = almaty

//PHP JSON
$json = file_get_contents(
    'https://namaztimes.kz/ru/api/cities?id=almaty&type=json'
);

$json = json_decode($json,true);
print_r($json);

// PHP XML
$xml = simplexml_load_file(
    'https://namaztimes.kz/ru/api/cities?id=almaty&type=json'
);

$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] => Жаркент
)