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 - Сұратымдағы қаланың магниттік ауытқу градусы.