Se ha publicado un versión de pruebas en Heroku, sin embargo, debido a las limitaciones del servicio gratuito sólo se cuenta con los datos de algunos estados.
- Ciudad de México
- México
- Nuevo León
https://codigos-postales-mx.herokuapp.com/api/codigos-postales?filtros[campos]=estado
/api/codigos-postales
/api/codigos-postales/:cp
/api/codigos-postales/estados/:estado
/api/codigos-postales/:estado/municipios/:municipio
/api/codigos-postales/:estado/municipios/:municipio/ciudades/:ciudad
:cp
número de código postal (5 dígitos):estado
nombre del estado:municipio
nombre del municipio:ciudad
nombre de la ciudad
Permite seleccionar solo algunos campos, al estar presente se aplicará también un GROUP BY de los campos.
?filtros[campos]=nombre&filtros[campos]=nombre
Si quisieras obtener todos los datos dependiendo del estado, municipio y ciudad.
/api/codigos-postales/estados/Baja%20California%20Sur/municipios/Comondu/ciudades/Ciudad%20Constitucion
[
{
"codigo_postal": "23600",
"estado": "Baja California Sur",
"municipio": "Comondú",
"ciudad": "Ciudad Constitución",
"asentamiento": "Zona Centro",
"tipo_asentamiento": "Colonia"
},
]
Si quisieras obtener la lista de estados del país
/api/codigos-postales?filtros[campos]=estado
[
{
"estado": "Aguascalientes"
},
{
"estado": "Baja California"
},
]
Si quisieras obtener la lista de municipios de un estado
/api/codigos-postales/estados/Aguascalientes?filtros[campos]=estado&filtros[campos]=municipio
[
{
"estado": "Aguascalientes",
"municipio": "Aguascalientes"
},
{
"estado": "Aguascalientes",
"municipio": "Asientos"
},
]
create table codigos_postales
(
id int auto_increment
primary key,
codigo_postal varchar(5) not null,
estado varchar(35) not null,
municipio varchar(50) not null,
ciudad varchar(50) not null,
asentamiento varchar(80) not null,
tipo_asentamiento varchar(25) not null
);
create index codigos_codigo_index
on codigos_postales (codigo_postal);
- Validaciones y codigos de error.
Son bienvenidas todas las ideas y mejoras que puedas aportar.
GNU General Public License v3.0