# 🌐 Servicios Web

#### Entornos 

La API de Clima Local está disponible en los siguientes entornos:

<div class="_tableContainer_16hzy_1" id="bkmrk-ambiente-url-pruebas"><div class="_tableWrapper_16hzy_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="608" data-start="220"><thead data-end="304" data-start="220"><tr data-end="304" data-start="220"><th data-col-size="sm" data-end="233" data-start="220">**Ambiente**</th><th data-col-size="md" data-end="304" data-start="233">**URL**</th></tr></thead><tbody data-end="608" data-start="390"><tr data-end="523" data-start="390"><td data-col-size="sm" data-end="407" data-start="390">**Pruebas**</td><td data-col-size="md" data-end="523" data-start="407">[https://test-aplicaciones.tamaulipas.gob.mx/srv-clima/](https://test-aplicaciones.tamaulipas.gob.mx/srv-clima/)</td></tr><tr data-end="608" data-start="524"><td data-col-size="sm" data-end="541" data-start="524">**Producción**</td><td data-col-size="md" data-end="608" data-start="541">*No disponible actualmente*</td></tr></tbody></table>

</div></div>##### Endpoints de la API

Todos los endpoints están disponibles bajo el prefijo:  
**`/api/v1/`**

##### Enpoints disponibles

<div class="_tableContainer_16hzy_1" id="bkmrk-m%C3%A9todo-endpoint-desc"><div class="_tableWrapper_16hzy_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="1302" data-start="948" style="width: 89.1667%; height: 135.984px;"><thead data-end="1026" data-start="948"><tr data-end="1026" data-start="948" style="height: 29.7969px;"><th data-col-size="sm" data-end="957" data-start="948" style="width: 12.202%; height: 29.7969px;">**Método**</th><th data-col-size="sm" data-end="987" data-start="957" style="width: 37.8682%; height: 29.7969px;">**Endpoint**</th><th data-col-size="md" data-end="1026" data-start="987" style="width: 49.9299%; height: 29.7969px;">**Descripción**</th></tr></thead><tbody data-end="1302" data-start="1106"><tr data-end="1202" data-start="1106" style="height: 29.7969px;"><td data-col-size="sm" data-end="1115" data-start="1106" style="width: 12.202%; height: 29.7969px;">GET</td><td data-col-size="sm" data-end="1145" data-start="1115" style="width: 37.8682%; height: 29.7969px;">`/api/v1/clima-actual`</td><td data-col-size="md" data-end="1202" data-start="1145" style="width: 49.9299%; height: 29.7969px;">Consulta el clima actual por coordenadas geográficas.</td></tr><tr data-end="1302" data-start="1203" style="height: 46.5938px;"><td data-col-size="sm" data-end="1212" data-start="1203" style="width: 12.202%; height: 46.5938px;">GET</td><td data-col-size="sm" data-end="1242" data-start="1212" style="width: 37.8682%; height: 46.5938px;">`/api/v1/clima-pronostico`</td><td data-col-size="md" data-end="1302" data-start="1242" style="width: 49.9299%; height: 46.5938px;">Consulta el pronóstico del clima para los próximos días.</td></tr><tr style="height: 29.7969px;"><td style="width: 12.202%; height: 29.7969px;">GET</td><td style="width: 37.8682%; height: 29.7969px;">`/api/v1/clima-pronostico/municipios`</td><td style="width: 49.9299%; height: 29.7969px;">Consulta el pronóstico del clima para los próximos días por municipios.</td></tr></tbody></table>

</div></div>---

<div class="overflow-y-auto p-4" dir="ltr" id="bkmrk--1">  
</div>### **📡 `GET /api/v1/clima-actual`**

##### **Descripción**

Consulta el clima actual en función de las coordenadas geográficas proporcionadas. Utiliza los datos más recientes disponibles en la base de datos local.

##### **Parámetros esperados (query string)**

