Administrando los Widgets en WS.WebTV
soporte, ws.webtv, inicio, configuracion, geoip, geo, ip
La finalidad del un servicio de GeoIP es encontrar la ubicación geográfica de un usuario a partir de su dirección IP. Este servicio es requerido por la extensión Site/Geo Blocking y utilizado por el sistema de gestión de usuarios.
Este servicio se configura desde la pestaña "GeoIP", en la sección de Configuración de la WebTV:
• Proveedor: (Desde WS.WebTV 3.0.3). Esta opción sólo se mostrará si la extensión PHP GeoIP está habilitada en su servidor, y le permitirá seleccionar el proveedor/sistema utilizado para obtener el código de país a partir de la IP del usuario.
NOTA:
Si se selecciona "PHP" las opciones de "URL del Servicio" y el "Índice de Datos para Código de País", que verá a continuación, no se mostrarán.
• Proveedor Externo: El servicio de GeoIP debe soportar solicitudes GET y devolver respuestas en formato JSON o JSONP (se requiere WS.WebTV 3.0 para este último). Ejemplos de servicios GeoIP que puede utilizar (por nombrar algunos - unos son gratuitos, otros no):
- Really Free GEO IP API (https://reallyfreegeoip.org/)
- ipstack (https://ipstack.com)
- geoPlugin (http://www.geoplugin.com/faq)
- ip-api (http://ip-api.com)
- IPInfoDB (https://www.ipinfodb.com/api)
- ipinfo.io (https://ipinfo.io)
- BigDataCloud (https://www.bigdatacloud.com/)
Desarrolladores:
Si Ud. es un desarrollador, puede crear su propio script de GeoIP. Para esto, necesitará descargar una Base de Datos de Geolocalización IP de Internet e implementar un script que acepte una IP como variable GET (Ejemplo, http://.../mi_script_geoip.php?ip=xxx.xxx.xxx.xxx), luego deberá encontrar la ubicación geográfica correspondiente a la IP en su Base de Datos de Geolocalización y devolver el resultado (código de país y -opcionalmente- código de región) en formato JSON. NOTA: Asegúrese de que el código de país y el código de región no estén anidados en un arreglo u otro objecto. Ejemplo de respuesta soportada:
{"country_code":"ES","region_code":"VC"}
Después de lo anterior, simplemente necesita suministrar la URL del script y el índice de datos del código de país como se explica a continuación.
• URL del Servicio: Esta es la URL donde el servicio de GeoIP recibe las solicitudes de la WebTV. Introduzca la URL del servicio reemplazando la dirección IP por "{ip}". Por ejemplo: si la URL de tu servicio es http://my_geo_ip_serv.com/json?ip=xxx.xxx.xxx.xxx entonces debes introducir http://my_geo_ip_serv.com/json?ip={ip}
• Índice de Datos para Código de País: Especifique el índice de datos que debe ser usado para obtener el código de país de la respuesta JSON.
• Índice de Datos para Código de Región: (Desde WS.WebTV 52) Especifique el índice de datos que debe ser usado para obtener el código de región de la respuesta JSON.
Más abajo encontrará lo qué debe introducir en estos campos, para poder utilizar los servicio de GeoIP mencionados anteriormente.
ADVERTENCIA: EL CÓDIGO DE REGIÓN PUEDE SER DIFERENTE DEPENDIENDO DEL SERVICIO DE GEOIP UTILIZADO
• Resultado Prueba: Cuando no se ha especificado un servicio de GeoIP, o cuando no está correctamente configurado, la WebTV no podrá determinar el país y la "caja negra" de respuesta puede aparecer vacía, como en el siguiente ejemplo:
Cuando el servicio de GeoIP se ha configurado correctamente entonces la WebTV podrá determinar el país y el resultado de la respuesta del servicio de GeoIP aparecerá en la "caja negra" de respuesta, como en el siguiente ejemplo:
Ejemplos de configuración para servicios de GeoIP populares:
Really Free GEO IP API - Info: https://reallyfreegeoip.org/
- URL del Servicio: https://reallyfreegeoip.org/json/{ip}
- Índice de datos para código de país: country_code
- Índice de datos para código de región: region_code
ipstack - Info: https://ipstack.com/faq
- URL del Servicio: http://api.ipstack.com/{ip}?access_key=«clave_api»
NOTA: Reemplace «clave_api» con la clave de API proporcionada por el servicio
- Índice de datos para código de país: country_code
- Índice de datos para código de región: region_code
geoPlugin (reemplazado por ipstack) - Info: http://www.geoplugin.com/faq
- URL del Servicio: http://www.geoplugin.net/json.gp?ip={ip}
- Índice de datos para código de país: geoplugin_countryCode
- Índice de datos para código de región: geoplugin_regionCode
ip-api - Info: http://ip-api.com/
- URL del Servicio: http://ip-api.com/json/{ip}
- Índice de datos para código de país: countryCode
- Índice de datos para código de región: region
IPInfoDB - Info: http://www.ipinfodb.com/ip_location_api_json.php
- URL del Servicio: http://api.ipinfodb.com/v3/ip-country/?key=«clave_api»&ip={ip}&format=json
NOTA: Reemplace «clave_api» con la clave de API proporcionada por el servicio
- Índice de datos para código de país: countryCode
- Índice de datos para código de región: N/A
ipinfo.io - Info: http://ipinfo.io/
- URL del Servicio: https://api.bigdatacloud.net/data/ip-geolocation?ip={ip}&localityLanguage=en&key=«api_key»
- Índice de datos para código de país: country
- Índice de datos para código de región: N/A
BigDataCloud - Info: https://www.bigdatacloud.com/
- URL del Servicio: http://api.ipinfodb.com/v3/ip-country/?key=«clave_api»&ip={ip}&format=json
NOTA: Reemplace «clave_api» con la clave de API proporcionada por el servicio
- Índice de datos para código de país: country.isoAlpha2
- Índice de datos para código de región: location.isoPrincipalSubdivisionCode
Para aquellos casos cuando tu servicio de GeoIP incorrectamente identifica el país para cierta IP, aquí puede especificar la correcta relación entre ellos..
• Una entrada por línea.
• Cada entrada debe estar en el siguiente formato [DIRECCIÓN IP]/[CÓDIGO DE PAÍS] o [DIRECCIÓN IP]/[CÓDIGO DE PAÍS]-[CÓDIGO DE REGIÓN]
Ejemplos:
- Sin código de región: 193.144.127.85/ES
- Con código de región: 193.144.127.85/ES-VC