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 - Магнитное отклонение запрашиваемого города.