<div class="_tableContainer_16hzy_1" id="bkmrk-par%C3%A1metro-tipo-reque"><div class="_tableWrapper_16hzy_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="786" data-start="491"><thead data-end="564" data-start="491"><tr data-end="564" data-start="491"><th data-col-size="sm" data-end="505" data-start="491">**Parámetro**</th><th data-col-size="sm" data-end="514" data-start="505">**Tipo**</th><th data-col-size="sm" data-end="526" data-start="514">**Requerido**</th><th data-col-size="sm" data-end="564" data-start="526">**Descripción**</th></tr></thead><tbody data-end="786" data-start="639"><tr data-end="712" data-start="639"><td data-col-size="sm" data-end="653" data-start="639">`latitud`</td><td data-col-size="sm" data-end="662" data-start="653">float</td><td data-col-size="sm" data-end="674" data-start="662">Sí</td><td data-col-size="sm" data-end="712" data-start="674">Latitud en formato decimal.</td></tr><tr data-end="786" data-start="713"><td data-col-size="sm" data-end="727" data-start="713">`longitud`</td><td data-col-size="sm" data-end="736" data-start="727">float</td><td data-col-size="sm" data-end="748" data-start="736">Sí</td><td data-col-size="sm" data-end="786" data-start="748">Longitud en formato decimal.</td></tr></tbody></table>

</div></div>##### **Ejemplo de petición**

<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary" id="bkmrk-get-%2Fapi%2Fv1%2Fclima-ac"><div class="overflow-y-auto p-4" dir="ltr">`GET /api/v1/clima-actual?latitud=23.731100&longitud=-99.151300`</div></div>##### **Ejemplo de respuesta exitosa (`200 OK`)**<button class="flex items-center gap-1 py-1 select-none"></button>

```json
{
  "error": false,
  "status": 200,
  "message": "Clima actual obtenido correctamente.",
  "data": {
    "id_estado": 28,
    "id_municipio": 41,
    "nombre_estado": "Tamaulipas",
    "nombre_municipio": "Victoria",
    "dia_local": "2025-06-24 00:00:00",
    "numero_dia": 0,
    "temperatura_maxima_c": "31.70",
    "temperatura_minima_c": "18.90",
    "descripcion_cielo": "Poco nuboso",
    "probabilidad_precipitacion_porcentaje": 50,
    "precipitacion_litros_m2": "14.70",
    "velocidad_viento_kmh": "10.60",
    "direccion_viento_cardinal": "Sureste",
    "direccion_viento_grados": "135.00",
    "cobertura_nubes_porcentaje": "7.75",
    "latitud": "23.731100",
    "longitud": "-99.151300",
    "diferencia_utc": 6
  },
  "metadata": {
    "Organization": "Agencia de Innovación e Inteligencia Digital de Tamaulipas",
    "Department": "Departamento de Desarrollo de Soluciones Informáticas"
  }
}
```

---


### **🌦️ `GET /api/v1/clima-pronostico`**

##### **Descripción**

Devuelve el pronóstico del clima para los próximos días en la ubicación indicada. La información se obtiene de registros meteorológicos precargados en una base de datos local.

##### **Parámetros esperados (query string)**

<div class="_tableContainer_16hzy_1" id="bkmrk-par%C3%A1metro-tipo-reque-1"><div class="_tableWrapper_16hzy_14 group flex w-fit flex-col-reverse" tabindex="-1"><table class="w-fit min-w-(--thread-content-width)" data-end="1737" data-start="1442"><thead data-end="1515" data-start="1442"><tr data-end="1515" data-start="1442"><th data-col-size="sm" data-end="1456" data-start="1442">**Parámetro**</th><th data-col-size="sm" data-end="1465" data-start="1456">**Tipo**</th><th data-col-size="sm" data-end="1477" data-start="1465">**Requerido**</th><th data-col-size="sm" data-end="1515" data-start="1477">**Descripción**</th></tr></thead><tbody data-end="1737" data-start="1590"><tr data-end="1663" data-start="1590"><td data-col-size="sm" data-end="1604" data-start="1590">`latitud`</td><td data-col-size="sm" data-end="1613" data-start="1604">float</td><td data-col-size="sm" data-end="1625" data-start="1613">Sí</td><td data-col-size="sm" data-end="1663" data-start="1625">Latitud en formato decimal.</td></tr><tr data-end="1737" data-start="1664"><td data-col-size="sm" data-end="1678" data-start="1664">`longitud`</td><td data-col-size="sm" data-end="1687" data-start="1678">float</td><td data-col-size="sm" data-end="1699" data-start="1687">Sí</td><td data-col-size="sm" data-end="1737" data-start="1699">Longitud en formato decimal.</td></tr></tbody></table>

