Documentación de API - Códigos Postales

Endpoint: https://apis.fonsecantero.com/codigos_postales

Autenticación

Para acceder a los recursos de la API, debes incluir el encabezado de autorización Authkey en tus solicitudes.

Buscar por Código Postal

Para buscar por código postal, realiza una solicitud GET con el parámetro codigo.

GET /codigos_postales/?codigo=CODIGO_POSTAL

Buscar por Asentamiento y Municipio

Para buscar por asentamiento y municipio, realiza una solicitud GET con los parámetros colonia y municipio.

GET /codigos_postales/?colonia=ASENTAMIENTO&municipio=MUNICIPIO

Buscar por Asentamiento

Para buscar por asentamiento, realiza una solicitud GET con el parámetro colonia.

GET /codigos_postales/?colonia=ASENTAMIENTO

Ejemplos de Uso

CURL

curl -H "Authkey: TU_TOKEN" https://apis.fonsecantero.com/codigos_postales/?codigo=CODIGO_POSTAL

PHP

<?php
$token = "TU_TOKEN";
$codigoPostal = "CODIGO_POSTAL";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://apis.fonsecantero.com/codigos_postales/?codigo=$codigoPostal");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Authkey: $token"]);

$response = curl_exec($ch);
curl_close($ch);

echo $response;
?>

JavaScript (Fetch API)

// Función para realizar la autenticación OAuth y obtener el token de acceso
async function obtenerTokenDeAcceso() {
    try {
        // Realiza una solicitud al servidor para iniciar el proceso de autenticación
        const respuestaAutenticacion = await fetch('https://tuservidor.com/autenticar', {
            method: 'POST',
            // Puedes incluir cualquier información adicional necesaria para la autenticación en el cuerpo de la solicitud
            body: JSON.stringify({ usuario: 'usuario', contraseña: 'contraseña' }),
            headers: {
                'Content-Type': 'application/json'
            }
        });

        if (!respuestaAutenticacion.ok) {
            throw new Error('Error al autenticar');
        }

        // Extrae el token de acceso de la respuesta del servidor
        const { token } = await respuestaAutenticacion.json();

        // Devuelve el token de acceso
        return token;
    } catch (error) {
        console.error('Error al obtener el token de acceso:', error);
        throw error;
    }
}

// Función para realizar una solicitud a la API utilizando el token de acceso
async function realizarSolicitudAPI(token) {
    try {
        // Realiza una solicitud a la API utilizando el token de acceso
        const codigoPostal = "CODIGO_POSTAL";
        const respuestaAPI = await fetch(`https://apis.fonsecantero.com/codigos_postales/?codigo=${codigoPostal}`, {
            method: 'GET',
            headers: {
                'Authorization': `Bearer ${token}`
            }
        });

        if (!respuestaAPI.ok) {
            throw new Error('Error al realizar la solicitud a la API');
        }

        // Procesa la respuesta de la API
        const datos = await respuestaAPI.json();
        console.log('Datos de la API:', datos);
    } catch (error) {
        console.error('Error al realizar la solicitud a la API:', error);
    }
}

// Función principal para realizar la autenticación y la solicitud a la API
async function main() {
    try {
        // Obtiene el token de acceso
        const token = await obtenerTokenDeAcceso();

        // Utiliza el token de acceso para realizar una solicitud a la API
        await realizarSolicitudAPI(token);
    } catch (error) {
        console.error('Error en la función principal:', error);
    }
}

// Llama a la función principal para iniciar el proceso
main();

Node.js

const axios = require('axios');
const jwt = require('jsonwebtoken');

// Función para realizar la autenticación OAuth y obtener el token de acceso
async function obtenerTokenDeAcceso() {
    try {
        // Realiza una solicitud al servidor para iniciar el proceso de autenticación
        const respuestaAutenticacion = await axios.post('https://tuservidor.com/autenticar', {
            usuario: 'usuario',
            contraseña: 'contraseña'
        });

        // Extrae el token de acceso de la respuesta del servidor
        const { token } = respuestaAutenticacion.data;

        // Devuelve el token de acceso
        return token;
    } catch (error) {
        console.error('Error al obtener el token de acceso:', error.message);
        throw error;
    }
}

// Función para realizar una solicitud a la API utilizando el token de acceso
async function realizarSolicitudAPI(token) {
    try {
        // Realiza una solicitud a la API utilizando el token de acceso
        const codigoPostal = "CODIGO_POSTAL";
        const respuestaAPI = await axios.get(`https://apis.fonsecantero.com/codigos_postales/?codigo=${codigoPostal}`, {
            headers: {
                'Authorization': `Bearer ${token}`
            }
        });

        // Procesa la respuesta de la API
        console.log('Datos de la API:', respuestaAPI.data);
    } catch (error) {
        console.error('Error al realizar la solicitud a la API:', error.message);
    }
}

