viernes, 16 de septiembre de 2016

Data Quality Microservices en SAP HCP

SAP Data Quality as a Service (DQaaS)

SAP ofrece, en fase BETA, un servicio de gestión de calidad de datos centrado, en este caso, en direcciones físicas y geolocalización (Más datos, y como activarlo, en New HCP Service (Beta) - SAP Data Quality Management, microservices for location data)

Como usarlo

Una vez activado, lo que tenemos son dos servicios REST en las siguientes URLs:

Gestión de direcciones y obtención de coordenadas

https://dqaasu23133c2f-<consumeraccount>.hanatrial.ondemand.com/dq/addressCleanse
(Detalles en: Address Cleanse)

Ejemplo de una llamada solicitando la revisión de una dirección (algunos datos se sustituyen por XXX por motivos de privacidad) :
{
  "addressInput": {
    "mixed": "Avenida Europa, XX X - 2 Planta",
    "locality": "Madrid",
    "postcode": "",
    "country": "ES"
  },
  "outputFields": [
    "std_addr_address_delivery",
    "std_addr_address_dual",
    "std_addr_locality_full",
    "std_addr_region_full",
    "std_addr_postcode_full",
    "std_addr_country_name",
    "std_addr_country_2char",
    "addr_info_code"
  ],
  "addressSettings": {
    "casing": "mixed",
    "diacritics": "include",
    "scriptConversion": "none",
    "streetFormat": "countryCommonStyle",
    "postalFormat": "countryCommonStyle",
    "regionFormat": "countryCommonStyle"
  }
}
Que daría la siguiente respuesta:
{
     "std_addr_region_full": "Madrid",
     "addr_info_code": "",
     "std_addr_country_name": "España",
     "std_addr_address_delivery": "avenida Europa,
  XX - Planta 2 - X",
     "std_addr_postcode_full": "28023",
     "std_addr_address_dual": "",
     "std_addr_locality_full": "Madrid",
     "std_addr_country_2char": "ES"
}
El servicio permite también obtener las coordenadas geográficas de una dirección:
Llamada (algunos datos se sustituyen por XXX por motivos de privacidad):
{
  "addressInput": {
    "mixed": "Avenida Europa, XX X - 2 Planta",
    "locality": "Madrid",
    "postcode": "",
    "country": "ES"
  },
  "outputFields": [
    "std_addr_address_delivery",
    "std_addr_address_dual",
    "std_addr_locality_full",
    "std_addr_region_full",
    "std_addr_postcode_full",
    "std_addr_country_name",
    "std_addr_country_2char",
    "addr_info_code",
    "addr_latitude",
    "addr_longitude",
    "geo_asmt_level",
    "geo_info_code",
    "geo_info_code_msg"
  ],
  "addressSettings": {
    "casing": "mixed",
    "diacritics": "include",
    "scriptConversion": "none",
    "streetFormat": "countryCommonStyle",
    "postalFormat": "countryCommonStyle",
    "regionFormat": "countryCommonStyle"
  }
}

Respuesta:
{
     "geo_info_code": "",
     "std_addr_address_dual": "",
     "std_addr_postcode_full": "28023",
     "addr_longitude": -3.7865980000000001,
     "std_addr_country_2char": "ES",
     "std_addr_region_full": "Madrid",
     "addr_info_code": "",
     "std_addr_country_name": "España",
     "std_addr_address_delivery": "avenida Europa,
  XX - Planta 2 - X",
     "geo_info_code_msg": "",
     "geo_asmt_level": "PRE",
     "std_addr_locality_full": "Madrid",
     "addr_latitude": 40.445582000000002
}

Geolocalización

https://dqaasu23133c2f-<consumeraccount>.hanatrial.ondemand.com/dq/reverseGeo
(Detalles en: Reverse Geocoding)

Ejemplo de una llamada solicitando las posibles direcciones de unas coordenadas geográficas:
{
  "geoInput": {
    "latitude":  40.445582000000002,
    "longitude":  -3.7865980000000001
  },
  "outputFields": [
    "geo_info_code",
    "geo_info_code_msg",
    "geo_search_results_count",
    "geo_search_results"
   ],
  "geoSettings": {
    "radius": 0.5,
    "distanceUnit": "kilometers",
    "maxRecords": 3
  }
}

Respuesta:
{
     "geo_search_results": [
      {
             "search_geo_locality2": "",
             "search_geo_postcode_full": "28023",
             "search_geo_addr_latitude": 40.445582,
             "search_geo_distance": 0.0000,
             "search_geo_locality": "MADRID",
             "search_geo_poi_name": "CELMART",
             "search_geo_group_master": "",
             "search_geo_country_2char": "ES",
             "search_geo_address_delivery": "AVENIDA DE EUROPA 34",
             "search_geo_side_of_street": "L",
             "search_geo_poi_type": "7315,
            044",
             "search_geo_asmt_level": "PRE",
             "search_geo_region": "",
             "search_geo_group_id": null,
             "search_geo_population_class": "1",
             "search_geo_addr_longitude": -3.786598
        },
      {
             "search_geo_locality2": "",
             "search_geo_addr_latitude": 40.445593,
             "search_geo_postcode_full": "28023",
             "search_geo_distance": 0.0012,
             "search_geo_locality": "MADRID",
             "search_geo_poi_name": "",
             "search_geo_group_master": "",
             "search_geo_country_2char": "ES",
             "search_geo_address_delivery": "AVENIDA DE EUROPA",
             "search_geo_poi_type": "",
             "search_geo_side_of_street": "L",
             "search_geo_asmt_level": "PRI",
             "search_geo_region": "",
             "search_geo_group_id": null,
             "search_geo_population_class": "1",
             "search_geo_addr_longitude": -3.786598
        },
      {
             "search_geo_locality2": "",
             "search_geo_addr_latitude": 40.445473,
             "search_geo_postcode_full": "28023",
             "search_geo_distance": 0.0121,
             "search_geo_locality": "MADRID",
             "search_geo_poi_name": "",
             "search_geo_group_master": "",
             "search_geo_country_2char": "ES",
             "search_geo_address_delivery": "AVENIDA DE EUROPA 27",
             "search_geo_poi_type": "",
             "search_geo_side_of_street": "R",
             "search_geo_asmt_level": "PRI",
             "search_geo_region": "",
             "search_geo_group_id": null,
             "search_geo_population_class": "1",
             "search_geo_addr_longitude": -3.786593
        }
    ],
     "geo_info_code": "",
     "geo_info_code_msg": "",
     "geo_search_results_count": 3
}

Este servicio no dispone, por ahora, de ningún tipo de información o control sobre cuotas de uso, seguridad, usuarios, rendimiento, etc... Pero podemos añadírselo usando el servicio SAP API Management (del lo que hablo justo AQUI).

No hay comentarios:

Publicar un comentario