</div></div>##### **Ejemplo de petición**

<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary" id="bkmrk-get-%2Fapi%2Fv1%2Fclima-pr"><div class="overflow-y-auto p-4" dir="ltr">`GET /api/v1/clima-pronostico?latitud=23.731100&longitud=-99.151300`</div></div><div class="overflow-y-auto p-4" dir="ltr" id="bkmrk--3"></div>##### **Ejemplo de respuesta exitosa (`200 OK`)**

```json
{
  "error": false,
  "status": 200,
  "message": "Clima obtenido correctamente.",
  "data": [
    {
      "id_estado": 28,
      "id_municipio": 41,
      "nombre_estado": "Tamaulipas",
      "nombre_municipio": "Victoria",
      "dia_local": "2025-06-24 00:00:00",
      "numero_dia": 0,
      "temperatura_maxima_c": "31.70",
      "temperatura_minima_c": "18.90",
      "descripcion_cielo": "Poco nuboso",
      "probabilidad_precipitacion_porcentaje": 50,
      "precipitacion_litros_m2": "14.70",
      "velocidad_viento_kmh": "10.60",
      "direccion_viento_cardinal": "Sureste",
      "direccion_viento_grados": "135.00",
      "cobertura_nubes_porcentaje": "7.75",
      "latitud": "23.731100",
      "longitud": "-99.151300",
      "diferencia_utc": 6
    },
    {
      "id_estado": 28,
      "id_municipio": 41,
      "nombre_estado": "Tamaulipas",
      "nombre_municipio": "Victoria",
      "dia_local": "2025-06-25 00:00:00",
      "numero_dia": 1,
      "temperatura_maxima_c": "31.60",
      "temperatura_minima_c": "19.30",
      "descripcion_cielo": "Medio nublado",
      "probabilidad_precipitacion_porcentaje": 0,
      "precipitacion_litros_m2": "0.90",
      "velocidad_viento_kmh": "11.60",
      "direccion_viento_cardinal": "Sur",
      "direccion_viento_grados": "180.00",
      "cobertura_nubes_porcentaje": "63.76",
      "latitud": "23.731100",
      "longitud": "-99.151300",
      "diferencia_utc": 6
    },
    {
      "id_estado": 28,
      "id_municipio": 41,
      "nombre_estado": "Tamaulipas",
      "nombre_municipio": "Victoria",
      "dia_local": "2025-06-26 00:00:00",
      "numero_dia": 2,
      "temperatura_maxima_c": "31.10",
      "temperatura_minima_c": "19.20",
      "descripcion_cielo": "Medio nublado",
      "probabilidad_precipitacion_porcentaje": 10,
      "precipitacion_litros_m2": "1.60",
      "velocidad_viento_kmh": "8.80",
      "direccion_viento_cardinal": "Sureste",
      "direccion_viento_grados": "135.00",
      "cobertura_nubes_porcentaje": "60.21",
      "latitud": "23.731100",
      "longitud": "-99.151300",
      "diferencia_utc": 6
    },
    {
      "id_estado": 28,
      "id_municipio": 41,
      "nombre_estado": "Tamaulipas",
      "nombre_municipio": "Victoria",
      "dia_local": "2025-06-27 00:00:00",
      "numero_dia": 3,
      "temperatura_maxima_c": "31.80",
      "temperatura_minima_c": "19.00",
      "descripcion_cielo": "Cielo nublado",
      "probabilidad_precipitacion_porcentaje": 10,
      "precipitacion_litros_m2": "1.40",
      "velocidad_viento_kmh": "9.60",
      "direccion_viento_cardinal": "Sureste",
      "direccion_viento_grados": "135.00",
      "cobertura_nubes_porcentaje": "32.28",
      "latitud": "23.731100",
      "longitud": "-99.151300",
      "diferencia_utc": 6
    }
  ],
  "metadata": {
    "Organization": "Agencia de Innovación e Inteligencia Digital de Tamaulipas",
    "Department": "Departamento de Desarrollo de Soluciones Informáticas"
  }
}
```