// Función principal para realizar la autenticación y la solicitud a la API
async function main() {
    try {
        // Obtiene el token de acceso
        const token = await obtenerTokenDeAcceso();

        // Utiliza el token de acceso para realizar una solicitud a la API
        await realizarSolicitudAPI(token);
    } catch (error) {
        console.error('Error en la función principal:', error.message);
    }
}

// Llama a la función principal para iniciar el proceso
main();

React

import React, { useState, useEffect } from 'react';

function App() {
  // Estado para almacenar el token de acceso
  const [token, setToken] = useState('');

  // Efecto para realizar la autenticación y obtener el token de acceso
  useEffect(() => {
    const autenticarUsuario = async () => {
      try {
        // Realiza una solicitud al servidor para iniciar el proceso de autenticación
        const respuestaAutenticacion = await fetch('https://tuservidor.com/autenticar', {
          method: 'POST',
          headers: {
            'Content-Type': 'application/json'
          },
          body: JSON.stringify({ usuario: 'usuario', contraseña: 'contraseña' })
        });

        if (!respuestaAutenticacion.ok) {
          throw new Error('Error al autenticar');
        }

        // Extrae el token de acceso de la respuesta del servidor
        const { token } = await respuestaAutenticacion.json();

        // Almacena el token de acceso en el estado
        setToken(token);
      } catch (error) {
        console.error('Error al obtener el token de acceso:', error.message);
      }
    };

    // Llama a la función para autenticar al usuario cuando el componente se monta
    autenticarUsuario();
  }, []);

  // Efecto para realizar la solicitud a la API una vez que se obtiene el token de acceso
  useEffect(() => {
    const obtenerDatosAPI = async () => {
      try {
        // Realiza una solicitud a la API utilizando el token de acceso
        const codigoPostal = "CODIGO_POSTAL";
        const respuestaAPI = await fetch(`https://apis.fonsecantero.com/codigos_postales/?codigo=${codigoPostal}`, {
          headers: {
            'Authorization': `Bearer ${token}`
          }
        });

        if (!respuestaAPI.ok) {
          throw new Error('Error al realizar la solicitud a la API');
        }

        // Procesa la respuesta de la API
        const datos = await respuestaAPI.json();
        console.log('Datos de la API:', datos);
      } catch (error) {
        console.error('Error al realizar la solicitud a la API:', error.message);
      }
    };

    // Llama a la función para obtener datos de la API cuando se obtiene el token de acceso
    if (token) {
      obtenerDatosAPI();
    }
  }, [token]);

  return ();
}

export default App;

Resultados

JSON

[
    {
        "Codigo": "44250",
        "Asentamiento": "Huentitán El Bajo",
        "TipoAsentamiento": "Colonia",
        "Municipio": "Guadalajara",
        "Estado": "Jalisco",
        "Ciudad": "Guadalajara"
    },
    {
        "Codigo": "44250",
        "Asentamiento": "Lomas del Paraíso 1a. Sección",
        "TipoAsentamiento": "Colonia",
        "Municipio": "Guadalajara",
        "Estado": "Jalisco",
        "Ciudad": "Guadalajara"
    },
    {
        "Codigo": "44250",
        "Asentamiento": "Lomas del Paraíso 3a. Sección",
        "TipoAsentamiento": "Colonia",
        "Municipio": "Guadalajara",
        "Estado": "Jalisco",
        "Ciudad": "Guadalajara"
    },
    {
        "Codigo": "44250",
        "Asentamiento": "Lomas del Paraíso 4a. Sección",
        "TipoAsentamiento": "Colonia",
        "Municipio": "Guadalajara",
        "Estado": "Jalisco",
        "Ciudad": "Guadalajara"
    },
    {
        "Codigo": "44250",
        "Asentamiento": "Balcones de Huentitán",
        "TipoAsentamiento": "Colonia",
        "Municipio": "Guadalajara",
        "Estado": "Jalisco",
        "Ciudad": "Guadalajara"
    },
    {
        "Codigo": "44250",
        "Asentamiento": "Praderas del Paraíso (Rinconadas del Paraíso)",
        "TipoAsentamiento": "Fraccionamiento",
        "Municipio": "Guadalajara",
        "Estado": "Jalisco",
        "Ciudad": "Guadalajara"
    },
    {
        "Codigo": "44250",
        "Asentamiento": "Lomas del Paraíso 2a. Sección",
        "TipoAsentamiento": "Colonia",
        "Municipio": "Guadalajara",
        "Estado": "Jalisco",
        "Ciudad": "Guadalajara"
    },
    {
        "Codigo": "44250",
        "Asentamiento": "Lomas del Paraíso 5a. Sección",
        "TipoAsentamiento": "Colonia",
        "Municipio": "Guadalajara",
        "Estado": "Jalisco",
        "Ciudad": "Guadalajara"
    }
]