REST API позволяет с помощью простого запроса по HTTPS получить список стран, используя базу данных Namaztimes.kz REST API позволяет получить данные в JSON, XML форматах. Все данные в кодировке UTF-8.
Отправьте GET запрос на
https://namaztimes.kz/ru/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']
);
$geo = !$is_bot ? json_decode(file_get_contents('https://namaztimes.kz/ru/api/country'), true) : [];
var_dump($geo);
Также следует кэшировать результаты запросов для пользователей, чтобы при посещении пользователем 100 страниц сайта, не делать 100 запросов к API.
GET https://namaztimes.kz/ru/api/country?type=json
Выводит информацию о всех странах в формате JSON.
GET https://namaztimes.kz/ru/api/country?type=xml
Выводит информацию о всех странах в формате XML.
GET https://namaztimes.kz/ru/api/country?id=99&type=json
Выводит информацию о стране с {country_id} = 99. То есть Казахстан в формате JSON.
GET https://namaztimes.kz/ru/api/country?id=99&type=xml
Выводит информацию о стране с {country_id} = 99. То есть Казахстан в формате XML.
Результат обращения к API в JSON вызов всех стран
//GET https://namaztimes.kz/ru/api/country [ { id: "1", ru: "Афганистан" }, { id: "2", ru: "Албания" }, { id: "3", ru: "Алжир" }, ... ]
Результат обращения к API в JSON
//GET https://namaztimes.kz/ru/api/country?id=99&type=json { id: "99", ru: "Казахстан" }
Результат обращения к API в XML
//GET https://namaztimes.kz/ru/api/country?id=99&type=xml <response> <id>99</id> <ru>Казахстан</ru> </response>
Описание полученных результатов обращения к API.
id - Уникальный номер страны.
kz - Имя страны на казахском.
ru - Имя страны на русском.