---

### **🏘️ `GET /api/v1/clima-pronostico/municipios`**

##### **Descripción**

Devuelve el pronóstico del clima para los próximos días de una lista de municipios específicos. La información se obtiene de registros meteorológicos precargados en una base de datos local.

##### **Parámetros esperados (query string)**

<table class="w-fit min-w-(--thread-content-width)" id="bkmrk-par%C3%A1metro-tipo-reque-2"><thead data-end="1515" data-start="1442"><tr data-end="1515" data-start="1442"><th data-col-size="sm">Parámetro</th><th data-col-size="sm">Tipo</th><th data-col-size="sm">Requerido</th><th data-col-size="sm">Descripción</th></tr></thead><tbody><tr><td data-col-size="sm">municipios</td><td data-col-size="sm">string (comma-separated) or array</td><td data-col-size="sm">Sí</td><td data-col-size="sm">Lista de IDs de municipios (e.g., 41,20).</td></tr></tbody></table>

##### **Ejemplo de petición**

`GET /api/v1/clima-pronostico/municipios?municipios=42,41`

##### **Ejemplo de respuesta exitosa (`200 OK`)**

```json
{
  "error": false,
  "status": 200,
  "message": "Clima por municipios obtenido correctamente.",
  "data": {
    "41": {
      "nombre_municipio": "Victoria",
      "nombre_estado": "Tamaulipas",
      "latitud": 23.7311,
      "longitud": -99.1513,
      "pronostico": [
        {
          "dia_local": "2025-06-24",
          "numero_dia": 0,
          "temperatura_maxima_c": 31.7,
          "temperatura_minima_c": 18.9,
          "descripcion_cielo": "Poco nuboso",
          "probabilidad_precipitacion_porcentaje": 50,
          "precipitacion_litros_m2": 14.7,
          "velocidad_viento_kmh": 10.6,
          "direccion_viento_cardinal": "Sureste",
          "direccion_viento_grados": "135.0",
          "cobertura_nubes_porcentaje": "7.75",
          "latitud": 23.7311,
          "longitud": -99.1513,
          "diferencia_utc": "6"
        }
      ]
    },
    "42": {
      "nombre_municipio": "Villagrán",
      "nombre_estado": "Tamaulipas",
      "latitud": 24.4732,
      "longitud": -99.4881,
      "pronostico": [
        {
          "dia_local": "2025-06-24",
          "numero_dia": 0,
          "temperatura_maxima_c": 34.3,
          "temperatura_minima_c": 19.9,
          "descripcion_cielo": "Despejado",
          "probabilidad_precipitacion_porcentaje": 90,
          "precipitacion_litros_m2": 6.4,
          "velocidad_viento_kmh": 14.2,
          "direccion_viento_cardinal": "Sureste",
          "direccion_viento_grados": "135.0",
          "cobertura_nubes_porcentaje": "5.61",
          "latitud": 24.4732,
          "longitud": -99.4881,
          "diferencia_utc": "6"
        }
      ]
    }
  },
  "metadata": {
    "Organization": "Agencia de Innovación e Inteligencia Digital de Tamaulipas",
    "Department": "Departamento de Desarrollo de Soluciones Informáticas"
  }
}
```