РуководстваОснова Falcon SpaceОсновные компонентыВозможностиКоммуникация пользователейДизайн, стилизация, юзабилитиЛендингиУниверсальный APIИнтеграции
Подключение к удаленным серверам SQL Server через Linked ServerZapier интеграция на платформе Falcon SpaceПрием платежей через Яндекс.КассуИнтеграция с Робокассой (платежный шлюз)Пополнение средств через Yookassa (Юкасса)Прием платежей на сайте через CloudPaymentsИнтеграция с платежным шлюзом LifePayУведомление от ТБанка по операциям с расчетным счетомИнтернет-эквайринг Тинькоф БанкИнтеграция API DaData.ru подсказки по адресамИнтеграция коллтрекинга МАНГО ОФИС (режим Площадка)Интеграция API Курсы валют Центрального Банка РФИнтеграция API Почта РФИнтеграция API Служба доставки СДЭК (CDEK)Интеграция API Служба доставки Деловые линииИнтеграция API IpGeoBase Город по IP-адресуИнтеграция API DaData.ru Город по IP-адресуКак вычислить расстояние между 2 геоточками через Google MapsКак сделать интеграцию с Мой СкладКак сделать вебхук для передачи данных с Тильды на Falcon SpaceСканирование штрихкодов и QR кодов через камеру смартфонаПолучение данных контрагента по ИННВнедрение подсказок dadata на сайтВывод точек на карте Яндекс. Интеграция с Яндекс КартыИнтеграция с телефонией Zadarma.comПолучение данных о контрагенте - интеграция ЗаЧестныйБизнесИнтеграция с AMO CRMИмпорт контактов в CRM из Google КонтактыВход/регистрация через ВКонтакте(vk.com)Интеграция CRM с онлайн чатом на сайте (Replain)Как связать yandex metrika clientID с пользователем сайта?Как сделать обработку входящей почты (создание клиента в CRM из Email)Интеграция сайта с ChatGPT (openAI)Интеграция с Яндекс МетрикаИнтеграция с Youtube. Получение роликов каналаИнтеграция с Ozon, Wildberries - извлечение статистикиИнтеграция с API Яндекс Вебмастер
КаталогиНавигацияДокументыДополнительные компонентыПродвижение, SEOСистемные моментыСистемное администрированиеHOWTOТаблицыФормыПоля формыЗагрузка файлов, картинокHOWTO SQLHOWTO JSHOWTO ВерсткаРешение проблем
Выгода от использования Falcon Space
В 2-3 раза экономнее и быстрее, чем заказная разработка
Более гибкая, чем коробочные решения и облачные сервисы
Используйте готовые решения и изменяйте под свои потребности
Интеграция API IpGeoBase Город по IP-адресу
Сервис позволяет определять местонахождения IP - адреса.
В базе сервиса IP – адреса РФ, Украина (с точностью до города). США, Канада, Европа и часть Aзии (с точностью до страны).
Сайт сервиса - http://ipgeobase.ru/
Документация по API - http://blog.ipgeobase.ru/?p=76
Регистрация / авторизация не требуется.
Параметры запроса.
- URL: http://ipgeobase.ru:7020/geo
- Метод: GET
- Заданный IP передается как параметр в URL.
- Формат ответа: по умолчанию – XML. Можно вывести данные в формате JSON, путем добавления параметра &json=1
Примеры запроса:
http://ipgeobase.ru:7020/geo?ip=109.254.254.155 (ответ – XML).
http://ipgeobase.ru:7020/geo?ip=109.254.254.155&json=1(ответ – JSON).
В ответе содержится: блок ip адресов, страна, город, регион, округ и координаты.
Недостатки: возвращает кириллические символы в кодировке windows-1251, нечитаемые sql server.
CREATE PROCEDURE [dbo].[api_IpGeoBaseru_IPLocation_request]
@parameters ExtendedDictionaryParameter READONLY, -- входящие параметры для внутренней обработки (используйте Key, Value2)
@username nvarchar(32) -- текущий пользователь.
AS
BEGIN
DECLARE @IPStr nvarchar(max)
-- получение значений полей формы из @parameters
SELECT @IPStr = ISNULL( Value2 , '' ) FROM @parameters WHERE [Key] = 'IPStr'
IF LEN( ISNULL( @IPStr , '' ) ) = 0
SET @IPStr = N'178.219.186.12'
DECLARE @apiUrl1 nvarchar(max) = '' -- Финальная строка для отправки -- ФАКТИЧЕСКИ ЭТО Url
-- IP передается как параметр в Url
SET @apiUrl1 = 'http://ipgeobase.ru:7020/geo?ip='+ISNULL( @IPStr, '' )
-------------------------------------------------------------------------------------------
-- ОТЛАДКА
insert into as_trace ( header, text, username, code , created ) values( 'apiUrl1' , @apiUrl1 , @username, 'api_IpGeoBaseru_IPLocation_request' , GETDATE() )
-------------------------------------------------------------------------------------------
-- SELECT 1 Msg, Result, Url (адрес, куда будет идти запрос)
select '' Msg, 1 Result
, @apiUrl1 Url
-- не используется
-- SELECT 2 PARAMETERS - параметры, которые будут передаваться во внешний источник
-- select 'id' name, '5' value, '' [type] -- form (в форме передается), header (в http headers), get запросы передавайте прямо в URL
END
CREATE PROCEDURE [dbo].[api_IpGeoBaseru_IPLocation_response]
@response nvarchar(max),
@parameters ExtendedDictionaryParameter READONLY, -- входящие параметры для внутренней обработки (используйте Key, Value2 - те же что и на request)
@username nvarchar(32)
AS
BEGIN
-- ОТЛАДКА
insert into as_trace ( header, text, username, code , created ) values( 'LEN @response ', LEN ( @response ) , @username, 'api_IpGeoBaseru_IPLocation_response' , GETDATE() )
insert into as_trace ( header, text, username, code , created ) values( '@response - 1 , 1024 ', SUBSTRING ( @response , 1 , 1024 ) , @username, 'api_IpGeoBaseru_IPLocation_response' , GETDATE() )
IF LEN( ISNULL( @response , '' ) ) =0
BEGIN
SELECT 'Ошибка!' AS Msg, 0 Result, 'Ошибка! Получена срока @response нулевой длины!' AS Response
RETURN
END
DECLARE @xml_STR Nvarchar(max)
SET @xml_STR = @response
DECLARE @xml xml -- переменная в которую преобразуем полученную строку
-- ПРИХОДИТ КОДИРОВКА encoding="windows-1251"
set @xml_STR = REPLACE( @xml_STR ,'UTF-8','UTF-16')
set @xml_STR = REPLACE( @xml_STR ,'windows-1251','UTF-16')
set @xml =convert (xml, @xml_STR)
DECLARE @exist_ipAnswer bit = 0
select @exist_ipAnswer = @xml.exist('/ip-answer')
IF @exist_ipAnswer = 0
BEGIN
SELECT 'Ошибка! В результате запроса @response нет корневого элемента ip-answer!' Msg, 0 Result, 'Ошибка! В результате запроса @response нет корневого элемента ip-answer!' Response
RETURN
END
-- Город Москва -- Регион Москва -- Округ Центральный федеральный округ -- Страна /RU
DECLARE @value_IP NVARCHAR(MAX) = N'' -- @value_IP
DECLARE @inetnum NVARCHAR(MAX) = N'' --
DECLARE @country_iso_code NVARCHAR(MAX)= N'' -- Страна RU
DECLARE @city NVARCHAR(MAX) = N'' -- Город Москва
DECLARE @region NVARCHAR(MAX) = N'' -- Регион Москва
DECLARE @district NVARCHAR(MAX) = N'' -- Округ Центральный федеральный округ "Центральный"
DECLARE @lat NVARCHAR(MAX) = N'' -- data_geo_lat
DECLARE @lon NVARCHAR(MAX) = N'' -- data_geo_lon
select @value_IP = @xml.value('/ip-answer[1]/ip[1]/@value' , 'nvarchar(200)' )
select @inetnum = @xml.value('/ip-answer[1]/ip[1]/inetnum[1]' , 'nvarchar(200)' )
select @country_iso_code = @xml.value('/ip-answer[1]/ip[1]/country[1]', 'nvarchar(200)' )
select @city = @xml.value('/ip-answer[1]/ip[1]/city[1]' , 'nvarchar(200)' )
select @region = @xml.value('/ip-answer[1]/ip[1]/region[1]' , 'nvarchar(200)' )
select @district = @xml.value('/ip-answer[1]/ip[1]/district[1]' , 'nvarchar(200)' )
select @lat = @xml.value('/ip-answer[1]/ip[1]/lat[1]' , 'nvarchar(200)' )
select @lon = @xml.value('/ip-answer[1]/ip[1]/lng[1]' , 'nvarchar(200)' )
-- SELECT 1
select 'Ok' Msg
, 1 Result
-- , @response Response -- ТАК при вызов из формы вернет оригинальный @response !!!
, 'Ваш IP: ' +IIF ( @value_IP = '', '' , @value_IP )
+'; Город: ' +IIF ( @city = '' , '' , @city )
+'; Регион: '+IIF ( @region = '' , '' , @region )
+'; Округ: ' +IIF ( @district = '', '' , @district )
+'; Страна: '
-- +IIF ( @country = '' , '' , @country ) + '-'
+IIF ( @country_iso_code = '' , '' ,@country_iso_code )
+'; Координаты : '+IIF ( @lat = '' , '' ,@lat ) + ' ' +IIF ( @lon = '' , '' ,@lon ) + '.'
AS Response
-- SELECT 2 Внешние действия
END
Falcon Space - функциональная веб-платформа разработки на узком стеке MS SQL/Bootstrap. Вводная по Falcon Space
Google поиск по нашей документации
Нужна бесплатная консультация?
Планируете делать веб-проект?
- Шаг 1. Создать концепт проекта
- Шаг 2. Получить оценку бюджета (КП)
- Шаг 3. Заключить договор
- Шаг 4. Создать совместно техническое задание
- Шаг 5. Поэтапная реализация проекта