REST API позволяет с помощью простого запроса по HTTPS получить наиболее актуальную и расширенную информацию о временах намазов, используя базу данных Namaztimes.kz REST API позволяет получить данные в JSON, XML форматах. Все данные в кодировке UTF-8.
Отправьте GET запрос на
https://namaztimes.kz/api/praytimes[?id={city_id}][&type={format}]
API поддерживает запросы на HTTPS. Поддерживаемые форматы xml, json.
В {city_id} можно указывать один id города. Список городов можно получить здесь .
Если не указан {city_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']
);
$geo = !$is_bot ? json_decode(file_get_contents('https://namaztimes.kz/api/praytimes'), true) : [];
var_dump($geo);
Также следует кэшировать результаты запросов для пользователей, чтобы при посещении пользователем 100 страниц сайта, не делать 100 запросов к API.
GET https://namaztimes.kz/api/praytimes?id=8408&type=json
Выводит информацию (даты по Исламскому календарю, по григорианскому календарю, направление Киблы, магнитное отклонение, градус компаса направления Киблы а также времена намазов на один день) о городе Алматы в формате JSON.
GET https://namaztimes.kz/api/praytimes?id=8359&type=xml
Выводит информацию (даты по Исламскому календарю, по григорианскому календарю, направление Киблы, магнитное отклонение, градус компаса направления Киблы а также времена намазов на один день) о городе Астана в формате XML.
Результат обращения к API в JSON
//GET https://namaztimes.kz/api/praytimes?id=8408&type=json
{
islamic_date: "1440-04-18",
date: "2018-12-25",
praytimes: {
imsak: "6:55",
bamdat: "7:15",
kun: "9:10",
ishraq: "10:20",
kerahat: "13:01",
besin: "13:27",
asriauual: "15:08",
ekindi: "15:38",
isfirar: "16:20",
aqsham: "17:19",
ishtibaq: "18:31",
quptan: "19:20",
ishaisani: "19:33"
},
attributes: {
ID: "8359",
countryID: "99",
arzDer: "51",
arzDak: "9",
arzYon: "N",
tulDer: "71",
tulDak: "28",
tulYon: "E",
STulDer: "90",
STulDak: "0",
STulYon: "E",
qiblaangle: "231.52",
magdeg: "9.71",
CityName: "Астана"
}
}
Результат обращения к API в XML
//GET https://namaztimes.kz/api/praytimes?id=8359&type=xml
<response>
<islamic_date>1440-04-18</islamic_date>
<date>2018-12-25</date>
<praytimes>
<imsak>6:55</imsak>
<bamdat>7:15</bamdat>
<kun>9:10</kun>
<ishraq>10:20</ishraq>
<kerahat>13:01</kerahat>
<besin>13:27</besin>
<asriauual>15:08</asriauual>
<ekindi>15:38</ekindi>
<isfirar>16:20</isfirar>
<aqsham>17:19</aqsham>
<ishtibaq>18:31</ishtibaq>
<quptan>19:20</quptan>
<ishaisani>19:33</ishaisani>
</praytimes>
<attributes>
<ID>8359</ID>
<countryID>99</countryID>
<arzDer>51</arzDer>
<arzDak>9</arzDak>
<arzYon>N</arzYon>
<tulDer>71</tulDer>
<tulDak>28</tulDak>
<tulYon>E</tulYon>
<STulDer>90</STulDer>
<STulDak>0</STulDak>
<STulYon>E</STulYon>
<qiblaangle>231.52</qiblaangle>
<magdeg>9.71</magdeg>
<CityName>Астана</CityName>
</attributes>
</response>
Описание полученных результатов обращения к API
islamic_date - Дата по Исламскому календарю на момент запроса.
date - Дата по григорианскому календарю на момент запроса.
praytimes - Времена намазов. Подробнее о временах намаза можно узнать тут...
attributes - Дополнительные атрибуты(Информация) по городу на момент запроса.
attributes->ID - Id города.
attributes->countryID - Id страны запрашиваемого города.
attributes->CityName - Имя запрашиваемого города.
attributes->Latitude_1 - 1-значение Широты запрашиваемого города.
attributes->Latitude_2 - 2-значение Широты запрашиваемого города.
attributes->Latitude_3 - 3-значение Широты запрашиваемого города.
attributes->Longitude_1 - 1-значение Долготы запрашиваемого города.
attributes->Longitude_2 - 2-значение Долготы запрашиваемого города.
attributes->Longitude_3 - 3-значение Долготы запрашиваемого города.
attributes->QiblaDir - Угол направление Киблы без магнитного отклонения запрашиваемого города.
attributes->MagnetDev - Магнитное отклонение запрашиваемого города.