REST API Namaztimes.kz сайтының дерекқорын қолдана отырып қарапайым HTTPS сұранысы арқылы кең ауқымды ақпарат алуға мүмкіндік береді. 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 рет сұратым жасамау үшін сұратым нәтижелерін КЭШке сақтап алу қажет.
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 - Сұратымдағы қаланың магниттік ауытқу градусы.