Namaztimes.kz logo
 

API Елдер тізімі

REST API


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

Анықтама


GET сұратым жіберіңіз мұнда

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

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

{country_id} бөліміне бір елдің id нөмірін көрсетуге болады.
Егер {country_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/country?type=json

JSON форматында барлық елдер туралы ақпарат шығарады.

GET https://namaztimes.kz/api/country?type=xml

XML форматында барлық елдер туралы ақпарат шығарады.

GET https://namaztimes.kz/api/country?id=99&type=json

Бірегей нөмірі {country_id} = 99 болған ел туралы ақпарат шығарады. Яғни Қазақстанды көрсетеді JSON форматында.

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

Бірегей нөмірі {country_id} = 99 болған ел туралы ақпарат шығарады. Яғни Қазақстанды көрсетеді XML форматында.

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


API-ге JSON бойынша сұратым. Барлық елдер тізімі

    //GET https://namaztimes.kz/api/country
    {
        1: "Ауғанстан",
        2: "Албания",
        3: "Алжир",
        ...
    }
    

API-ге XML бойынша сұратым. Барлық елдер тізімі

    //GET https://namaztimes.kz/api/country?type=xml
    <response>
        <country>Ауғанстан</country>
        <country>Албания</country>
        <country>Алжир</country>
        ...
    <response>
    

API-ге {country_id} бойынша JSON сұратым.

    //GET https://namaztimes.kz/api/country?id=99&type=json
    {
        id: "99",
        name: "Қазақстан"
    }
    

API-ге {country_id} бойынша XML сұратым.

    //GET https://namaztimes.kz/api/country?id=99&type=xml
    <response>
        <id>99</id>
        <ru>Казахстан</ru>
    </response>
    

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


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

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